- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二○一二~二○一三学年第二学期
信息科学与工程学院
面向对象C++语言课程设计报告
目 录
1.需求分析……………………………………………………3
2.总体设计……………………………………………………4
3.详细设计……………………………………………………5
4.调试测验……………………………………………………6
5.测试结果……………………………………………………6
6.心得体会……………………………………………………12
7.相关附录……………………………………………………13
Ⅰ.需求分析
(1)问题描述:
设计一个学生信息管理系统,能录入、修改、添加、删除、查询、显示学生信息。并将学生信息在文件中保存。
(2)应用价值:
能作为一个有效管理学生信息的系统。可以储存学生的姓名、学号、性别、年龄、住址、各科成绩。这在现实中对学生信息的管理也有极其重要的应用价值。可以有效的保存学生信息,应用于教务管理。
(3)限制条件:
因为刚接触C语言不到,两个学期。所以所做程序难免会有一些瑕疵。在次列举其中的一些限制条件。我所设置的录入学生信息的函数必须由学号由小到大录入,这是为了配合后面的修改、添加、删除查询功能。因为后面几个功能实现的方法就是由学号从小到达找所要修改的那一个结点。另一个问题就是学号的首位不可以为零,否则的话就无法显示首位。对于这一问题,我还没有想到更好的解决方法。不过在现实应用中,很少出现学号首位为零的情况。因此也就不会太影响使用价值。最后一个问题,就是如果输入的数据类型与定义的不符,就可能引起系统崩溃。因此,用户在录入信息时应特别注意数据类别。
Ⅱ总体设计
程序设计组成框图
流程图
Ⅲ详细设计
函数功能
student *creat(void)用于创建链表,不需要参数,返回链表头指针,在输入学生信息时调用。
student *del(student*,long)用于删除结点,参数为头指针及要删除学生的学号,返回头指针。在删除学生信息时调用。
student *insert(student *,student *)用于插入结点,参数为头指针及类的指针,返回头指针。插入学生信息时调用。
student *correct_num(student *,long)用于修改结点,参数为头指针及学号,返回头指针。按学号修改学生信息时调用。
student *correct_nam(student *,string)按姓名修改学生信息时调用。
student *search_num(student *,long)用于查找结点,参数为头指针及学号,返回头指针。按学号查找学生信息时调用。
student *search_nam(student *,string) 用于查找结点,参数为头指针及学号,返回头指针。按姓名查找学生信息时调用。
int save(student *head)用于将指针数据存放到文件中。
void print(student*)参数为头指针,用于输出各结点数据。
Ⅳ调试测验
通过输入学生信息,再修改、删除、添加、查询,最后输出。检查是否满足预期结果,不满足则重新完善。
过程中也遇到许多问题。其中之一就是在执行查询、添加等功能是出现程序停止工作的情况。最后才发现在进行判断时,将head==NULL误输为head=NULL,将链表转化为了空链表,当然无法工作啦。在其他细节方面,也出现了类似的错误。因此,编程要特别仔细,一个小小的错误,都可能使整个程序毁于一旦。
Ⅴ测试结果
(1)首页
(2)输入非选项中的的数字
(3)录入信息
(4)插入信息
(5)显示信息
(6)删除信息
(7)修改信息
(8)查询信息
(9)查询学生学号不存在时
(10)显示信息
(11)退出系统
Ⅵ心得体会
耗时将近两周的C++程序设计即将画上句号。这也是我接触过的最复杂的程序。要想一步完成如此繁琐的程序是不可能的。因此必须有合理的规划,列出框架。再分别用函数来实现各个功能。然后就是细化的工作,要分别设计各个函数,这也是最关键的一步。既要注意各个函数的独立性,又要注意他们之间的关系和在整个程序中的作用。最后将各不分有机结合为宜各整体。再通过不断的调试、完善,最后达到预期的效果。
当然,最困难的部分就是修改。面对一个个问题,你需要不断的检查,在繁杂的程序中发现那一个错误。这过程虽然是困难的,必须非常仔细,绞尽脑汁想各种错误的原因,最后解决问题。当问题被解决的那一刻,心中会由然而生出一种成就感。这也是程序设计带给我的快乐。在今后的学习生活中,我将投入更多时间到C++程序设计中,这样设计程序将会更加得心应手。程序设计就是
文档评论(0)