学生档案管理系统.doc_第1页
学生档案管理系统.doc_第2页
学生档案管理系统.doc_第3页
学生档案管理系统.doc_第4页
学生档案管理系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

C+程序设计实践报告 题 目 学生档案管理系统 学生姓名 学 号 指导老师 学 院 专业班级 完成时间 1.学生成绩管理系统开发设计思想对于一个管理系统而言,主函数,函数以及成员函数是其重要组成部分。系统开发设计也是从该三方面入手,下面加以详细阐述。(1)主函数的设计在做一个系统开发前,一定要明确系统的功能以及功能实现时的输出(屏幕显示)。编写主函数的主要任务就是确定调用函数以及控制屏幕显示。1确定调用函数根据要求,该系统至少应该实现几种基本功能:操作、查询、统计、排名。设计函数: class Tstu 通过定义一个类来定义数据录入的函数;float getsum()求总分的函数;float getaver()得到平均分的函数;2屏幕显示一个系统要想处理信息,首先必须要输出菜单及提示信息,通过用户在键盘上的输入来选择某个功能。本系统的屏幕显示如上。为实现该屏幕显示,输出语句完全可以放在main()函数中,但为了使主函数清晰明了,我设计了一个菜单函数Main()供其调用。(2)函数的设计编写函数的目的就是编写一个能实现某种功能的函数供主函数调用。根据C+面向对象的特点,函数也可以调用类中的成员函数。这样主函数,函数以及成员函数之间的层次分明,关系就清晰明了,不会有冗长的感觉。函数设计的主要任务是确定调用的成员函数以及屏幕显示。1确定调用的数据成员和成员函数在一个类中定义需要的数据成员,如:class Tstu char name20; int number; float math,cpp,english,average,sum; public: Tstu() ; 在class Tstu确定了数据成员float math,cpp,english,average,sum;等和成员函数public: Tstu()2屏幕显示编写函数也需要控制输出以及功能间的转换,从而每一个函数都需要有一个循环来控制其结束。循环语句有for和dowhile以及if语句。比如:数据录入运用了dowhile语句。3学生管理系统构架图如下页:(3)成员函数的设计。成员函数是系统的灵魂,因为所有的处理过程的细节都在成员函数中完成的。编写成员函数实际上就是一个算法的实现。成员函数的设计包括两方面内容:成员函数算法的实现和成员函数过程的实现。运用dowhile语句和switch.case来实现循环输出。最后屏幕上则需要显示一些完成了某种功能的标志,例如“指令错误!请重新输入”等。 2、系统流程图 各功能模块设计思路及流程图 1.学生信息库模块 在学生信息库函数中利用指针对学生的成员变量进行赋值 2.总体算法设计思路及流程图 先利用口令判断函数进行判断,再通过循环进行学生档案的输入、添加、修改等3、数据输入模块算法设计思路及流程图4、数据删除模块算法设计思路及流程图Dele()请输入要删除学生的学号: j=i? j+删除该学生学号return输出没有这个人YN3、源代码 #include #include #include #include using namespace std;struct student string sno; string sname; string score; void password()string str1;system(cls);coutendlendlendl;coutsetw(30)str1;coutendlendlendl; if (str1!=computer) coutsetw(40)口令不正确!请重新输入!n; system(pause);password();return;int menu()system(cls);int n=1,select=-1;coutendlendlendl;coutsetw(50)*主菜单*endlendl;coutsetw(26)n+.输入学生信息endlendl;coutsetw(26)n+.输出学生信息endlendl; coutsetw(26)n+.删除学生信息endlendl; coutsetw(26)n+.添加学生信息endlendl; coutsetw(26)n+.修改学生信息endlendl;coutsetw(31)0.退出endlendlendl;coutsetw(36)select;if (select5) coutendlsetw(26)非法数据!请重新输入!;system(pause);select=menu();return select;char exit()coutsetw(26)s;return s;void input()ofstream outfile(info.dat,ios:out);if (!outfile) cout文件打开错误!; system(pause);return;system(cls);coutn;coutendlendl;student outst99;for(int i = 0; i n; i+)cout(outsti.sno); cout(outsti.sname);cout(outsti.score);outfileoutsti.snotoutsti.snametoutsti.scoreendl;outfile.close();return;void list()int i = 0;ifstream infile(info.dat,ios:in);if (!infile) coutinsti.snoinsti.snameinsti.score;+i;for (int j = 0; j i - 1; j+) cout学号:instj.sno 姓名:instj.sname; cout学生成绩:instj.scoreendl;infile.close();system(pause); void dele()int i = 0;fstream file(info.dat,ios:in|ios:out);if (!file) coutsti.snosti.snamesti.score;+i;file.close();cout请输入要删除学生的学号: del;int j;-i;for (j = 0; j i; +j) if (stj.sno = del) while (j != i - 1) stj = stj + 1;+j;break;if (j = i) cout没有这个人!endl;return;file.open(info.dat,ios:out);for (j = 0; j i - 1; +j)filestj.snotstj.snametstj.scoreendl;file.close();cout学号为del的同学已删除endl;system(pause);void append()ofstream outfile(info.dat,ios:app);if (!outfile) cout文件打开错误!; system(pause);return;student outst;cout(outst.sno);cout(outst.sname);cout(outst.score);outfileoutst.snotoutst.snametoutst.scoreendl;void modify()int i = 0;fstream file(info.dat,ios:in|ios:out);if (!file) coutsti.snosti.snamesti.score;+i;file.close();cout请输入要修改学生的学号: mod;int j;-i;for (j = 0; j i; +j) if (stj.sno = mod) cout请输入要修改的项目: (1)学号(2)姓名(3)学生成绩sel;switch (sel) case 1:cout(stj.sno);break;case 2:cout(stj.sname);break;case 3:cout(stj.score);break;break;if (j = i) cout没有这个人!endl;return;file.open(info.dat,ios:out);for (j = 0; j i; +j)filestj.snotstj.snametstj.scoreendl;file.close();cout修改成功!endl;system(pause);int main ()int select;char s;password();while (1)select = menu();switch (select) case 0: s = exit(); if (s=y|s=Y) return 0; break; case 1: input();break; case 2: list();break; case 3: dele();break;case 4: append();break; case 5: modify();break; default: cout无效输入!endl;return 0;4、截图展示1、 口令输入界面2、主菜单界面3、数据输入功能4、数据显示功能5、数据添加功能6、数据删除功能7、数据修改功能5、课程设计心得在编程时条理清晰是至关重要的。主函数,函数,成员函数之间的层次关系,调用关系一定要有一个全面的把握。比如确立了一个class

温馨提示

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

评论

0/150

提交评论