您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 学生成绩管理系统设计(C#)
面向对象程序设计实训报告(题目5)学生成绩管理系统设计学院:_________________专业名称:__________________班级:____________________学号:___________________学生姓名:___________________指导老师:__________________日期:______________一、基本功能描述本课程设计要求的几个功能在程序里面都能实现,有学生信息的输入、排序、修改、删除、查询、添加、退出等。根据用户的需求来执行程序。学生信息输入负责将学生的信息存储到对应的文本文件中,对学生的信息就包括按学分排序。删除就负责对学生信息的删除。查询可通过学号或姓名查询。进入主菜单有函数main();实现。里面有七个功能供其选择。菜单一:信息录入功能,输入选项一进入该功能,根据系统提示输入相应的数据。菜单二:为学生信息查询功能,当用户选择第二个功能后可以按学号或姓名查询。菜单三:为删除学生信息功能,一般删除学生信息的时候是非常小心的,故当用户选择该功能后为了防止误删,只有按学号查找出要删除信息的同学的信息进行删除操作。菜单四:为修改学生信息功能,用户在主菜单里面可选择此功能,进入功能后,输入要修改学生的学号,然后选择提示用户要修改的项目(基本信息和成绩信息),当用户选择完毕后,直接输入新的数据即可。菜单五:为排序学生信息,该功能是对学生成绩进行排序,是按学生总分进行排序。菜单零:是退出系统,用户选择该功能后,退出系统,程序停止运行。二、设计思路设计结构简图:三、程序实现1.设计过程总体设计方案:程序描述:1.建立一个主页面2.用switch语句进行分类讨论3.分别进行录入,查询,删除,修改,求平均值等子函数4.镜子函数与主函数相连即可该程序可以建立学生的成绩记录。可以方便老师和同学方便的查阅成绩。本程序有录入和删除的功能,还可以求出平均成绩,并排序。功能结构:录入学生成绩查询成绩删除成绩求平均分按平均分排序退出主要模块描述:主程序提供一个界面,允许用户选择。使用switch语句,用时直接输入数字即可。增加函数,功能是插入学生成绩。使用一个无穷循环,直到录入”n“时结束。删除函数,功能是删除,分为两部,先找后删。找,用strcmp函数,如果找到记录i值,反之记录-1值;删除可以从i项开始将数组的后一项赋值给前一项。前一项自动被删掉,这样即完成删除。查询函数与之类似,将删除该为输出即可。求平均值函数与查询函数类似,只是输出时输出平均值而已。按平均值排序只要加一个排序函数即可。退出函数即是退出程序,什么都不写即可。2.关键功能的实现及说明#includeiostream#includefstream#includealgorithm#includestring#includestdlib.h#includestring.husingnamespacestd;typedefstructStuBasic{//基本信息intstunum;//学号stringname;stringsex;stringdornum;//宿舍号码stringtel;//年龄(七位)}StuB;typedefstructStuResult{//成绩信息intstunum;//学号stringcounum;//课程号stringcou;//课程floatcre;//学分floatures;//平时成绩floattres;//实验成绩floatpres;//试卷成绩floattolres;//总成绩floattolcre;//总学分}StuR;StuBstub[1001];StuRstur[1001];/**函数定义**/intAddTolRes(StuRstu);//计算总成绩intAddTolCre(StuRstu);//计算总学分intInsertStuBas();//录入学生基本信息intInsertStuRes();//录入学生成绩信息intSelectAllA();//查询A.txt的内容到stub[]intSelectAllB();//查询B.txt的内容到stur[]intSelectStuBNum();//查询基本信息函数(按学号)intSelectStuDro();//查询班级函数intSelectStuRNum();//查询成绩(按学号)intSelectStuRAll();//查询全部intSelectStuBAll();//查询全部StuBS2Stub(strings);//从文件中取出学生基本信息并放到Stub中StuRS2Stur(strings);//从文件中取出学生成绩信息并放到Stur中intDeleteStu();//删除一个学生信息intDeleteDro(stringdor);//删除一个班级信息intUpdateStuB();//修改基本信息(按学号)intUpdateStuR();//修改成绩信息(按学号)intcompare(StuRs1,StuRs2);//排序比较函数intSortStu();//排序函数intmain(){coutendlendl;cout***************欢迎访问计算机面向对象课程设计***************endlendl****************学生信息管理系统*******************endlendl;stringname,pwd;cout请输入管理员访问账号:;cinname;cout请输入管理员访问密码:;cinpwd;while(name!=wuyueyuan||pwd!=123456){cout账户或密码错误,请重新输入!endlendl;cout请输入管理员访问账号:;cinname;cout请输入管理员访问密码:;cinpwd;}cout输入正确,欢迎访问!endlendl;intkey;charch;do{cout**********主菜单:**********endl**********1、录入学生信息**********endl**********2、查询学生信息**********endl**********3、删除学生信息**********endl**********4、修改学生信息**********endl**********5、排序学生信息**********endl**********0、退出系统**********endlendl;cout输入访问序号:;cinkey;while(key0&&key5){cout输入错误,请重新输入:;cinkey;}if(key==0)break;switch(key){case1://1、录入学生信息do{cout1.录入学生基本信息endl;cout2.录入学生成绩信息endl;intkey1;cout请选择:;cinkey1;while(key1!=1&&key1!=2){cout输入错误,请重新输入:;cinkey1;}switch(key1){case1:InsertStuBas();break;case2:{InsertStuRes();break;}default:break;}cout输入y继续当前操作,输入n(或其他)返回上一层:;cinch;}while(ch=='y');break;case2:{//2、查询学生信息do{cout1.查询学生基本信息(支持学号和班级)endl;cout2.查询学生成绩信息(只支持学号查询)endl;intkey1;cout请选择:;cinkey1;while(key1!=1&&key1!=2){cout输入错误,请重新输入:;cinkey1;}switch(key1){case1:{do{cout1.按学号查询endl;cout2.按班级号查询endl;cout3.查询全部endl;intkey1;cout请选择:;cinkey1;while(key1!=1&&key1!=2&&key1!=3){cout输入错误,请重新输入:;cinkey1;}switch(key1){case1:SelectStuBNum();break;case2:SelectStuDro();break;case3:SelectStuBAll();break;default:break;}cout输入y继续当前操作,输入n(或其他)返回上一层,0返回主菜单:;cinch;}while(ch=='y');break;}case2:{do{cout1.按学号查询endl;cout2.查询全部endl;intkey1;cout请选择:;cinkey1;while(key1!=1&&key1!=2){cout输入错误,请重新输入:;cinkey1;}switch(key1){case1:SelectStuRNum();break;case2:SelectStuRAll();break;default:break;}cout输入y继续当前操作,输入n(或其他)返回上一层,0返回主菜单:;cinch;}while(ch=='y');break;}default:break;}}while(ch=='n');break;}case3:{charc;do{DeleteStu();cout输入y继续当前操作,输入n返回主菜单:;cinc;}while(c=='y');break;}case4://1、修改学生信息do{cout1.修改学生基本信息endl;cout2.修改学生成绩信息endl;intkey1;cout请选择:;cinkey1;while(key1!=1&&key1!=2){cout输入错误,请重新输入:;cinkey1;}switch(key1){case1:UpdateStuB();break;case2:{UpdateStuR();break;}default:break;}cout输入y继续当前操作,输入n(或其他)返回上一层:;cinch;}while(ch=='y');break;case5:{SortStu();getchar();getchar();break;}case0:break;}}while(key||ch=='0');return0;}intInsertStuBas(){fstreamafile;intn,i;cout请输入学生个数:;cinn;for(i=0;in;i++){cout输入学号:;cinstub[i].stunum;cout输入姓名:;cinstub[i].name;cout输入性别:;cinstub[i].sex;cout输入班级号:;cinstub[i].dornum;cout输入年龄:;cinstub[i].tel;}for(i=0;in;i++){afile.open(A.txt,ios::in|ios::out|ios::app);//读写、追加的方式写入文件afilestub[i].stunumstub[i].namestub[i].sexstub[i].dornumstub[i].telendl;afile.close();//关闭文件afile.clear();//清空文件流}return0;}intInsertStuRes(){fstreambfile;//s.c_str();//infile.open(B.txt,ios::in||ios:
本文标题:学生成绩管理系统设计(C#)
链接地址:https://www.777doc.com/doc-7092634 .html