C++课程设计学生学籍管理系统_第1页
C++课程设计学生学籍管理系统_第2页
C++课程设计学生学籍管理系统_第3页
C++课程设计学生学籍管理系统_第4页
免费预览已结束,剩余23页可下载查看

下载本文档

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

文档简介

1、课程名称: +面向对象程序设计课程设计题目:大学生学籍管理系统目录 :一、系统设计目标、意义二、系统设计思路三、系统功能介绍四、输入输出的设计(1) 界面的设计(2) 数据输出设计(3) 系统运行结果五、详细设计(1) 系统功能结构图(2) UML六、附录七、系统设计、开发过程中遇到的问题八、心得体会学生学籍管理系统一、系统设计目标、意义(一)系统实现的目标1 、课程设计的任务:制作一个小型的学生学籍管理系统,要求制作一个菜单, 实现数据的录入, 数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出。系统的设计要求用到C+面向对象的程序设计,要求用到类来实现,同时每

2、一个功能用到一个函数。2、(1)基本功能:学生基本信息(编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩)成绩统计(各科总成绩,各科平均成绩,各科的及格率)(2)扩展功能:学生数据的添加、修改、与删除学生数据的读取与存储3 、系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计; 系统数据的录入除可以手工录入外, 还可以采用文件的录入; 系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;程序中查找运用了两种查找方式即学号查找和姓名查找。(二)系统设

3、计的意义通过设计此项程序,能够对学生的学籍进行统一的管理,对学生的学籍进行录入、修改、保存等功能进行处理, 从而能够较快地对信息进行处理,系统数据的录入除可以手工录入外,还可以采用文件的录入; 系统统计学生的基本信息较全面, 程序中查找运用了两种查找方式即学号查找和姓名查找,方便查询。二、系统设计思路第一步:分析题目,建立类并派生出它的子类,画出类图。第二步:画出流程,根据流程图编写程序清单第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。第四步:及时整理资料,撰写课程设计报告中有关这个题目的内容。三、系统功能介绍(一)程序对学生学籍的数据处理要求 能够输入并浏览学生的基本信息;

4、 能够实现对学生信息的查询和修改; 能够对成绩进行统计; 能够对学生的信息进行保存;(二)系统功能:资料维护:系统维护包括对各学生信息和成绩的录入操作。资料维护:对数据表中的信息进行浏览。系统查询:可以对不同科目的总成绩、不及率、各科平均成绩相关信息。四、输入输出的设计1界面的设计、界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。、功能设计通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。2数据输出设计主要运行界面:统计界面:查找界面:显示界

5、面:录入界面:保存界面:修改界面:删除界面:3、系统运行的结果:(仅部分)五、详细设计1、系统功能结构图:初菜输显查删修统退始单2、(1)类: student化数据成员:编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩(2)类: school成员函数:录入函数Input():输入编号到计算机的成绩;统计函数 count() :统计各科的总成绩,计算平均成绩,统计各科的及格率;查询函数 found() :按学号或姓名查找学生的记录;修改函数 mend():修改指定学号学生成绩记录;删除函数 del() :删除指定学号学生记录;输出函数 show() :输出班级

6、所有学生成绩记录;UML图:schoolStudent+school()#number:int六、附录:(主要代码)#include<>#include<>#include<>#include<>/操纵符定义在其中class studentprotected:int number; char name20;char sex6;char place20;char nation6; char birth20;char party10; char id20;float score3;public:student *next;student() stud

7、ent() char* getname() return name; int getnumber() return number;double getscore(int i) return scorei;float getg() return (score0+score1+score2); void input() int e=1;cout<<"ttt按提示输入 :"<<endl;cout<<"tt输入编号 : "cin>>number;cout<<"tt输入姓名 : "ci

8、n>>name;docout<<"tt输入性别 : "cin>>sex;if(strcmp(sex,"男 ")=0 | strcmp(sex,"女 ")=0) cout<<"tt输入籍贯 : "cin>>place;cout<<"tt输入民族 : "cin>>nation;cout<<"tt输入生日 : "cin>>birth;cout<<"tt输

9、入政治面貌 : "cin>>party;cout<<"tt输入身份证号:"cin>>id;cout<<"tt输入数学分数:"cin>>score0;cout<<"tt输入英语分数 : "cin>>score1;cout<<"tt输入计算机分数 : "cin>>score2;e=0;elsecout<<"ttt无此类型性别 ! 重新输入 !"<<endl;e

10、=1; while(e);return ;void input(ifstream & is)is>>number>>name>>sex>>place>>nation>>birth>>party>>id>>score0>>score1>>score2;(); void output()cout<<" 学生基本信息如下 :"<<endl;cout<<"编号 :"<<numb

11、er<<"姓名 :"<<name<<" 性别 :"<<sex <<"籍贯 :"<<place<<" 民族 :"<<nation<<"生日 :"<<birth<<"政治面貌 :"<<party<<endl<<"身份证号 :"<<id<<"数学 :"&

