您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/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.显示全部学生能毕业的人数。0.退出系统。(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()流程图CREDIT111YNdisplayMe…choice=1n=input(s…break;choice=2browseall…break;choice=3n=add(s,n);break;choice=4browsestu…break;choice=5browsecla…break;choice=6amend(s,n);break;choice=7n=Delete(…break;choice=8graduatio…break;YYYYYYYYNNNNNNNNclrscr();choice=0NYclrscr();start(passw…(OK!);(Inval…(ByeBy…endinput()流程图add()流程图inti,a;clrscr();n=a,i=0;iaHowmanystu…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Alltheinfo…returnn;YNi=i+1;inti,a;clrscr();i=n;ia+nHowmanystu…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Theinforma…returnn;YNn=a+n;i=i+1;browseall()流程图browsestudent()流程图browseclass()流程图inti;clrscr();i=0;in\nclass_num…NY\n%s\t%s\t%s…i=i+1;inti;chara[10];clrscr();Pleaseinpu…\nclass_numb…i=0;inNYstrcmp(sY\n%s\t%s\t%…Ni=i+1;inti;chara[10];clrscr();Pleaseinpu…\nclass_numb…i=0;inNYstrcmp(sY\n%s\t%s\t%…Ni=i+1;amend()流程图Delete()流程图inti;chara[10],b;clrscr();Pleaseinpu…i=0;inNYstrcmp(sY\nAreyousu…Ni=i+1;y||YYPleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…Pleaseinput…break;\nFinish!P…i==n\nDon'thave…NYNInti,j,k;clrscr();Enterthes…k=n;i=0;inNYstrcmp(sY\nDoyouwa…Ni=i+1;y||YNchara,delstudent;\nclass_num…\n%s\t%s\t%s…Yj=i+1;jnYNs[j-1]=s[j];n=n-1;\nFinish!P…returnn;i==k\nDon'thave…YNgraduation()流程图inti,a=0;clrscr();i=0;inNYs[i].b…Ys[i].s…Ys[i].o…Ys[i].h…Ys[i].e…Ya=a+1;NNNNN\nThereare…11\nclass_numb…i=0;inNYs[i].b…Ys[i].s…Ys[i].o…Ys[i].h…Ys[i].e…Yi=i+1;NNNNN\n%s\t%s\t%…i=i+1;(3)各模块中,变量的名称以及用途charclass_number[30]学生所在班级charnumber[100]学生的学号charname[100]学生的姓名intbasic_course_credit基础课学分intspecialized_course_credit专业课学分intoptional_course_credit选修课学分inthumanities_courses人文类课程学分intexperimental_course实验性课程学分(4)选用的测试数据及测试结果1.输入密码111进入程序2.输入两个学生的学分信息3.输出这两个学生的学分信息4.添加两个学生的学分信息5.显示所有学生的学分信息6.给定学号11055102,输出该学生的学分信息7.给定班号110511,输出该班所有学生的学分信息8.修改学生11051102的number为11051103,name为eee9.显示修改后所有学生的学分信息10.删除学生11051103的学分信息11.显示删除后所有学生的学分信息12.显示所有学生能毕业的学生数量13.退出(5)程序的源代码清单#includestdio.h#includestdlib.h#defineNUM100typedefstructCREDIT{/*学生学分信息的结构类型*/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:bro
本文标题:C语言——学分管理程序
链接地址:https://www.777doc.com/doc-7305622 .html