- 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语言_课设
一
、程序简介:
程序名称:学生成绩简单管理程序二(Student Score Manager)
程序功能:
程序主要功能是用于学生成绩的管理,可以帮助统计人员对学生成绩进行简单的管理,程序包括:10个菜单项,其中9个管理项、1个为退出程序项。
菜单项包括:
1. Create List:按学生姓名汉语拼音顺序建立有序列表。
2. Display All Record:在屏幕上显示列表记录。
3. Insert a Record:向已建立的有序列表中按序添加记录。
4. Delete a Record:在有序列表中查找并删除记录。
5. Query:给出学生姓名,在有序列表中查找相关记录并在屏幕上显
示该记录。
6. Add Records from a Text File:从文本文档输入学生记录并按序插入已有列表。
7. Write to a Text File:将列表写入指定位置的文档。
8. Reverse List:将现有列表按逆序存放。
9. Delete the Same Record:删除列表中相同姓名的记录。
0. Quit:退出程序。
二
、题目分析及心得感想
题目分析:该程序要求9个子程序项,分别实现9个不同的操作。分析后知:需建立14个函数才能实现。函数的具体解析请参见第三部分的源文件中。
编程中所遇到问题及解决:
(1)在程序刚写完时,找出所有错误后,运行程序,但不能完美执行程序的第一项功能:即在进入1.Create List 程序项后,一次只能输入一个学生的信息。一旦输入一次后,自动调回到主选单(如上图所示)分析后发现:{printf(Do You Want To Continue To Input?(Y/N)\n); scanf(%s, a);while( strcmp (a,Y)!=0 strcmp ( a,N)!=0)}其中的a在函数的开头已被定义,且自己下意识的将其赋值为:a=‘Y’ 由于这个错误,使a成为了一个该函数中的一个全局变量,而后的对a的输入赋值对其不起任何作用,于是导致了我设计的程序不能循环输入学生成绩。发现后,我果断将起赋值处给删去,程序完美运行了。
(2)在写Insert函数时,暴露出我写程序时的思想的不全面性。如下:在Insert 函数的编写中,对于插入节点的情况分析欠缺。没有完全考虑到:链表是空链表时情况,链表插入节点在链表的头、链表插入节点在链表的尾等情况。而后通过于同学讨论,相互帮助,让我想通了所有可能的情况,最后还是成功编写出了。
编程心得体会:
在编写课程设计之前,可以这样说,对C语言的学习对C语言这门学科的整体把握还是不强!但在课程设计中,各函数的说明,函数的调用,函数的编写,让我真正明白了C语言这门学科,其实是很强的一门学科,它训练我们的思维缜密,训练我对新事物的领悟能力。
在课程设计中,让我明白了:也许书上的一个小小的知识点,在实际的编程中还是非常重要的,比如:全局变量的定义,各种循环(dowhile, for , while )以及函数的嵌套调用等到等等的实现都非常重要!
课程设计我觉得是对书本上所学知识的一个实际运用,在书本上的知识都是死的,只有活学活用才能成功。课程设计的过程非常辛苦,但也非常充实,它让我复习了课上所学的知识,锻炼了编程的思维。也为C语言的最终考试做了准备。
新增功能:
Reverse List:将现有列表按逆序存放:首先判断链表是否为空,再判断是否为单节点,或为双节点,若为两个节点以上,则定义三个Student指针来循环逆序存放节点,返回头指针。
Delete the Same Record:删除列表中相同姓名的记录:首先判断链表是否为空,再判断是否为单节点。若为两节点以上链表则运用两个Student指针循环比较是否有两个相同的节点,若有则调用Delete函数删除其中一个,若无返回头指针。
三
、源文件及函数说明
#includestdio.h
#includestdlib.h
#includectype.h
#includealloc.h
#includestring.h
struct stud /*定义结构体*/
{
char Name[20];
int Score;
struct stud*next;
};
typedef struct stud Student; /* 定义结构体stud替代为Student */
int menu_select();
Student *Create(void); /*从键盘输入
您可能关注的文档
- 十大补血穴位.doc
- 十佳班集体答辩.ppt
- 十字头工艺规程及夹具设计毕业论文.doc
- 十字街镇公益性公墓建设规划.doc
- 十画汉字——取名常用字.doc
- 十户联防业务.ppt
- 千元智能机活动方案和客服文档.doc
- 千年瓷魂今犹在 古窑薪火永相传.doc
- 千年伟人-马克思.ppt
- 千百惠品牌电子商务运营策略.pptx
- 中国国家标准 GB/T 45897.1-2025医用气体压力调节器 第1部分:压力调节器和带有流量计的压力调节器.pdf
- 《GB/T 45897.1-2025医用气体压力调节器 第1部分:压力调节器和带有流量计的压力调节器》.pdf
- 中国国家标准 GB/T 45897.2-2025医用气体压力调节器 第2部分:汇流排压力调节器和管道压力调节器.pdf
- 《GB/T 45897.2-2025医用气体压力调节器 第2部分:汇流排压力调节器和管道压力调节器》.pdf
- GB/T 45897.2-2025医用气体压力调节器 第2部分:汇流排压力调节器和管道压力调节器.pdf
- 《GB/T 45305.2-2025声学 建筑构件隔声的实验室测量 第2部分:空气声隔声测量》.pdf
- 中国国家标准 GB/T 45305.2-2025声学 建筑构件隔声的实验室测量 第2部分:空气声隔声测量.pdf
- GB/T 45305.2-2025声学 建筑构件隔声的实验室测量 第2部分:空气声隔声测量.pdf
- 中国国家标准 GB/T 20833.2-2025旋转电机 绕组绝缘 第2部分:定子绕组绝缘在线局部放电测量.pdf
- GB/T 20833.2-2025旋转电机 绕组绝缘 第2部分:定子绕组绝缘在线局部放电测量.pdf
最近下载
- 第一季度中医适宜技术理论培训题有答案.docx
- 酸碱交替固定床过氧化氢生产工艺改造项目安全风险防控要点(2025.4.18).pdf
- 大学生熬夜ppt课件.pptx VIP
- 广州市白云区2025届数学五年级第二学期期末统考试题含答案.doc VIP
- 经济学原理(第8版)微观经济学曼昆课后习题答案解析.pdf
- DB11-1706文物建筑防火设计规范.pdf VIP
- DB45T 2251-2021 城市轨道交通消防警情与救援监控系统技术规范.pdf VIP
- Hikvision UD35104B_海康威视布控球(iDS-MCD242)_用户手册_V5.1.4_20231108说明书.pdf
- 2018年中央财经大学803经济学综合考研真题及标准答案.doc VIP
- 国有资产管理 全套课件.PPT VIP
文档评论(0)