2022年C++实验报告书.pdf
中南大学本科生课程设计 (实践)任务书、设计报告(C+程序设计 ) 题目学生管理系统学生姓名蔡云伟指导教师李大扬学院材料科学与工程专业班级材料国际 1401 班学生学号08计算机基础教学实验中心2015 年 6 月 4 日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 18 页 - - - - - - - - - - 目 录一、程序设计目的 . 错误!未定义书签。二、程序功能介绍 . 错误!未定义书签。三、程序设计 . 错误!未定义书签。1)程序结构 . 错误! 未定义书签。2)模块说明 . 错误! 未定义书签。四、调试与分析 . 错误!未定义书签。1)程序调试过程. 错误! 未定义书签。2)程序的不足 . 错误! 未定义书签。五课程设计总结 . 错误!未定义书签。参考文献 . 错误!未定义书签。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 18 页 - - - - - - - - - - 人员信息管理系统摘要 通过设计程序实现对人员的快速信息化管理关键词 输入输出,数据化,智能查询一 程序设计目的针对本学期 C+ 课程,运用 Microsoft Visual C+ 完成对设计题目的编写、调试、 运行,进一步掌握面向进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识, 同时使理论与实践结合,提高查阅资料、独立思考、团队合作的能力。二 程序功能介绍本组课程设计的课题是“人员信息管理系统设计”, 本系统以菜单方式工作,有一名管理员可以进行人员编号、姓名、年龄、性别、出生年月、地址、电话、E-mail 等信息的录入,并对人员信息进行浏览,还有按编号和姓名查询删除及修改人员信息的功能。三 程序设计设计思路:将人员信息定义为一个student 类,在类中包含私有数据成员 int num 、string name 、string sex、string politic、string address ,分别表示编号,姓名,年龄,性别,出生年月,地精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 18 页 - - - - - - - - - - 址,电话, E-mail 等。公有成员函数包括:set( ) ,add( ) ,del( ) ,change( ) ,research( ) ,show( ) ,分别用来实现对人员信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据功能。然后定义了一个menu( ) 菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作。主函数是一个程序必不可少的,在主函数中,使用一个switch 语句来选择调用主菜单中的各个功能函数。1)程序结构结构框图结构流程该人员信息管理系统包括信息输入、添加、删除、修改、查询和显示功能。所包含的人员信息包括编号,姓名,年龄,性别,出生年月, 地址等。所以程序中包括公有成员函数set(); void add();void del();void change();void search();void display(); 其作用分别为初始化信息,第一次对信息的录入;添加人员信息;删除某人员信息;修改某人员信息;查询某人员信息;显示全部学生信息。同时定义 menu( ) 菜单函数,作用为使系统以菜单方式工作。最后定信息管理系统信息输入信息删除信息查询信息添加信息修改显示精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 18 页 - - - - - - - - - - 义主函数,使用一个switch 语句来选择调用主菜单中的各个功能函数。2)模块说明(1) 、set()函数,初始化信息,第一次对信息的录入。内容包括输入编号、姓名、性别、年龄、电话、地址、电子邮件、出生年月。首先定义可以存信息总量为200。然后从 1 开始依次录入相应个数人员的信息。当人员姓名为“0”时停止输入。(2) 、change(); 函数,修改某人员信息,选择要修改人员信息的对 象 , 即 第k个 数 据 , 然 后 依 次 对int numk;stringnamek,sexk,agek,numberk,addressk,e_mailk,birthk 等数据进行修改,结束修改后,系统将提示“已完成修改”。(3) 、add()函数,添加人员信息,以追加的方式录入信息,直接将信息追加到以前文件的末尾。具体操作依次输入相应的数据,并且追加到之前的文件中去。完成后系统将进行提示。(4) 、del ()函数,删除人员信息,选择要删除的信息,系统将进行将数组储存的数据取出到文件中的操作。(5) 、menu ()菜单函数。菜单函数将对系统使用者进行提示,显示内容为系统的功能以及各功能相对应的数字键。例如,在菜单下输入“4” ,系统将进入信息修改界面, 并且出现“你想修改第几个数据”的提示。输入“ 0”可返回。(6)、search ()函数,查询人员信息,查询人员信息可以通过编精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 18 页 - - - - - - - - - - 号和姓名两种方式进行。在此系统使用了选择语句功能,输入“a”进入编号查询,输入“b”则进入姓名查询,输入其他内容系统将进行提示“没有此选项” 。操作完成后,系统将显示该名人员的全部信息。(7) 、display ()函数,显示全部人员的所有信息。(8) 、switch ()函数,程序主函数。使用者在对主函数进行相应操作后,该函数将调用上述函数,case“1”至“6”分别对应信息的输入、添加、删除、修改、查询和显示功能。Case “0”对应功能为中止当前操作。四 调试与分析1)程序调试过程:所谓程序调试是指对程序的查错和排错。我们调试程序经过以下几个步骤:工作进程22232425262728293012蔡云伟分配工作主函数以及声明调试添加文件主界面的设计调试添加、显示、删除文件调试修改文件整合全部程序及初步调试最终调试及答辩刘嘉雪初始化文件显示文件添加文件删除文件修改文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 18 页 - - - - - - - - - - 1. 先进行人工检查。在程序以后,我们对程序进行人工检查,发现程序设计人员由于疏忽而造成的多数错误。为了更有效地进行人工检查,我们所编的程序力求做到以下几点 A 、应当采用结构化程序方法编程B、并尽可能多加注释,以帮助理解每段程序的作用C 、在编写复杂的程序时不将全部语句都写在main 函数中,而多利用函数,用一个函数来实现一个单独的功能。2在人工检查无误后,进行上机调试。在编译时给出语法错误的信息,根据提示的信息具体找出程序中出错之处并改正之。并注意的是有时提示的出错并不是真正出错的行,如果在提示出错的行上找不到错误的话应当到上一行再找。3在改正语法错误后, 程序经过连接就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。应当对运行结果作分析,看它是否符合要求。4运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法A、将程序与流程图仔细对照,如果流程图是正确的话,程序写错了,是很容易发现的。B、 如果实在找不到错误 , 可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句 , 输出有关变量的值 ,往下检查。直到找到在哪一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就可能发现错误所在。总之,程序精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 18 页 - - - - - - - - - - 调试是一项细致、较为繁琐的工作,需要下功夫,动脑子,善于累积经验。2)程序的不足本程序设计存在的不足在于:存储信息时会会出现以下问题:1)在程序设计时,由于将数据定义为字符串等操作,在其中需要使用到循环语句时, 会出现一些小问题, 如系统无法成功提取相应组数据。2)添加或修改信息时,之前已储存的信息可能会被新进信息所覆盖,而出现无法调用之前的数据的情况。五 课程设计总结经过了一个学期的学习和上机实践,使我们对C+ 语言有了更深的认识和了解。通过对本程序的编写,我们基本掌握了软件的运用,同时也学会了如何分析设计调试等过程中遇到的问题,并耐心细心对待问题,一步步去解决它。 学会了如何将繁杂的工作细化处理,合理分配到每个人。在共同编写程序的过程中,我们发扬团队合作精神,一起查阅资料编写代码,探讨编程方法和技巧,相互学习。当然设计中还遇到很多棘手的技术性问题, 面对这些以我们自身能力无法解决的问题,我们积极寻求其他同学还有老师的帮助,最终完成了设计。总的来说,我们运用了自己的知识, 凭借团队的力量完成了理论到实精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 18 页 - - - - - - - - - - 践的结合,使我们受益良多,同时激发了我们日后深入学习C+ 语言的兴趣。参考文献1 C+ 语言程序设计(第三版) ,郑莉,清华大学出版社,2004 2 C+ 语言程序设计案例教程 ,郑莉,清华大学出版社,2005 3 C+ 程序设计教程,钱能主编,清华大学出版社, 4C+ 程序设计, 谭浩强,清华大学出版社,2004 5C+ 程序设计实践指导, 谭浩强,清华大学出版社 6C+ 程序设计课程设计,刘振安,机械工业出版社,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 18 页 - - - - - - - - - - 程序代码:#include#include#include#includeusing namespace std;#define M 200 编号查找 b.按姓名查找 endl;ifstream infile(,ios:in); if(!infile)cerr open errorendl;exit(1);for(i=0;inumi;ai=numi;infilenamei;bi0=namei;infilesexi;bi1=sexi;infileagei;bi2=agei;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 18 页 - - - - - - - - - - infilenumberi;bi3=numberi;infileaddressi;bi4=addressi;infilee_maili;bi5=e_maili;infilebirthi;bi6=birthi;cout 请输入 a 或者 b!ch; if(ch=a)cout 请输入编号! n;for(i=0;iN;i+)if(ai=n) w=1;cout=endl;cout 编号姓名性别年龄电话住址E-mail 出生年月 endl;coutai;couttbi0; couttbi1;couttbi2;couttbi3;couttbi4;couttbi5;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 18 页 - - - - - - - - - - couttbi6endl; cout=endl;if(w=0) cout无此人信息!endl;else if(ch=b)cout 请输入姓名! searchname;for(i=0;iN;i+)if(namei=searchname)w=1;cout=endl;cout 编号姓名性别年龄电话住址E-mail 出生年月 endl;coutai;couttbi0;couttbi1;couttbi2;couttbi3;couttbi4;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 18 页 - - - - - - - - - - couttbi5;couttbi6endl;cout=endl; if(w=0) cout无此人信息!endl;else cout没有此选项!endl;息输入endl;cout 2.信息添加endl;cout 3.信息删除endl;cout 4.信息修改endl;cout 5.信息查询endl;cout 6.信息显示endl;cout 0.退出endl; cout endl;cout endl;coutendl;程序截图:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 18 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 18 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 18 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 18 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 18 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 18 页 - - - - - - - - - -