ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:215.65KB ,
资源ID:4051378      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4051378.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生基本信息管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生基本信息管理系统.docx

1、学生基本信息管理系统前言随着两周时间的过去,本次的“学生成绩管理系统”课程设计也结束了。虽然只是两周时间,但是却让我对C+有了新的认识和更深一步的了解。在这两周里,每天下午都坐在机房,对着电脑,看着自己编写的代码从少变多,从简单变复杂。心里都有种说不出的感觉,既希望能够快点写完,又害怕出现未知的错误。虽然其中出现很多错误,但是经过请教一些同学,上网XX或者翻看教科书,最终还是解决了这些问题,完成了任务。 “C+程序设计”是大学本科计算机相关专业的一门非常重要的专业基础课。本课程的重点是C+程序语言的选择、循环语句,数组,函数,指针,类与对象以及继承、多态等,给学生渗透程序与算法设计的基本思想与

2、方法,难点是指针和面向对象的理解。为体现作为专业基础课的“专业”和“基础”的特点,本次课程设计有两个方面的内容要在实践中落实:一、掌握C+语言本身的语法与程序结构。二、掌握一定的算法与常用函数的编程实现,为后续课程打好基础。同时,我也希望自己可以在此次课程设计学习之后,可以更加熟练的运用C+基本语句,培养自己对于计算机编程的喜爱,对编程可以有更深一步的了解。1、 课程设计的目的及要求1.1 课程设计的目的C+课程设计是将C+理论教学与实践环节相结合的关键步骤,通过该实践教学环节,使学生进一步学习和巩固C+课程的核心内容,加深对面向对象程序设计思想的正确理解;并且熟练掌握C+程序设计技能及上机调

3、试方法,为今后学习其他专业课程打好基础;并能具备一定的计算机程序设计能力,培养独立分析问题、解决问题及查阅资料、获取新知识的能力,以适应技术不断更新的计算机行业特点。1.2 课程设计的内容按照要求设计一个学生基本信息管理系统,实现对学生信息的综合管理。学生信息包括:学号、姓名、年龄、性别、家庭住址、联系电话、寝室号等信息。现要求编写程序来完成如下功能:(1)学生信息的输入包含功能:对输入的学号是否重复进行判断(学号唯一);对输入的是否为有效性别进行判断。(2)学生信息的显示(3)学生信息的查询包含功能:实现按“学号、姓名、性别、寝室号”等查询;若非法查询或未查到请给予提示。(4)学生信息的统计

4、包含功能:统计学生的“男生人数、女生人数、总人数” (5)学生信息的删除包含功能:删除指定学号的学生信息;若无此记录,给予提示。(6)学生信息的修改包含功能:根据接收到的待修改的学生的学号,进行对相应信息的修改。(7)清理屏幕 (8)退出1.3 课程设计的要求 (1)熟悉VC+6.0编译环境,熟练使用编译调试工具。(2)学习C+输入输出流对象的使用。(3)通过系统分析和实现,掌握简单软件开发的一般过程。(4)以学生独立思考、解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,撰写课程设计报告。2、 设计方案及具体实现2.1 程序总的功能说明这是一个学生基本信息管理系统,通过本系统,可以实

5、现对学生信息进行学生信息的录入、学生信息的显示、学生信息的统计、学生信息的删除、学生信息的修改、清理屏幕和退出等功能,可以有效的对学生信息进行综合管理。学生信息包括:学号、姓名、性别、年龄、家庭住址、联系电话以及寝室号等信息。2.2 总的设计思路及流程在这个学生基本信息管理系统中,定义了函数void getInfo()、void SaveTxt()、void stuSaveTxt()、void showInfo()、void searchmenu()、void searchnum()、void searchname()、void searchsex()、void searchdormitory

6、()、void countmenu()、void altermenu()、void alterstudent()、void erase()、int huoqu(int i)、进行学生信息的录入、保存、显示学生信息、按学号、姓名、性别、寝室号查询;统计学生信息、修改学生信息、删除学生信息等的实现,另外用函数实现了程序中的清屏和退出。在函数中,多次运用switch(),do while()函数,使程序简单顺利的进行。当然,通过menu()等的菜单函数,来实现功能菜单显示在运行窗口以提示用户如何进行操作。另外,主函数main()中,不再是全部在一个函数中实现,而是通过对函数的调用,让函数的功能进行实

