C课程设计报告学生学籍管理系统.doc

上传人:夺命阿水 文档编号:14782 上传时间:2022-06-29 格式:DOC 页数:12 大小:85.36KB
返回 下载 相关 举报
C课程设计报告学生学籍管理系统.doc_第1页
第1页 / 共12页
C课程设计报告学生学籍管理系统.doc_第2页
第2页 / 共12页
C课程设计报告学生学籍管理系统.doc_第3页
第3页 / 共12页
C课程设计报告学生学籍管理系统.doc_第4页
第4页 / 共12页
C课程设计报告学生学籍管理系统.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C课程设计报告学生学籍管理系统.doc》由会员分享,可在线阅读,更多相关《C课程设计报告学生学籍管理系统.doc(12页珍藏版)》请在课桌文档上搜索。

1、- - - .专业文档. 目目目 录录录 第第 1 1 章概述章概述 4 4第第 2 2 章系统分析章系统分析 5 5第第 3 3 章系统设计章系统设计 6 63.1 系统功能设计 63.2 类设计 63.3 输入输出设计 7第 4 章系统实现 9结论 16后记 16参考文献 17【摘要】 学籍管理系统设计涉及学生信息的录入,显示,查找,删除,修改,统计,保存,退出等功能,从而能够对信息进展处理。程序中运用了相关类的知识,同时定义了一定数量的数据及成员函数。程序使用了数组记录统计的相关数据,运用了指针实现相应功能函数的功能,运用了 student ,school 两个类实现面向对象的要求。程序

2、的完成涉及到程序的分析,模块的分解,程序的控制,程序的调试。【关键词】 学籍管理 vc+6.0 面向对象 程序控制 类第第 1 1 章章 概述概述1.1 系统实现的目标课程设计的任务: 制作一个小型的学生学籍管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出。系统的设计要求用到 C+面向对象的程序设计,要求用到类来实现,同时每一个功能用到一个函数。根本功能:学生根本信息编号, ,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩成绩统计各科总成绩,各科平均成绩,各科的及格率扩展功能:学生数据的添加、

3、修改、与删除学生数据的读取与存储 系统特点:系统要能够对相应的数据进展很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进展了统计;系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生的根本信息较全面,包括*, ,民族,政治面貌,号,生日,性别,数学、英语、计算机的成绩;程序中查找运用了两种查找式即*查找和查找。1.2 系统实现案第一步:分析题目,建立类并派生出它的子类,画出类图。 第二步:画出流程,根据流程图编写程序清单 第三步:上机调试程序使用单步调试,设置断点、分块调试的法 。 第五步:及时整理资料,撰写课程设计报告中有关这个题目的容。 1.3 系统实现环境硬件配

