c语言程序设计-老师成绩管理系统_第1页
c语言程序设计-老师成绩管理系统_第2页
c语言程序设计-老师成绩管理系统_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南理工大学计算机科学与技术学院课程设计报告2010—2011学年第二学期课程名称c语言程序设计设计题目学生成绩管理系统学生姓名味梁学号311009030213专业班级信管1002班指导教师于金霞2011年09月22C可视化程序设计报告设计题目学生成绩管理系统课题的任务:1、所有记录保存在一个数据文件中;2、具备记录添加功能;3、查询功能(如按学号查询成绩等);4、计算统计功能(如统计某门课程的平■均程序);5、排序功能(如按成绩排序);6、统计并显示信息功能;课程设计目的了解软件工程中的一些系统分析,模块分析,代码设计的概念,利用visualc++实现学生成绩管理系统的录入、查询、删除、统计等基本操作,掌握C语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。通过对系统的分析和设计,进一步巩固C语言的学习,以提高对开发环境。系统源代码#include<iostream>#include<cstring>#include<cstdlib>usingnamespacestd;classStudent(private:charname[20];intnumber,chinese,maths,english;Student*link;Student(charn[20],intm,inta,intb,intc)//名字,学号,日语,高数,C语言(strcpy(name,n);number=m;chinese=a;maths=b;english=c;}friendclassList;};classList(private:Student*pHead;Student*pPre;Student*pCur;public:List();~List();boolsearchList(intkey);voidaddToList();voiddeleteFromList(intkey);voidmodify(intkey);voidfindByNumber(intkey);voidprintAll();};List::List()(pHead=NULL;pPre=NULL;pCur=NULL;}List::~List()(Student*pTemp;Student*pDelete;pDelete=pHead;while(pDelete)(pTemp=pDelete->link;delete(pDelete);pDelete=pTemp;}}boolList::searchList(intkey)(pPre=NULL;pCur=pHead;while(pCur&&key>pCur->number)(pPre=pCur;pCur=pCur->link;}return(pCur&&key==pCur->number);}voidList::addToList()(charn[20];intm,a,b,c;cout<<"请输入姓名"<<endl;cin>>n;cout<<"请输入学号:"<<endl;cin>>m;cout<<"请输入日语成绩:"<<endl;cin>>a;cout<<"请输入高数成绩:"<<endl;cin>>b;cout<<"请输入C语言成绩:"<<endl;cin>>c;Student*pNew;pNew=newStudent(n,m,a,b,c);pPre=NULL;pCur=pHead;while(pCur&&m>pCur->number)(pPre=pCur;pCur=pCur->link;}if(pPre==NULL)(pNew->link=pHead;pHead=pNew;}else(pNew->link=pPre->link;pPre->link=pNew;}return;}voidList::deleteFromList(intkey)(if(searchList(key))(if(pPre==NULL)pHead=pCur->link;elsepPre->link=pCur->link;delete(pCur);}elsecout<<"您要删除的学生不存在!";return;}voidList::modify(intkey)(inta,b,c;if(searchList(key))(cout<<"请输入新的日语成绩:"<<endl;cin>>a;cout<<"请输入新的高数成绩:"<<endl;cin>>b;cout<<"请输入新的C语言成绩:"<<endl;cin>>c;pCur->chinese=a;pCur->maths=b;pCur->english=c;cout<<"数据修改成功!";}elsecout<<"您要修改的学生不存在!";return;)voidList::findByNumber(intkey){if(searchList(key))(cout«"您要查询的学生是:"«pCur->name«endl;cout«"日语成绩:"«pCur->chinese«endl«"高数成绩:"«pCur->maths«endl«"C语言成绩:"«pCur->english«endl;)elsecout«"您要查询的学生不存在!"«endl;return;}voidList::printAII(){if(pHead==NULL)cout«"管理系统中没有输入数据!"«endl;else{pPre=NULL;pCur=pHead;)while(pCur!=NULL){cout«pCur->number«""«"姓名:"«pCur->name«"日语:"«pCur->chinese«"高数:"«pCur->maths«"C语言:"«pCur->english«endl;pPre=pCur;pCur=pCur->link;)

