C语言学分管理程序.docx

上传人:b****6 文档编号:9017444 上传时间:2023-02-02 格式:DOCX 页数:33 大小:841.96KB
下载 相关 举报
C语言学分管理程序.docx_第1页
第1页 / 共33页
C语言学分管理程序.docx_第2页
第2页 / 共33页
C语言学分管理程序.docx_第3页
第3页 / 共33页
C语言学分管理程序.docx_第4页
第4页 / 共33页
C语言学分管理程序.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言学分管理程序.docx

《C语言学分管理程序.docx》由会员分享,可在线阅读,更多相关《C语言学分管理程序.docx(33页珍藏版)》请在冰豆网上搜索。

C语言学分管理程序.docx

C语言学分管理程序

 

C语言——学分管理程序

 

学分管理程序

 

学号:

______11055109___________

姓名:

_______鲁文轩____________

 

完成日期:

2012年5月

 

【题目描述的内容】

请设计一个学生的学分管理程序。

假设每位学生必须完成基础课50学分、专业课50学分、选修课24学分、人文类课程8学分、实验性课程20学分才能够毕业。

因此在管理学分时,要考虑每个学分所属于的课程类别。

该程序应该具有下列功能:

(1)录入全部学生的学分信息;

(2)显示全部学生的学分信息;

(3)添加某位学生的学分;

(4)给定学号,显示某位学生的学分完成情况;

(5)给定某个班级的班号,显示该班所有学生学分完成情况;

(6)给定某位学生的学号,修改该学生的学分信息,要求有修改确认;

(7)给定某位学生的学号,删除该学生的学分信息,要求有删除确认;

(8)提供一些统计各类信息的功能(如按照某类课程的学分高低进行排序、某类课程的平均学分、最高学分、最低学分,能够毕业的学生人数等)。

【题目要求】

