1、c+程序 学生管理系统昆 明 理 工 大 学 理 学 院信息与计算科学专业 操作性实验报告年级: 2010级 姓名: 学号: 指导教师: 实验课程名称: 开课实验室: 理学院机房 实验成绩:学风(5)观察能力(15)操作能力(30)调试能力(50)其它总分实验内容:1实验/作业题目:写一个学生管理系统并实现能输入数据,修改数据,查找数据,删除数据。对1100分内各个分数段给出ABCD的评价2实验/作业课时:2个课时3实验过程(包括实验环境、实验内容的描述、完成实验要求的知识或技能): 先写程序,再写流程图。#include#include#include#include#include#inc
2、ludestruct student /定义一个学生结构体 char name10; int num; char banji40; int GD,SF,CP,SUM;int s=0;class student1 /定义一个学生类private: student stu50; char name,banji; int num; int GD,SF,CP,SUM;public: void sr(char *,int,char *,int,int,int); void print(int); int jc(int xxh) int m=0; while(ms+1) return 0; else re
3、turn 1; void cz(int); void sc(int); void sum(int);void student1:sr(char *xm,int xh,char *dz,int gd,int sf,int cp) /输入模块 strcpy(stus.name,xm); stus.num=xh; strcpy(stus.banji,dz); stus.GD=gd; stus.SF=sf; stus.CP=cp;void student1:print(int s) /输出模块coutst; coutstus.namen; coutstus.numn; coutstus.banjin;
4、 coutstus.GDn; coutstus.SFn; coutstus.CPn; coutendl;void student1:cz(int s) /查找模块 int xxh,p; while(s=0) cout没有记录,请先输入记录!endl; break; if(s!=0) coutxxh; while (xxh9999) /判断输入的学号是否正确 cout您输入的学号不正确,请输入一个四位数的学号xxh; while(s!=0) /查找是否有符合条件的记录 p=1; if (xxh=stus.num) cout姓名n学号n班级n高代n数分nc+endl; coutstus.namen
5、; coutstus.numn; coutstus.banjin; coutstus.GDn; coutstus.SFn; coutstus.CPendl; getch(); break; else p=0; s-; if(p=0) cout很抱歉,没有找到您要查找的学号!endl; getch();void student1:sc(int n) /删除模块 int xxh,p; char da; while(s=0) cout没有记录,请先输入记录!endl; break; if(s!=0) coutxxh; while (xxh9999) cout您输入的学号不正确,请您输入一个四位数的学
6、号 xxh; for(int i=1;i=n;i+) if(stui.num!=xxh) p=0; if(stui.num=xxh) cout姓名n学号n班级n高代n数分nc+endl; coutstui.namen; coutstui.numn; coutstui.banjin; coutstui.GDn; coutstui.SFn; coutstui.CPendl; coutda; if(da=y|da=Y) for(int j=i;j=n-1;j+) /删除记录 strcpy(stuj.name,stuj+1.name); stuj.num=stuj+1.num; strcpy(stuj
7、.banji,stuj+1.banji); stuj.GD=stuj+1.GD; stuj.SF=stuj+1.SF; stuj.CP=stuj+1.CP; cout该记录已删除!endl; s=s-1; p=1; break; else cout该记录未删除!endl; p=1; if(p=0) cout很抱歉,没有找到您要找的学号!endl; getch();void student1:sum(int s) /排序模块 int chang; int b40; while(s=0) cout没有记录,请先输入记录!endl; break; if(s!=0) cout姓名n学号n班级n高代n;
8、 cout数分tc+t总分endl; for(int k=1;k=s;k+) bk=stuk.GD+stuk.SF+stuk.CP; stuk.SUM=stuk.GD+stuk.SF+stuk.CP; for(int i=1;i=s;i+) /利用冒泡法对B进行排序 for(int j=1;j=s-i;j+) if(bjbj+1) chang=bj; bj=bj+1; bj+1=chang; for(int h=1;h=s;h+) /输出与B中相同总分所对应的内容 for(int e=1;e=s;e+) if(bh=stue.SUM) coutstue.namen; coutstue.numn
9、; coutstue.banjin; coutstue.GDn; coutstue.SFn; coutstue.CPn; coutstue.SUMendl; getch();void main() student1 st; char da,a; char *xm,*dz; int gd,sf,cp,xh; time_t t; time(&t); while(1) system(cls); coutendl; cout * 学生成绩管理系统 *endl; cout 显示系统时间和日期:ctime(&t)endl; cout 0.输入/添加学生资料endl; cout 1.显示学生资料endl;
10、cout 2.按学号查找endl; cout 3.删除记录endl; cout 4.按总分进行排序endl; cout 5.退出endl; cout *endl; cout请选择操作(0-5)a;t: if(a=5) break; switch (a) case 0: cout请依次输入学生的n姓名,学号,班级,高代,数分,c+:xmxhdzgdsfcp; while(st.jc(xh) /调用JC模块判断学号是否重复 cout学号重复,请重新输入!xh; s=s+1; st.sr(xm,xh,dz,gd,sf,cp); coutda; while (da=y|da=Y) /判断是否要继续输入
11、 cout请依次输入学生的姓名,学号,班级,高代,数分,c+:xmxhdzgdsfcp; while(st.jc(xh) cout学号重复,请重新输入!xh; s=s+1; st.sr(xm,xh,dz,gd,sf,cp); coutda; getch(); ;break; case 1: if(s=0) /判断是否有记录输入 cout没有记录,请先输入记录!endl; getch(); break; if(s!=0) cout序号t; cout姓名n; cout学号n; cout班级n; cout高代n; cout数分n; coutc+endl; for(int i=1;i5) /判断选项是
12、否正确 cout错误选项,请重新选择!a; goto t; ;break; cout谢谢您的使用!endl; 4算法描述、流流程图或程序图:5实验数据和实验结果(用屏幕图形表示,可另加附页):6心得体会:这程序借鉴了一些程序,经过多次修改成的。但还是不完善,还有一些问题,由于时间急迫,我弄得很吃力。大一结束了,我对写程序还是很吃力,不过我会在暑假及以后使劲勤加练习,大四和老师再遇时,争取有很大很大的改观,我觉悟了,我已下决心了。我会做到的,再见老师。评分标准 学 风-报告格式规范,文字清晰 观察能力-正确描述和理解需要操作的问题操作能力-正确输入程序,熟悉编程环境 调试能力-熟练使用调试功能解决程序错误
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1