7、现。另外,在函数中也用了大量的清屏和退出函数,使整个管理系统更为合理和完善。2.3系统功能的说明和设计及各模块流程图在本章中,主要是介绍各个功能函数的设计思路和实现方法。在整个管理系统中让用户的使用更加容易,使整个程序变得更为简便。整个管理系统的结构图如下:录入学生信息学生的录入信息函数中,通过对getInfo()函数的调用,对学号、姓名、年龄、性别、家庭住址、联系电话、寝室号进行录入、保存。显示学生信息 在学生信息的显示中,通过对showInfo()函数的调用,来显示所有的学生数据。其中包括所有学生的学号、姓名、年龄、性别、家庭住址、联系电话、寝室号,显示成功后,又用system(pause

8、)来实现按任意键返回,可以返回到主菜单,再次进行选择。查询学生信息在学生的信息查询中,通过调用searchmenu()来进行输入提示。具体操作中,通过调用searchnum()、searchname()、searchsex()、searchdormitory()分别以学生的学号、姓名、性别、寝室号进行查询,通过这些函数对学生的信息进行了筛选,使查询信息变得更为简单,也更省时间。通过switch()函数,实现了查询的四种方法,也通过system(pause)进行了程序的返回。统计学生信息在学生信息的统计中,统计函数主要通过对TXT文件里面性别(sex)数据做统计,最后按照想要统计的输出统计的男生

9、人数、女生人数、总人数的统计,同时输入任意键可以用system(pause)来进行返回。删除学生信息 删除信息功能需要先调用查找学号位置函数,然后通过不读入要删除学号信息的方法,重新写入原来TXT文件里面实现删除功能。修改学生信息修改函数主要是先通过输入的学号查找信息所在TXT文件所在的位置,然后再通过void alterstudent()函数对学号,姓名,性别,年龄,家庭住址,联系方式,宿舍号的修改。清理屏幕清理屏幕通过system(cls);函数实现。退出退出功能就是结束程序,通过break结束循环结束程序。3、 调试及运行结果3.1 主菜单主菜单显示了1 录入学生信息,2 显示学生信息,

10、3 查询学生信息,4 统计学生信息,5 删除学生信息,6 修改学生信息,7 清理屏幕,0 退出管理系统等功能选项及姓名联系方式等信息。3.2 录入学生信息在主菜单中选择1,将出现输入学号,姓名,年龄,性别,地址,电话,寝室号等选项,输入完毕后,成功保存到电脑D盘中。若输入相同的学号,将出现提示“重复学号”。 3.3 显示学生信息在主菜单中选择2,系统将会自动显示student.txt文件中的内容。3.4 查询学生信息在主菜单选择3,将通过选择按学号查询,按姓名查询,按性别查询,按寝室号查询等选项,输入对应的选项将显示所查找的信息。以下是按学号查询:3.5 统计学生信息在主菜单选择4,系统将会统

11、计出来输入的男生人数,女生人数,总人数并显示。3.6 删除学生信息选择删除信息选项后,系统提示输入要删除的学号,输入回车即可删除学生信息。3.7 修改学生信息3.8 清理与退出选择退出管理系统后,程序将结束4、 小结经过不到两个星期的努力,“学生信息管理系统”终于做完了,这是第一次完成一个系统。学习的心态很关键,不懂了就要学着去用不同的方式去获取,补足自己,通过各种各样的方式,学着去请教别人和别人交流,做到不懂就问。不可否认的是,这个系统并不是靠我一个人的能力完成的。我请教了很多同学,有时为了理解代码的含义,经常问同学或是上网查资料,并且老师给我们的模板对我的帮助也非常大,让我学会了使用#in

12、clude 等文件的使用,在编程过程中有的错误提示自己实在想不通的就去XX上搜,网络给了我很多帮助。过程是有点儿浮躁的,有的时候为难的有点儿绝望,不过经过同学在一起讨论和自己的摸索,整个流程还是较为通顺的完成了。在做程序的过程中,因为太为频繁的使用switch语句do-while语句,有的甚至是switch中套着switch,出错后再进行修改,很容易大括号丢失或多余,这时程序提示的错误也就变得不准确了,即使知道是因为大括号导致的问题,也一时半会儿改不出来,浪费了很多时间。这种错误的原因还是因为自己对语句不够熟练,以后的学习中要避免类似错误发生。另外,在刚开始做这个程序的时候,和老师的思路不是特

13、别一样,自己也尝试着按照自己的想法做程序,但是导致自己两天都没有任何进展,最后又重新做了一遍。自己在对C语言的了解还不够多,只是皮毛,所以还不能轻松地运用自如,一些方面还是考虑的不够周全,这是我所欠缺的。虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。学习计算机是一个漫长的过程,当然有时也会很枯燥,甚至在别人眼中是不可思议的。但是既然选择了这个专业,就努力脚踏实地学好,让它真正的为己所用。参考文献1. C+面向对象程序设计谭浩强 清华大学出版社2. 数据结构(C语言版)严蔚敏&吴伟民 清华大学出版社3. XX资源附录:程序代码#include#include#i