12、lt;<score0<<"英语 :"<<score1<<"计算机 :"<<score2<<"总分 :"<<getg()<<endl<<endl;void output(ofstream & os) os<<setw(6)<<number <<setw(15)<<name<<setw(20)<<place <<setw(6)<<nat

13、ion<<setw(20)<<birth<<setw(20)<<party <<setw(20)<<id<<setw(6)<<score0<<setw(6)<<score1<<setw(6)<<score2<<endl;/操纵符指定宽度class schoolpublic:school() head=new student; head->next=NULL; key=0; school() delete head; void inpu

14、t(); void mend(); void del();int find(student *p,int num,char *pn="");void found();void show();void count();void save();void begin();void clear();char mainmenu();int getkey() return key;void setkey(int k) key=k; private:student *head;int key;/ 录入函数void school:input()student *p,*p2=NULL;p=h

15、ead;int n;while(p->next)p=p->next;while(n) p2=new student;p2->input();p->next=p2;p2->next=NULL; p=p->next;school:setkey(1);cout<<"ttt按 1 继续 , 按 0 返回 : "cin>>n; / 子查找函数int school:find(student *p1,int num,char *pn) student *p; p=head; while(p->next)(*p1)=p;if

16、( (p->next)->getnumber()=num|!strcmp( (p->next)->getname(),pn ) )return 1;p=p->next;return 0; / 查找函数void school:found() student *p;int num=-1,n=9;char name20=""do cout<<"tt1:按编号查找 ,2: 按姓名查找 : " cin>>n;while(n<1|n>2);if(n=1) cout<<"ttt输入

17、编号 : " cin>>num;if(n=2) cout<<"ttt输入姓名 : " cin>>name; if(!find(&p,num,name) ) cout<<"tt找不到你要查找的内容 !"<<endl; return;(p->next)->output();/ 删除函数void school:del() student *p,*p2;int num;cout<<"ttt输入编号 : " cin>>num;if(

18、 !find(&p,num,"") ) cout<<"tt 找不到你要删除的内容 !"<<endl; return;(p->next)->output(); p2=p->next; p->next=p2->next; delete p2; school:setkey(1); void school:show() / student *p; p=head;while(p->next) (p->next)->output();p=p->next;显示函数/ 修改函数void

19、 school:mend() student *p; int num=-1,n; char name20=""do cout<<"tt1:按编号修改 ,2: 按姓名修改 : " cin>>n;while(n<1|n>2);if(n=1) cout<<"ttt输入编号 : " cin>>num;if(n=2)cout<<"ttt输入姓名 : "cin>>name;if( !find(&p,num,name) ) cout<

20、;<"tt找不到你要修改的内容 !"<<endl; return;(p->next)->output(); (p->next)->input();school:setkey(1);void school:save() /保存函数 student *p; p=head; ofstream os("",ios:out);if (school:getkey()=1)while(p->next) (p->next)->output(os); p=p->next; cout<<"

21、;ttt文件已保存 ! "<<endl;school:setkey(0);void school:begin()/初始化函数 student *p,*p2; p=head; clear(); long t;ifstream is("",ios:in); if(!is) ofstream os("",ios:out); ();return ;int num=-1; while(1) num=-1; t=(); is>>num;(t);if(num<0) ();return;p2=new student;p2->

22、input(is);p->next=p2;p2->next=NULL; p=p->next;void school:clear()/student *p,*p2;p=head->next;while( p )p2=p;p=p->next;清空函数delete p2;void school:count()/统计函数student *p; p=head;int n=0;double g3=0,0,0; float j3=0,0,0;while(p->next) p=p->next;n+;for(int i=0;i<3;i+) gi=gi+( p-&g

23、t;getscore(i) ); (p->getscore(i) )>= ji+ : 0 ;cout<<"ttbbbb数学总分 :"<<g0<<"平均分 :"<<g0/n<<" 及格率 :"<<j0/n<<endl<<"ttbbbb英语总分 :"<<g1<<" 平均分 :"<<g1/n<<"及格率 :"<<j1

24、/n<<endl<<"ttbbbb计算机总分 : "<<g2<<"平均分 : "<<g2/n<<" 及格率 :"<<j2/n<<endl;/ 主选菜单函数char school:mainmenu()char n6;cout<<"nn欢迎进入学籍管理系统"<<endl<<endl<<"* * * * * * * * * * * * * * * * * * * * *

25、 * * * * * * *"<<endl<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<"* *1:录入学生信息* *"<<endl<<"* *2:显示学生信息* *"<<endl<<"* *3:查找学生信息* *"<<endl<<"* *4:删除学生信息* *"<<e

26、ndl<<"* *5:修改学生信息* *"<<endl<<"* *6:统计学生成绩* *"<<endl<<"* *7:保存学生信息* *"<<endl<<"* *0:退出系统* *"<<endl<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<"请选择 :"cin>>n;return n0;/ 主函数void main()sc

温馨提示

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

评论

0/150

提交评论