




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级语言程序设计(C+)题目:学生成绩管理系统主要功能:能按学期、按班级完成对学生成绩的录入、修改。能按班级统计学生的成绩,求学生的总分及平均分,并能够根据学生的平均成绩进行排序。能查询学生成绩,不及格科目及学生名单。设计目的:建立一个学生成绩管理系统总体设计(流程图):注解:下图为具体流程实现和操作步骤图,其中输入要保存的信息都以学生所在学年和班级来确定,并最终以txt文档保存入D盘中注意:此程序只设计了2008-2009年度的一班和二班的学生成绩管理系统,故而不能输入之外的数字,否则出错,而排序之后,若不保存,读取的不是排序后的名单。通过switch函数选择读入的操作者想要实现的功能选择1,输入学生信息选择2,输出所有学生信息选择3,查找输出学生信息选择4,修改学生的信息选择5,对学生成绩进行排序选择6,将学生的信息存档选择7,显示保存的文档选择8,退出程序按照学年和班级输入学生信息按照学年和班级输入查找学生信息按照学年和班级找到学生信息,输入选择修改项选择1,查询学生成绩选择2,查询所有不及格学生选择3,直接退出查找选择从16.输入要修改的选项,直接输入修改后的内容即可选择7,退出选择1,按总分排名,输出选择2,按平均分排名,输出选择3,退出详细设计:1. 利用switch函数进行选择执行用户的命令,用do while 语句实现连续输入,利用三维数组储存学生信息,利用结构体保存学生的共同属性,定义了学生成绩管理系统sys类,包括了所有的功能函数;2. 添加学生信息函数:void sys:add()int i,j;couti;if(i=2008)i=0;else i=1;coutj;if(i=0&j=1)stuij-1s1.year=2008;stuij-1s1.Class=j;;coutstuij-1s1.math;coutstuij-1s1.english;puter;s1+;size1+;if(i=0&j=2)stuij-1s2.year=2008;stuij-1s2.Class=j;;coutstuij-1s2.math;coutstuij-1s2.english;puter;s2+;size2+;if(i=1&j=1)stuij-1s3.year=2009;stuij-1s3.Class=j;;coutstuij-1s3.math;coutstuij-1s3.english;puter;s3+;size3+;if(i=1&j=2)stuij-1s4.year=2009;stuij-1s4.Class=j;;coutstuij-1s4.math;coutstuij-1s4.english;puter;s4+;size4+;3.显示学生成绩函数:void sys:show() cout学年 班级 姓名 数学 英语 计算机endl; for(int k=0;ksize1;k+) cout stu00k.year ; cout stu00k.Class ; cout ; cout stu00k.math ; cout stu00k.english ; cout puterendl;for(k=0;ksize2;k+) cout stu01k.year ; cout stu01k.Class ; cout ; cout stu01k.math ; cout stu01k.english ; cout puterendl; for(k=0;ksize3;k+) cout stu10k.year ; cout stu10k.Class ; cout ; cout stu10k.math ; cout stu10k.english ; cout puterendl; for(k=0;ksize4;k+) cout stu11k.year ; cout stu11k.Class ; cout ; cout stu11k.math ; cout stu11k.english ; cout puterendl; 4.查找学生成绩信息函数:void sys:search()int num1,num2,size,i=0;char name115;coutnum1).get();coutnum2).get();cout请输入要查找的学生的姓名:;cin.getline(name1,15);if(num1=2008&num2=1) num1=0;size=size1;if(num1=2008&num2=2)num1=0;size=size2;if(num1=2009&num2=1)num1=1;size=size3;if(num1=2009&num2=2)num1=1;size=size4;cout学年 班级 姓名 数学 英语 计算机endl;for(;isize;i+)if(strcmp(name1,)=0) cout stunum1num2-1i.year ; cout stunum1num2-1i.Class ; cout ; cout stunum1num2-1i.math ; cout stunum1num2-1i.english ; cout puterendl; cout不及格科目:; if(stunum1num2-1i.math60&stunum1num2-1i.english60&puter60) cout数学 英语 计算机60&stunum1num2-1i.english60&puter60) cout英语 计算机endl; if(stunum1num2-1i.math60&puter60) cout数学 计算机endl; if(stunum1num2-1i.math60&stunum1num2-1i.english60) cout数学 英语endl; if(stunum1num2-1i.math60&puter60) cout数学60&stunum1num2-1i.english60) cout英语60&stunum1num2-1i.english60&puter60) cout计算机60&stunum1num2-1i.english60&puter60) cout无endl; cout1.查询学生成绩 2.查询不及格学生名单 3.退出:;void sys:list()int size;cout学年 班级 姓名endl;for(int num1=0;num12;num1+)for(int num2=1;num23;num2+)if(num1=0&num2=1) size=size1;if(num1=0&num2=2)size=size2;if(num1=1&num2=1)size=size3;if(num1=1&num2=2)size=size4;for(int k=0;ksize;k+)if(stunum1num2-1k.math60|stunum1num2-1k.english60|puter60) cout stunum1num2-1k.year endl; cout stunum1num2-1k.Class endl; cout endl;else continue;coutn;cout1.查询学生成绩 2.查询不及格学生名单 3.退出:;5.修改学生信息函数:void sys:change()int num1,num2,size,enter;char name115;coutnum1).get();coutnum2).get();cout请输入要修改的学生的姓名:;cin.getline(name1,15);if(num1=2008&num2=1) num1=0;size=size1;if(num1=2008&num2=2)num1=0;size=size2;if(num1=2009&num2=1)num1=1;size=size3;if(num1=2009&num2=2)num1=1;size=size4;for(int i=0;isize;i+) if(strcmp(,name1)=0) docout请选择要修改的选项:1.学期 2.班级 3.姓名 4.数学 5.英语 6.计算机 7.退出endl;coutenter;switch(enter)case 1:coutstunum1num2-1i.year;break;case 2:coutstunum1num2-1i.Class;break;case 3:;break;case 4:coutstunum1num2-1i.math;break;case 5:coutstunum1num2-1i.english;break;case 6:puter;break; while(enter7);6.对学生成绩排序函数:void sys:sort1()student temp1;int n1,n2,size;coutn1;coutn2;if(n1=2008&n2=1) n1=0;size=size1;if(n1=2008&n2=2)n1=0;size=size2;if(n1=2009&n2=1)n1=1;size=size3;if(n1=2009&n2=2)n1=1;size=size4;for(int m=0;msize;m+)stun1n2-1m.sum=stun1n2-1m.math+stun1n2-1m.english+puter;for(int i=0;isize;i+) for(int j=0;jsize-i;j+)if(stun1n2-1j.sumstun1n2-1j+1.sum) temp1=stun1n2-1j; stun1n2-1j=stun1n2-1j+1; stun1n2-1j+1=temp1; cout学年 班级 姓名 数学 英语 计算机 总分endl;for(int k=0;ksize;k+) cout stun1n2-1k.year ; cout stun1n2-1k.Class ; cout ; cout stun1n2-1k.math ; cout stun1n2-1k.english ; cout puter ; cout stun1n2-1k.sumendl; void sys:sort2()student temp2;int n1,n2,size;coutn1;coutn2;if(n1=2008&n2=1) n1=0;size=size1;if(n1=2008&n2=2)n1=0;size=size2;if(n1=2009&n2=1)n1=1;size=size3;if(n1=2009&n2=2)n1=1;size=size4;for(int m=0;msize;m+)stun1n2-1m.average=(stun1n2-1m.math+stun1n2-1m.english+puter)/3.0;for(int i=0;isize;i+) for(int j=0;jsize-i;j+)if(stun1n2-1j.averagestun1n2-1j+1.average) temp2=stun1n2-1j; stun1n2-1j=stun1n2-1j+1; stun1n2-1j+1=temp2; cout学年 班级 姓名 数学 英语 计算机 总分endl;for(int k=0;ksize;k+) cout stun1n2-1k.year ; cout stun1n2-1k.Class ; cout ; cout stun1n2-1k.math ; cout stun1n2-1k.english ; cout puter ; cout stun1n2-1k.averageendl; 7.保存学生成绩信息函数:void sys:save()int n1,n2,size;coutn1;coutn2;if(n1=2008&n2=1) n1=0;size=size1;ofstream ofile(D:2008年度1班.txt,ios_base:out);ofile学年班级 姓名 数学 英语 计算机endl;for(int i=0;isize;i+)ofilestun1n2-1i.year stun1n2-1i.Class stun1n2-1i.math stun1n2-1i.english puterendl;ofile.close();cout2008年度1班学生信息已存入文件!endl;if(n1=2008&n2=2)n1=0;size=size2;ofstream ofile(D:2008年度2班.txt,ios_base:out);ofile学年班级 姓名 数学 英语 计算机endl;for(int i=0;isize;i+)ofilestun1n2-1i.year stun1n2-1i.Class stun1n2-1i.math stun1n2-1i.english puterendl;ofile.close();cout2008年度2班学生信息已存入文件!endl;if(n1=2009&n2=1)n1=1;size=size3;ofstream ofile(D:2009年度1班.txt,ios_base:out);ofile学年班级 姓名 数学 英语 计算机endl;for(int i=0;isize;i+)ofilestun1n2-1i.year stun1n2-1i.Class stun1n2-1i.math stun1n2-1i.english puterendl;ofile.close();cout2009年度1班学生信息已存入文件!endl;if(n1=2009&n2=2)n1=1;size=size4;ofstream ofile(D:2009年度2班.txt,ios_base:out);ofile学年班级 姓名 数学 英语 计算机endl;for(int i=0;isize;i+)ofilestun1n2-1i.year stun1n2-1i.Class stun1n2-1i.math stun1n2-1i.english puterendl;ofile.close();cout2009年度2班学生信息已存入文件!endl;8.读取学生成绩信息函数:void sys:output()char line101;int n1,n2,size;coutn1;coutn2;if(n1=2008&n2=1)n1=0;size=size1;ifstream infile(D:2008年度1班.txt,ios_base:in);for(int i=0;isize+1;i+)infile.getline(line,100);coutlineendl;infile.close();if(n1=2008&n2=2)n1=0;size=size2;ifstream infile(D:2008年度2班.txt,ios_base:in);for(int i=0;isize+1;i+)infile.getline(line,100);coutlineendl;infile.close();if(n1=2009&n2=1)n1=1;size=size3;ifstream infile(D:2009年度1班.txt,ios_base:in);for(int i=0;isize+1;i+)infile.getline(line,100);coutlineen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业安全培训之粉尘防爆课件
- 国家管网集团油气调控中心高校毕业生招聘笔试真题2024
- 2025年吴忠市事业单位考试真题
- 2025年广安市事业单位考试真题
- 平衡火罐治疗
- 农发行抚顺市清原满族自治县2025秋招无领导小组面试案例库
- 工业园安全生产培训内容课件
- 2025年新能源汽车自动驾驶技术演进与保险市场竞争格局报告
- 2025年新能源汽车电池热失控预警技术研究与应用报告
- 农发行吉安市吉水县2025秋招笔试价值观测评题专练及答案
- 2025-2026学年统编版一年级上册道德与法治教学计划含教学进度表
- 70岁以上驾驶员换证三力测试题库(含答案)
- 2025秋形势与政策课件-践行多边主义完善全球治理
- (2025秋新版)人教版八年级历史上册全册教案
- 2025年小麦种子研发与应用技术合作开发协议
- 四合一检测仪使用课件
- 恋爱课件教学课件
- 人民陪审员培训民事课件
- 药物中毒的护理与急救
- 2025年食安员、食品安全总监、主要负责人考试题及答案
- 学堂在线 大数据系统基础 章节测试答案
评论
0/150
提交评论