14、nclude#includeusing namespace std;class Student /声明类 private : string num; string name; int age; string sex; string address; string phone; string dormitory; public : void getInfo();/录入 void SaveTxt();/保存 void showInfo();/显示 void searchmenu();/查询菜单 void searchnum(); void searchname(); void searchsex(

15、); void searchdormitory(); void countmenu();/统计 void altermenu();/修改菜单 void alterstudent();/修改 void alterSaveTxt(); void erase();/删除 int huoqu(int i);/获取录入新的学生信息void Student:getInfo() cout请输入学号:num; cout请输入姓名:name; cout请输入年龄:age; cout请输入性别:sex; cout请输入地址:address; cout请输入电话:phone; cout请输入寝室号:dormitor

16、y; cout是否确认? 1、是,按其他键为退回主页面a;void Student:SaveTxt() fstream fout1(f:student.txt,ios:out|ios:app); if(!fout1) coutCannot open file.endl; exit(1); fout1num name sex age address phone dormitoryendl; fout1.close();/显示所有学生信息void Student:showInfo() fstream fin(f:student.txt,ios:in); if (!fin) coutCannot o

17、pen file.numnamesexageaddressphonedormitory; if(num=) break; cout学号:num 姓名:name 性别:sex 年龄:ageendl; cout家庭住址:address 联系方式:phone 寝室号:dormitoryendl; num=; fin.close(); system(pause);/查询菜单void Student:searchmenu() cout=endl; cout 1 按学号查询 2 按姓名查询 endl; cout 3 按性别查询 4 按寝室号查询 endl; cout-endl; cout请选择:;void

18、 Student:searchnum() string Num; cout请输入你要查询的学号:Num; fstream fin(f:student.txt,ios:in); if (fin.fail() coutCannot open file.endl; exit(1); int n=0; coutnumnamesexageaddressphonedormitory; if(num=) break; if(num=Num) cout学号:num 姓名:name 性别:sex 年龄:ageendl; cout家庭住址:address 联系方式:phone 寝室号:dormitoryendl;

19、 n=1; num=; if(n=0) cout没有要找的学生endl; fin.close(); system(pause);void Student:searchname() string Name; cout请输入你要查询的姓名:Name; fstream fin(f:student.txt,ios:in); if (fin.fail() coutCannot open file.endl; exit(1); int n=0; coutnumnamesexageaddressphonedormitory; if(num=) break; if(name=Name) cout学号:num

20、姓名:name 性别:sex 年龄:ageendl; cout家庭住址:address 联系方式:phone 寝室号:dormitoryendl; n=1; num=; if(n=0) cout没有要找的学生endl; fin.close(); system(pause); void Student:searchsex() string Sex; cout请输入你要查询的性别:Sex; fstream fin(f:Student.txt,ios:in); if (fin.fail() coutCannot open file.endl; exit(1); int n=0; coutnumnam

21、esexageaddressphonedormitory; if(num=) break; if(sex=Sex) cout学号:num 姓名:name 性别:sex 年龄:ageendl; cout家庭住址:address 联系方式:phone 寝室号:dormitoryendl; n=1; num=; if(n=0) cout没有要找的学生endl; fin.close(); system(pause);void Student:searchdormitory() string Dormitory; cout请输入你要查询的寝室号:Dormitory; fstream fin(f:stud

22、ent.txt,ios:in); if (fin.fail() cout无法找到文件endl; exit(1); Student stu; int n=0; coutnumnamesexageaddressphonedormitory; if(num=) break; if(dormitory=Dormitory) cout学号:num 姓名:name 性别:sex 年龄:ageendl; cout家庭住址:address 联系方式:phone 寝室号:dormitoryendl; n=1; num=; if(n=0) cout没有要找的学生endl; fin.close(); system(

23、pause);void Student:countmenu()/统计 fstream fin(f:student.txt,ios:in); int m=0,n=0,i=0; if (fin.fail() coutnumnamesexageaddressphonedormitory; if(num=) break; if(sex=男) n+; else i+; m+; fin.close(); cout男生人数有n人endl; cout女生人数有i人endl; cout总人数m人endl; system(pause);/查找int Student:huoqu(int i) int n=0; st

24、ring m; switch(i) case 1:cout请输入要删除的学号:;break; case 2:coutm; fstream fin(f:student.txt,ios:in); if (fin.fail() coutnumnamesexageaddressphonedormitory; if(num=) break; if(num=m) n+; return n;/删除void Student:erase() int count=0,n; n=huoqu(1); fstream file(f:student.txt); string line; ofstream outfile(d:in2.txt,ios:out|ios:trunc); while(!file.eof() getline(file,line); if(count!=n-1) outfilelineendl; count+; outfile.close(); file.close(); ofstream outfile1(f:student.txt,ios:out|ios:trunc); fstream file1(d:in2.txt); while(!file1.eof() getline(file1,line); outfile1lineendl; outfile1.c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1