4、置硬件配置:586 以上 PC 兼容机或品牌机,配有彩色显示器、鼠标、键盘,存不小于 64MB,硬盘自由空间不少于 200MB。推荐配置为存 128MB 或 256MB或以上 ,硬盘自由空间 500MB 以上。操作系统操作系统:Windows2000/NT/*p、Visual C+集成开发环境。第第 2 2 章章 系统分析系统分析2.1 调查程序对学生学籍的数据处理要求 能够输入并浏览学生的根本信息; 能够实现对学生信息的查询和修改; 能够对成绩进展统计; 能够对学生的信息进展保存;现行的系统功能:资料维护:系统维护包括对各学生信息和成绩的录入操作。资料维护:对数据表中的信息进展浏览。系统查询

5、:可以对不同科目的总成绩、不及率、各科平均成绩相关信息。2.2 现行系统分析现行系统组织构造图:第第 3 3 章章 系统设计系统设计3.13.1 系统功能设计系统功能设计系统功能构造图:主程序初始化程序采单程序查找删除修改统计输入显示退出开场选择菜单序号1录入信息2显示信息3查找信息4删除信息5修改信息6统计成绩7保存信息0退出按要求逐步输入学生信息选择修改方式1.编号查询*查找2.保存.输入学生信息退出保存3.23.2 类设计类设计类:student 数据成员编号, ,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩类:school成员函数录入函数 Input():输

6、入编号到计算机的成绩;统计函数 count():统计各科的总成绩,计算平均成绩,统计各科的及格率;查询函数 found():按*或查找学生的记录;修改函数 mend():修改指定*学生成绩记录;删除函数 del():删除指定*学生记录;输出函数 show():输出班级所有学生成绩记录;UML 图:Student*number:int*name20:char*se*6:char*place20:char*nation6:char*birth20:char*party10: char*id20:char*score3:float+student*ne*t; +student() +student(

7、) + * getname():char+getnumber():int+getscore(inti)double+ getg():float+ input():void+input(ifstream & is): void +output():void+output(ofstream&os):voidschool+school()+school()+ input():void+ mend():void+ del():void+ find:int+found():void+ show():void+ count():void+ save():void+ begin():void+ clear(

8、):void+mainmenu():char+getkey():int+setkey(intk):void- *head: student - key:int3.33.3 输入输出的设计输入输出的设计1 1界面的设计界面的设计、界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。、功能设计通过主窗体调用其他窗体,具体实现可以参照系统分析相关容。应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进展查询。2 2数据输出设计数据输出设计系统主界面:统计界面:查找界面:显示界面:录入界面:修改界面:第第 4 4 章章

9、系统实现系统实现1. 1.代码代码*include*include*include*include class student protected: int number;char name20;char se*6;char place20;char nation6;char birth20;char party10;char id20;float score3;public: student *ne*t; student() student() char* getname() return name; int getnumber() return number;double getscore

10、(int i) return scorei;float getg() return (score0+score1+score2); void input()int e=1;coutttt 按提示输入:endl;coutnumber;coutname;docoutse*; if(strcmp(se*,男)=0 | strcmp(se*,女)=0) coutplace; coutnation;coutbirth; coutparty; coutid; coutscore0;coutscore1;coutscore2; e=0; else coutttt 无此类型性别!重新输入!numbername

11、se*placenationbirthpartyid score0score1score2;is.get(); void output()cout学生根本信息如下:endl; cout编号:number :name 性别:se* 籍贯:place 民族:nation 生日:birth 政治面貌:partyendl号:id 数学:score0 英语:score1 计算机:score2 总分:getg()endlendl;void output(ofstream & os) ossetw(6)number setw(15)namesetw(20)place setw(6)nationsetw(20

12、)birthsetw(20)party setw(20)idsetw(6)score0setw(6)score1setw(6)score2ne*t=NULL; key=0; school() delete head; void input();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

13、;void setkey(int k) key=k; private: student *head; int key;/录入函数void school:input()student *p,*p2=NULL;p=head; int n;while(p-ne*t)p=p-ne*t;while(n)p2=new student; p2-input(); p-ne*t=p2;p2-ne*t=NULL;p=p-ne*t; school:setkey(1); coutn;/子查找函数int school:find(student *p1,int num,char *pn)student *p;p=head

14、;while(p-ne*t) (*p1)=p; if( (p-ne*t)-getnumber()=num|!strcmp( (p-ne*t)-getname(),pn ) ) return 1; p=p-ne*t;return 0;/查找函数void school:found()student *p;int num=-1,n=9;char name20=;do coutn;while(n2);if(n=1) coutnum;if(n=2) coutname;if(!find(&p,num,name) ) couttt 找不到你要查找的容!ne*t)-output();/删除函数void sch

15、ool:del()student *p,*p2;int num;coutnum;if( !find(&p,num,) ) couttt 找不到你要删除的容!ne*t)-output();p2=p-ne*t;p-ne*t=p2-ne*t;delete p2;school:setkey(1);void school:show() /显示函数student *p;p=head;while(p-ne*t)(p-ne*t)-output();p=p-ne*t;/修改函数void school:mend()student *p;int num=-1,n;char name20=;do coutn;whil

16、e(n2);if(n=1) coutnum;if(n=2)coutname;if( !find(&p,num,name) ) couttt 找不到你要修改的容!ne*t)-output();(p-ne*t)-input();school:setkey(1);void school:save() /保存函数student *p;p=head;ofstream os(student.t*t,ios:out);if (school:getkey()=1) while(p-ne*t) (p-ne*t)-output(os); p=p-ne*t;coutttt 文件已保存! num;is.seekg(t

17、); if(numinput(is);p-ne*t=p2;p2-ne*t=NULL;p=p-ne*t;void school:clear()/清空函数 student *p,*p2;p=head-ne*t;while( p )p2=p;p=p-ne*t;delete p2;void school:count()/统计函数 student *p;p=head;int n=0;double g3=0,0,0;float j3=0,0,0;while(p-ne*t) p=p-ne*t; n+; for(int i=0;igetscore(i) ); (p-getscore(i) )=60.0 ji+

18、 : 0 ;coutttbbbb 数学总分:g0 平均分:g0/n 及格率:j0/nendlttbbbb 英语总分:g1 平均分:g1/n 及格率:j1/nendlttbbbb 计算机总分: g2 平均分: g2/n 及格率:j2/nendl;/主选菜单函数char school:mainmenu()char n6;coutnn 欢送进入学籍管理系统endlendl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *

19、endl * * 1: 录入学生信息 * *endl * * 2: 显示学生信息 * *endl * * 3: 查找学生信息 * *endl * * 4: 删除学生信息 * *endl * * 5: 修改学生信息 * *endl * * 6: 统计学生成绩 * *endl * * 7: 保存学生信息 * *endl * * 0: 退出系统 * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endln;

20、return n0;/主函数void main()school pp;int k=1;char n;pp.begin();while(k=1)n=pp.mainmenu();switch(n)case 1:pp.input(); break; case 2:pp.show(); break; case 3:pp.found(); break; case 4:pp.del(); break; case 5:pp.mend(); break; case 6:pp.count(); break; case 7:pp.save(); break; case 0: if(pp.getkey()=1) c

21、outk; if(k=1) pp.save(); pp.clear(); k=0; break; 2. 2.系统运行的结果系统运行的结果结论结论本程序根本完成了题目要求的功能。但是由于显示的限制,所罗列的学生成绩只给出了数学,英语,计算机的成绩。程序可通过改良,增加科目数。 程序在显示学生信息时输入过于繁杂,不够清晰明朗,假设显示成类似表格的形式就好了。解决方法将输出函数的输出格式改一下,难点是计算输出点的控制。后记后记此次 c+课程设计,在指导教师的精心教诲下,我们学会了如用 C+编写一个简单的应用程序。首先要对程序的设计要求有一个比拟明确的认识,然后系统分析与系统设计,最后是代码设计与调试

22、。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据 C+课程所学的概念、理论和法,按照 C+程序设计的根本步骤,设计出一个适当规模的程序;进一步加深对 C+语言的理解和掌握。理论联系实际,加深和稳固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改良,才能更好提高编程能力。参考文献参考文献1雪飞C+实例入门,中国青年,2004 年 5 月出版2谭浩强编,C+面向对象程序设计,清华大学,2005 年 7 月出版3师贤等译,C+精华,机械工业,2002 年 8 月出版4滨 海萍,C+类库使用手册,电子工业,2007 年 7 月出版5灿煌,C+彻底研究 中国青年,2005 年 9 月出版。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号