

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生学籍管理系统【摘要】 学籍管理系统设计涉及学生信息的录入,显示,查找,删除,修改,统计, 保存,退出等功能,从而能够对信息进行处理。程序中运用了相关类的知识,同时定 义了一定数量的数据及成员函数。程序使用了数组记录统计的相关数据,运用了指针 实现相应功能函数的功能,运用了 student ,school 两个类实现面向对象的要求。程序 的完成涉及到程序的分析,模块的分解,程序的控制,程序的调试。【关键词】 学籍管理 vc+6.0 面向对象 程序控制 类第 1 章 概述1.1 系统实现的目标课程设计的任务:制作一个小型的学生学籍管理系统,要求制作一个菜单,实现数据的录 入,数据的显示,数据查
2、找,数据的删除,数据的保存,数据的统计,数据 的修改,系统的退出。系统的设计要求用到 C+ 面向对象的程序设计,要 求用到类来实现,同时每一个功能用到一个函数。基本功能: 学生基本信息(编号,姓名,性别,籍贯,民族,生日,政治面貌,省 份证,数学成绩,英语成绩,计算机成绩)成绩统计(各科总成绩,各科平均成绩,各科的及格率)扩展功能:学生数据的添加、修改、与删除学生数据的读取与存储系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成 绩,平均成绩,及格律都进行了统计;系统数据的录入 除可以手工录入 外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号, 姓名,民族
3、,政治面貌,身份证号,生日,性别,数学、英语、计算机的成 绩;程序中查找运用了两种查找方式即学号查找和姓名查找。1.2 系统实现方案第一步:分析题目,建立类并派生出它的子类,画出类图。第二步:画出流程,根据流程图编写程序清单第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。 第五步:及时整理资料,撰写课程设计报告中有关这个题目的内容。1.3 系统实现环境硬件配置 :586 以上 PC 兼容机或品牌机,配有彩色显示器、鼠标、键盘, 内存不小于64MB,硬盘自由空间不少于200MB。 推荐配置为内存 128MB或256MB(或以上),硬盘自由空间500MB 以上。操作系统 :Wind
4、ows2000/NT/Xp 、 Visual C+ 集成开发环境。第 2 章系统分析2.1 调查程序对学生学籍的数据处理要求1能够输入并浏览学生的基本信息;2能够实现对学生信息的查询和修改;3能够对成绩进行统计;4能够对学生的信息进行保存;现行的系统功能:资料维护:系统维护包括对各学生信息和成绩的录入操作。 资料维护:对数据表中的信息进行浏览。系统查询:可以对不同科目的总成绩、不及率、各科平均成绩相关信 息。2.2 现行系统分析第 3 章系统设计3.1 系统功能设计系统功能结构图:类: stude nt数据成员编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩, 计算机成
5、绩类: school成员函数录入函数In put() :输入编号到计算机的成绩;统计函数coun t() :统计各科的总成绩,计算平均成绩,统计各科的及格率;查询函数found() :按学号或姓名查找学生的记录;修改函数men d() :修改指定学号学生成绩记录;删除函数del():删除指定学号学生记录;输出函数show() :输出班级所有学生成绩记录;UML 图:3.2 类设计Student#number : int#name20:char#sex6:char#place20:char#nation6:char#birth20:char#party10: char#id20:char#sco
6、re3:float+student*next。+student() +student() + * getname():char+getnumber():int+getscore(inti)double+ getg():float+ input():void+input(ifstream& is):void+output():void3.3 输入输出的设计1 界面的设计、界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。、功能设计通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应 用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能 完成学生信息和成绩的输入。记录查
7、询功能可以对数据各分类的记录进行查询。2 数据输出设计系统主界面:统计界面:查找界面:school+school()+school()+ input():void+ mend():void+ del():void+ find:int+found():void+ show():void+ count():void+ save():void+begin():void+clear():void+mainmenu():char+getkey():int+setkey(intk):void-*head:student-key:int显示界面:录入界面:修改界面:第 4 章 系统实现1.代码 #inclu
8、de #include #include #includeclass studentprotected: int number 。 char name20 。 char sex6 。 char place20 。 charnation6 。char birth20 。char party10 。char id20 。float score3 。public: student *next 。student() student() char* getname() return name。 int getnumber() return number。 double getscore(int i) r
9、eturn scorei。 float getg() return (score0+score1+score2)。 void input() int e=1 。 coutttt 按提示输入 :endl 。 coutnumber 。coutname 。 do coutsex 。 if(strcmp(sex, 男 )=0 | strcmp(sex, 女 )=0) coutplace 。 couttt 输入民族 : coutbirth 。 coutparty 。coutid 。 coutscore0 。coutscore1 。coutscore2 。e=0 。 elsecoutttt 无此类型性别
10、! 重新输入 !numbernamesexplacenationbirthpartyidscore0score1score2 。is.get() 。 void output()cout 学生基本信息如下 :endl 。cout 编号 :number 姓名 :name 性别 :sex 籍贯 :place 民族 :nation 生日 :birth 政治面貌 :partyendl 身份证号 :id 数学 :score0 英语 :nation 。 计算机 :score2 总分 :getg()endlendl 。void output(ofstream & os) ossetw(6)number set
11、w(15)namesetw(20)placesetw(6)nationsetw(20)birthsetw(20)partysetw(20)idsetw(6)score0setw(6)score1setw(6)score2next=NULL 。 key=0 。 school() delete head 。 void input() 。 void mend() 。 void del() 。int fin d(stude nt *p,i nt nu m,char *pn=人)。void found()。void show()。void count()。void save() 。 void begin
12、() 。 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=head 。 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)
13、 。coutn 。/ 子查找函数int school:find(student *p1,int num,char *pn)student *p 。 p=head 。 while(p-next)(*p1)=p 。if( (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=A。do coutn 。while(n2)。if(n=1) coutn
14、um 。 if(n=2) coutname 。 if(!find(&p,num,name) ) couttt 找不到你要查找的内容 !next)-output() 。/ 删除函数void school:del()student *p,*p2 。 int num 。coutnum 。if( !fin d(&p, nu m,“) couttt 找不到你要删除的内容 !next)-output() 。 p2=p-next 。 p-next=p2-next 。 delete p2 。school:setkey(1) 。 void school:show() / 显示函数 student *p 。 p=
15、head 。while(p-next) (p-next)-output() 。p=p-next 。/ 修改函数void school:mend()student *p 。int num=-1,n。char n ame20=A。do coutn 。while(n2)。if(n=1) coutnum 。if(n=2)coutname 。if( !find(&p,num,name) ) couttt 找不到你要修改的内容 !next)-output() 。 (p-next)-input() 。 school:setkey(1) 。void school:save() / 保存函数student *p
16、 。 p=head 。ofstream os(student.txt,ios:out) 。if (school:getkey()=1)while(p-next) (p-next)-output(os)。p=p-next 。 coutttt 文件已保存 ! num 。 is.seekg(t) 。if(numinput(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
17、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 。 igetscore(i) ) 。(p-getscore(i) )=60.0? ji+ : 0 。coutttbbbb 数学总分 :g0 平均分 :g0/n 及格率 :j0/nendlttbbbb 英语总分 :g1 平均分 :g1/n 及格率 :j1/nendlttbbbb 计算机总分 : g2 平均分 : g2/n 及格率 :j2/nendl
18、。/ 主选菜单函数char school:mainmenu()char n6 。coutnn欢迎进入学籍管理系统e ndle ndl* * * * * * * * * * * * * * * * * * * * * * * * * * * *endl* * * * * * * * * * * *endl* *1:录入学生信息* *endl* *2:显示学生信息* *endl* *3:查找学生信息* *endl* *4:删除学生信息* *endl* *5:修改学生信息* *endl* *6:统计学生成绩* *endl* *7:保存学生信息* *endl* *0:退出系统* *endl * * *
19、 * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * *endln 。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) coutk 。if(k=1)pp.save() 。pp.clear()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东工商学院《水力学及桥涵水文》2023-2024学年第二学期期末试卷
- 宁夏职业技术学院《能源与动力专业导论》2023-2024学年第二学期期末试卷
- 南通职业大学《交通设计》2023-2024学年第二学期期末试卷
- 四川科技职业学院《高级管理学》2023-2024学年第二学期期末试卷
- 黑龙江工商学院《化工安全风险评估与防范》2023-2024学年第二学期期末试卷
- 咸阳职业技术学院《妨害社会管理秩序罪研究》2023-2024学年第二学期期末试卷
- 广东南华工商职业学院《计算机组成与体系结构实验》2023-2024学年第二学期期末试卷
- 宁夏葡萄酒与防沙治沙职业技术学院《环境科学前沿》2023-2024学年第二学期期末试卷
- 黔南民族医学高等专科学校《针织服装设计与工艺》2023-2024学年第二学期期末试卷
- 山西金融职业学院《高级物流学》2023-2024学年第二学期期末试卷
- 学校心理健康教育与家校合作的实践研究
- T-GXAS 689-2024 重大基础设施项目涉及风景名胜区选址论证报告编制技术规范
- GB/T 44971-2024土壤硒含量等级
- 中职心理健康第五课认识情绪管理情绪
- 足浴技师押金合同范例
- 2024下半年四川省中江县事业单位招聘30人历年管理单位遴选500模拟题附带答案详解
- 【MOOC】动物学-华中农业大学 中国大学慕课MOOC答案
- 大学本科生入学登记表(系统版)
- 足球鞋相关项目实施方案
- 信贷准入资格考试练习测试题附答案
- 名著阅读:简答、阅读题(解析版)-2025年中考语文复习专练
评论
0/150
提交评论