资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C大作业报告作业名称学生成绩信息管理系统姓名班级学号任务描述本程序旨在处理学生成绩管理,可以输入构建学生,输入成绩。可以删除学生信息,可以根据任何一门成绩排序,可以统计各个分数段的成绩,选项9为将文件保存到磁盘中,0为清空磁盘文件。每一次打开文件时前面存储的数据会自动调出。代码行数562类个数2模板个数0函数个数(非成员函数)8源程序文件个数1(3)头文件个数5文件个数(数据文件)1总结问题问题解决办法1.string 无法读入文件换成char,放到类的公有成员中2.找不到地方用模板函数无3展望(项目还可以做什么)还可以做到弹出框图,以及动态的申请空间,用链表来实现,以及做出更好的页面,还有可以通过模板来节省代码。自我总结(自己研发综合能力有提高吗)有 大作业说明一、 目的运用面向对象的思想,完成一个综合性的任务,尽量覆盖C的各个知识点。二、 内容要求题目自选,完成一个小型的管理系统(如图书管理、通讯录管理等)。功能要求:1. 功能选择界面2. 添加数据功能3. 删除数据功能4. 修改数据功能5. 查询功能(依据不同属性查询和依据序号查询)6. 统计功能7. 数据排序功能(可以依据不同属性排序)应用技术要求:1. 应用类2. 应用继承体系3. 应用多态4. 采用文件存储数据5. 应用到模板类或模板函数6. 对输入、输出采用运算符重载7. 对数据不合法处采用异常处理三、 提交文档1. 打印的C大作业报告;2. 打印的源程序:双面打印、字体可以小一点,节约用纸;四、 说明六月十二日晚八点前交给班长打印的和电子版源代码(不要工程文件,只要头文件和源文件)六月13日早八点 A315 交给助教老师每人一份,不分组。Code:#include#include#include#include#includeusing namespace std;int m;char name20,num20;int age;float math,eng,com,sum,ave;template void sort();void save();void input();void output();void paixu();void chazhao();void charu();void shanchu();void tongji();void qingkong();class peopleprivate:int age;protected:people();public:char name20;int getage();virtual void show();void setp(int b)age=b;int people:getage()return age;void people:show()cout姓名endl;coutnameendl;cout年龄endl;coutageendl;class Student:public peopleprivate: float math; float eng; float com; float sum; float ave;public:/Student(int b,string c,float d=0,float e=0,float f=0):people(a,b),num(c),math(d),eng(e);Student();char num20;float getmath();float geteng();float getcom();float getsum();float getave();bool operator(Student&);void show();void set(int b,float d=0,float e=0,float f=0,float g=0,float h=0)setp(b);math=d;eng=e;com=f;sum=g;ave=h;bool Student:operatorname,a.name)0;float Student:getmath() return math;float Student:geteng() return eng;float Student:getcom() return com;float Student:getsum() return math+eng+com;float Student:getave() return getsum()/3;void Student:show()cout姓名endl;coutnameendl;cout年龄endl;coutgetage()endl;cout学号endl;coutnumendl;cout数学成绩endl;coutmathendl;cout英语成绩endl;coutengendl;cout计算机成绩endl;coutcomendl;cout总成绩endl;coutsumendl;cout平均分endl;coutaveendl;Student x100;int N=0;int main()ifstream file2;file2.open(stu,ios_base:binary);int i=0;while(!file2.eof()file2.read(char*)(&xi),sizeof(Student);i +;N=i-1;file2.close();ofstream file3;file3.open(stu,ios_base:trunc);file3.close(); do /开场效果 coutendl; coutendl; cout * * * * * * * * * * * * * * * * * * endl; cout * 欢迎使用学生信息管理系统 *endl; cout * 1.输入信息 2.输出信息 *endl; cout * 3.排序 4.查找信息 *endl; cout * 5.插入信息 6.删除信息 *endl; cout * 7.统计分数 8.退出系统 *endl; cout * 9.保存 0.清空文件 *endl; cout * 软件 1002 许时昌 *endl; cout * * * * * * * * * * * * * * * * * *endl; coutendl; cout请选择m;system(cls); switch(m) case 9: save();break; case 1: input();break; /选择10个函数。 case 2: output();break; case 3: paixu();break; case 4: chazhao();break; case 5: charu();break; case 6: shanchu();break; case 7: tongji();break; case 8: cout是否保存?c;if(c=y) save(); cout谢谢使用!endl;break; case 0:qingkong(); cout已清空文件endl; cout按任意键回到主界面endl; getchar(); getchar(); system(cls); break; default: cout请输入正确数字(1-10)endl; while(m!=8); return 0;void input() /输入信息 char m;dosystem(cls); int n=0;int t=0; dot=0;cout请输入学号!xN.num;for( n=0;nN;n+) if(strcmp(xN.num,xn.num)=0) cout该学号已存在!endl; t+; break; while(t=1); cout请输入姓名xN.name; cout输入年龄age; do cout请输入数学成绩(0-100)math; while(math100); do cout请输入英语成绩(0-100)eng; while(eng100); do cout请输入计算机成绩com; while(com100); sum=math+eng+com; ave=sum/3; xN.set(age,math,eng,com,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号