return;)voidmain(){coutvv''\t\t\t**************************''vvend1cout«"\t\t\t**学生成绩管理系统**"«endl;cout<<"\t\t\t**************************"<<encllco<"^^^**************************"<vendlcout«"\t\t\t**1:增加数据**"«endl;cout«"\t\t\t**2:修改数据**"«endl;cout«"\t\t\t**3:查询数据**"«endl;cout<<"\t\t\t**4:输出所有数据**"<<endl;cout<<"\t\t\t**5:删除数据**"<<endl;cout<<"\t\t\t**6:退出系统**"<<endl;cout<<"\t\t\t**************************"<<endl;cout<<"\n选择1-6数字进行操作"<<endl;Listlist;inti=0;charq;do{charp;boolflag0=0;do{cin>>p;if((p>='1'&&p<='7'))flag0=1;elsecout<<"指令错误!请重新输入:"<<endl;}while(flag0==0);switch(p){case'1':{boolflag1=0;charm1;do{list.addToList();i++;cout<<"数据输入成功,想继续输入吗(y/n)"<<endl;cin>>m1;do{if(m1!='y'&&m1!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>m1;}elseflag1=1;}while(flag1==0);}while(m1=='y');break;case'2':(if(i==0)(cout<<"管理系统中没有输入数据!";break;}else(boolflag2=0;charm2;do(intn;cout<<"请输入您要修改的学生的学号:"<<endl;cin>>n;list.modify(n);cout<<"想继续修改吗(y/n)"<<endl;cin>>m2;do(if(m2!='y'&&m2!='n')(cout<<"指令错误!请重新输入!"<<endl;cin>>m2;}elseflag2=1;}while(flag2==0);}while(m2=='y');break;}}case'3':(if(i==0)(cout<<"管理系统中没有输入数据!";break;}else(boolflag3=0;charm3;do(intn;cout<<"请输入您要查询的学生的学号:"<<endl;cin>>n;list.findByNumber(n);cout<<"想继续查询吗(y/n)"<<endl;cin>>m3;do(if(m3!='y'&&m3!='n')(cout<<"指令错误!请重新输入!"<<endl;cin>>m3;}elseflag3=1;}while(flag3==0);}while(m3=='y');break;}}case'4':(if(i==0)(cout<<"管理系统中没有输入数据!";break;}elselist.printAll();break;}case'5':(if(i==0)(cout<<"管理系统中没有输入数据!";break;}else(boolflag5=0;charm5;do(intn;cout<<"请输入您要删除的学生的学号:"<<endl;cin>>n;list.deleteFromList(n);cout<<"想继续删除吗(y/n)"<<endl;cin>>m5;do(if(m5!=y'&&m5!='n')(cout<<"指令错误!请重新输入!"<<endl;cin>>m5;}elseflag5=1;}while(flag5==0);}while(m5=='y');break;}}case'6':(exit(0);}}cout<<"您想继续进行其他操作吗?(y/n)"<<endl;boolflag=0;do(cin>>q;if(q!=y'&&q!='n')cout<<"指令错误!请重新输入!"<<endl;elseflag=1;}while(flag==0);if(q==y')cout<<"\t\t\t**************************"<<endl;cout<<"\t\t\t**1:增加数据**"<<endl;**"<<endl;**"<<endl;**"<<endl;cout<<"\t\t\t**2:修改数据cout<<"\t\t\t**3:查询数据**"<<endl;cout<<"\t\t\t**4:输出所有数据**"<<endl;cout<<"\t\t\t****"<<endl;**"<<endl;**"<<endl;5:删除数据6:退出系统**"<<endl;**"<<endl;cout<<"\t\t\t**************************"<<endl;cout<<"请输入操作代码:";>>\y);>>\y);}}while(q==}五、心得体会>>\y);>>\y);一周的课程设计已经结束了。回想学习C语言的过程中,既有快乐又有烦恼。刚开始上课时,还在迷茫这门课程是用来做什么的。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过半个学期的学习,我掌握了基本知识。下学期开始时,被通知要进行三周的课程设计。当时有点懵,感觉学的东西很少,很零散,不知该怎么练到一起,就要课程设计,是不是太难为我们了。通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我傻坐着不知道该做什么,后来就写了几个预处理命令。回去以后,我想,这样不行,这样下去还得了!我就重新复习了一遍我们上个学期学习的内容,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!一开始做题,也是有点模糊,在童鞋的指导下,我们慢慢的进入状态,我们做的是一个通讯录,内容包括很多。运用的函数也是非常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论