(1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;

(2)学分信息应该包括学号、姓名、课程类别、学分等;

(3)为各项操作功能设计一个菜单。

应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

【输入要求】

应用程序运行后,在屏幕上显示一个菜单。

用户可以根据需求,选定相应的操作项目。

进入每个操作后(若需要,还可显示子菜单),根据应用程序的提示信息,从键盘输入相应的信息。

要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

【输出要求】

(1)应用程序运行后,要在屏幕上显示一个菜单;

(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

【提示】

设计一个结构类型(含学生的学号、姓名、课程类别、学分等)和一个该结构类型的一维数组(存放若干学生的学分信息)。

【用户文档的内容】

(1)应用程序功能的详细说明

1.录入全部学生的学分信息。

2.显示全部学生的学分信息。

3.添加某位学生的学分。

4.给定学号,显示某位学生的学分完成情况。

5.给定某个班级的班号,显示该班所有学生学分完成情况。

6.给定某位学生的学号,修改该学生的学分信息,要求有修改确认。

7.给定某位学生的学号,删除该学生的学分信息,要求有删除确认。

8.显示全部学生能毕业的人数。

1.退出系统。

(2)应用程序运行环境的要求

WINDOWS95/97/98/2000/XPVistaTurboC++3.0TurboC2.0WinTC

(3)应用程序的安装与启动方法

双击c.EXE或打开c.c文件后按Ctrl+F9

(4)程序的界面、交互方式和操作方法

(5)输入数据类型、格式和内容限制

charclass_number[30];

charnumber[100];

charname[100];

intbasic_course_credit;

intspecialized_course_credit;

intoptional_course_credit;

inthumanities_courses;

intexperimental_course;

 

(6)应用程序运行中,用户需要使用的交互命令名称、功能和格式的详细解决和示例

进入程序需要密码(111)

输入1调用intinput(CREDITs[],intn)函数

 

输入2调用voidbrowseall(CREDITs[],intn)函数

 

输入3调用intadd(CREDITs[],intn)函数

 

输入4调用voidbrowsestudent(CREDITs[],intn)函数

 

输入5调用voidbrowseclass(CREDITs[],intn)函数

 

输入6调用voidamend(CREDITs[],intn)函数

 

输入7调用intDelete(CREDITs[],intn)函数

 

输入0退出

 

【技术文档的内容】

(1)程序整体结构(模块划分)以及各模块功能描述,包括函数的功能、函数名、函数的接口设计,即函数的参数和函数返回值等

voiddisplayMenu()用户界面提示语。

intinput(CREDITs[],intn)录入全部学生的学分信息,有返回值。

voidbrowseall(CREDITs[],intn)显示全部学生的学分信息,无返回值。

intadd(CREDITs[],intn)添加某位学生的学分,有返回值。

voidbrowsestudent(CREDITs[],intn)显示某位学生的学分完成情况,无返回值。

voidbrowseclass(CREDITs[],intn)显示该班所有学生学分完成情况,无返回值。

voidamend(CREDITs[],intn)给定某位学生的学号,修改该学生的学分信息,无返回值。

intDelete(CREDITs[],intn)给定某位学生的学号,删除该学生的学分信息,有返回值。

voidgraduation(CREDITs[],intn)显示全部学生能毕业的人数。

(2)各模块的主要算法(用流程图描述)和数据结构解释

main()流程图

input()流程图add()流程图

browseall()流程图browsestudent()流程图browseclass()流程图

amend()流程图Delete()流程图

 

graduation()流程图

 

(3)各模块中,变量的名称以及用途

charclass_number[30]学生所在班级

charnumber[100]学生的学号

charname[100]学生的姓名

intbasic_course_credit基础课学分

intspecialized_course_credit专业课学分

intoptional_course_credit选修课学分

inthumanities_courses人文类课程学分

intexperimental_course实验性课程学分

 

(4)选用的测试数据及测试结果

2.输入密码111进入程序

 

3.输入两个学生的学分信息

 

4.输出这两个学生的学分信息

 

5.添加两个学生的学分信息

 

6.显示所有学生的学分信息

 

7.给定学号11055102,输出该学生的学分信息

 

8.给定班号110511,输出该班所有学生的学分信息

 

9.修改学生11051102的number为11051103,name为eee

 

10.显示修改后所有学生的学分信息

 

11.删除学生11051103的学分信息

 

12.显示删除后所有学生的学分信息

 

13.显示所有学生能毕业的学生数量

 

14.退出

(5)程序的源代码清单

#include

#include

#defineNUM100

typedefstructCREDIT{/*学生学分信息的结构类型*/

charclass_number[30];/*班级*/

charnumber[100];/*学号*/

charname[100];/*姓名*/

intbasic_course_credit;/*基础课*/

intspecialized_course_credit;/*专业课*/

intoptional_course_credit;/*选修课*/

inthumanities_courses;/*人文类课程*/

intexperimental_course;/*实验性课程*/

}CREDIT;

voiddisplayMenu();

intinput(CREDITs[],intn);

voidbrowseall(CREDITs[],intn);

intadd(CREDITs[],intn);

voidbrowsestudent(CREDITs[],intn);

voidbrowseclass(CREDITs[],intn);

voidamend(CREDITs[],intn);

intDelete(CREDITs[],intn);

voidgraduation(CREDITs[],intn);

main()/*主函数*/

{

CREDITs[NUM];

intchoice;

intn=0;

charpassword[20];

printf("\nEnterpassword:

");

gets(password);

if(strcmp(password,"111")==0){

printf("\nOK!

\n");

getch();

clrscr();

do{

displayMenu();

scanf("%d",&choice);

switch(choice)

{

case1:

n=input(s,n);break;

case2:

browseall(s,n);break;

case3:

n=add(s,n);break;

case4:

browsestudent(s,n);break;

case5:

browseclass(s,n);break;

case6:

amend(s,n);break;

case7:

n=Delete(s,n);break;

case8:

graduation(s,n);break;

}

clrscr();

}while(choice!

=0);

}

else{

printf("\nInvalidpassword!

\n");}

printf("\n\nByeBye!

!

");

getch();

}

voiddisplayMenu()/*显示菜单*/

{

printf("\n===============MENU===============\n");

printf("\n1.........Inputallstudent'scredit\n");

printf("\n2.........Browseallstudent'scredit\n");

printf("\n3.........Addastudent'scredit\n");

printf("\n4.........Browseastudent'scredit\n");

printf("\n5.........Browseaclassallcredits\n");

printf("\n6.........Amendastudent'scredit\n");

printf("\n7.........Deleteastudent'scredit\n");

printf("\n8.........Browsehowmanystudentscangraduate\n");

printf("\n0.........Exit\n");

printf("\nchoice(0--8):

");

}

intinput(CREDITs[],intn)/*输入学分信息*/

{

inti,a;

clrscr();

printf("Howmanystudentsdoyouwanttoinput:

");

scanf("%d",&a);

printf("\n");

n=a;

for(i=0;i

printf("Pleaseinputthestudent'sclass_number(example:

110551):

");

scanf("%s",&s[i].class_number);

printf("Pleaseinputthestudent'snumber(example:

11055101):

");

scanf("%s",&s[i].number);

printf("Pleaseinputthestudent'sname(notmorethan15letters):

");

scanf("%s",&s[i].name);

printf("Pleaseinputthebasic_course_credit(notmorethan50):

");

scanf("%d",&s[i].basic_course_credit);

printf("Pleaseinputthespecialized_course_credit(notmorethan50):

");

scanf("%d",&s[i].specialized_course_credit);

printf("Pleaseinputtheoptional_course_credit(notmorethan24):

");

scanf("%d",&s[i].optional_course_credit);

printf("Pleaseinputthehumanities_courses(notmorethan8):

");

scanf("%d",&s[i].humanities_courses);

printf("Pleaseinputtheexperimental_course(notmorethan20):

");

scanf("%d",&s[i].experimental_course);

printf("\n");

}

printf("Alltheinformationshavebeensaved!

");

getch();

returnn;

}

voidbrowseall(CREDITs[],intn)/*浏览学生信息*/

{

inti;

clrscr();

printf("\nclass_number\tnumber\tname\tbasic_course_credit\tspecialized_course_credit\toptional_course_credit\thumanities_courses\texperimental_course\n");

for(i=0;i

printf("\n%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",s[i].class_number,s[i].number,s[i].name,s[i].basic_course_credit,s[i].specialized_course_credit,s[i].optional_course_credit,s[i].humanities_courses,s[i].experimental_course);

}

getch();

}

intadd(CREDITs[],intn)/*添加某位学生的学分*/

{

inti,a;

clrscr();

printf("Howmanystudentsdoyouwanttoadd:

");

scanf("%d",&a);

printf("\n");

for(i=n;i

printf("Pleaseinputthestudent'sclass_number(example:

110551):

");

scanf("%s",&s[i].class_number);

printf("Pleaseinputthestudent'snumber(example:

11055101):

");

scanf("%s",&s[i].number);

printf("Pleaseinputthestudent'sname(notmorethan15letters):

");

scanf("%s",&s[i].name);

printf("Pleaseinputthebasic_course_credit(notmorethan50):

");

scanf("%d",&s[i].basic_course_credit);

printf("Pleaseinputthespecialized_course_credit(notmorethan50):

");

scanf("%d",&s[i].specialized_course_credit);

printf("Pleaseinputtheoptional_course_credit(notmorethan24):

");

scanf("%d",&s[i].optional_course_credit);

printf("Pleaseinputthehumanities_courses(notmorethan8):

");

scanf("%d",&s[i].humanities_courses);

printf("Pleaseinputtheexperimental_course(notmorethan20):

");

scanf("%d",&s[i].experimental_course);

printf("\n");

}

n=n+a;

printf("Theinformationhasbeensavedsuccessfully!

\n");

getch();

returnn;

}

voidbrowsestudent(CREDITs[],intn)/*显示某位学生学分*/

{

inti;

chara[10];

clrscr();

printf("Pleaseinputthestudent'snumber:

");

scanf("%s",&a);

printf("\nclass_number\tnumber\tname\tbasic_course_credit\tspecialized_course_credit\toptional_course_credit\thumanities_courses\texperimental_course\n");

for(i=0;i

if(strcmp(s[i].number,a)==0){

printf("\n%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",s[i].class_number,s[i].number,s[i].name,s[i].basic_course_credit,s[i].specialized_course_credit,s[i].optional_course_credit,s[i].humanities_courses,s[i].experimental_course);

}}

getch();

}

voidbrowseclass(CREDITs[],intn)/*显示某班所有学生学分*/

{

inti;

chara[10];

clrscr();

printf("Pleaseinputtheclassnumber:

");

scanf("%s",&a);

printf("\nclass_number\tnumber\tname\tbasic_course_credit\tspecialized_course_credit\toptional_course_credit\thumanities_courses\texperimental_course\n");

for(i=0;i

if(strcmp(s[i].class_number,a)==0){

printf("\n%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",s[i].class_number,s[i].number,s[i].name,s[i].basic_course_credit,s[i].specialized_course_credit,s[i].optional_course_credit,s[i].humanities_courses,s[i].experimental_course);

}}

getch();

}

voidamend(CREDITs[],intn)/*修改某学生学分*/

{

inti;

chara[10];

charb;

clrscr();

printf("Pleaseinputthestudent'snumberyouwanttoamend:

");

scanf("%s",&a);

for(i=0;i

if(strcmp(s[i].number,a)==0){

printf("\nAreyousure(Y/N)\n");

b=getch();

printf("\n");

if(b=='y'||b=='Y'){

printf("Pleaseinputthestudent'sclass_number(example:

110551):

");

scanf("%s",&s[i].class_number);

printf("Pleaseinputthestudent'snumber(example:

11055101):

");

scanf("%s",&s[i].number);

printf("Pleaseinputthestudent'sname(notmorethan15letters):

");

scanf("%s",&s[i].name);

printf("Pleaseinputthebasic_course_credit(notmorethan50):

");

scanf("%d",&s[i].basic_course_credit);

printf("Pleaseinputthespecialized_course_credit(notmorethan50):

");

scanf("%d",&s[i].specialized_course_credit);

printf("Pleaseinputtheoptio

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1