欢迎来到天天文库
浏览记录
ID:35627517
大小:77.00 KB
页数:7页
时间:2019-04-03
《C语言课程设计--学生成绩简单管理程序二》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C语言课程设计——学生成绩简单管理程序二姓名:学号:学院:1.程序功能;(1)Create()含函数(建立有序单项链表)从键盘上输入一个学生的姓名和成绩,以姓名为序建立有序链表。插入一条记录后,显示提示确认是否输入下一条记录,如确定,继续输入,否则,退出输入功能。(2)DisplayAllRecord(显示所有结点记录)按顺序显示链表中所有记录,每屏显示10条记录。每显示10条,按键继续显示下一屏。(3)InsertaRecord(插入一条结点记录)在以姓名为序排列的链表中插入一条记录,插入后,链表仍有序。输出插入成功的信息。(4)DeleteaRecord(按姓名查
2、找,删除一条结点记录)输入待删除记录的姓名,显示提示信息,让用户再次确定是否要删除。确定后,将该姓名的记录删除。(5)Query(查找并显示一个结点记录)输入姓名,查找该记录,并显示该同学的成绩‘(6)AddRecordsfromTextFile(从正文文件中添加数据到链表中)用户可事前建立一个正文文件data.txt,存放多个待加入的记录。提示输入正文文件的文件名,然后从该文件中一次性加入多条学生记录,文件data.txt格式如下:WangXiao95LiuLin87(7)WritetoaTextFile将链表中的全部记录写入文件records.txt,要求文件格式和文件data
3、.txt相同。(0)Quit(退出学生成绩管理程序)释放链表存储空间。2.题目分析(1)建立有序链表,可以用书上的创建有序链表函数structurenode*create_sort()。(2)输出链表数据,这个可以借用书上的voidprintf()函数。但是它还要求10条一屏显示,这就要在输出时限制输出的条数。(3)结点的有序插入先编写Student*Insert_a_record()函数,在次函数中输入学生的姓名和成绩,在调用Insert()函数插入。(4)结点删除先编写Delete_a_record()函数,输入要删除的学生姓名,在调用Delete()函数删除。这函数,可借鉴书
4、上的delete_one_node()函数。(5)结点数据查找先在函数Query_a_record()中输入待查找的姓名,在调用函数Query()进行查找。可以借鉴书上的search()函数。(6)从文件中整批输入数据(7)将链表结点记录写入到文件中从以上的函数来看,大部分函数都可以在书上找到相关的函数,这编写起来比较容易,虽然课设中有新的要求,但这问题不大。总的来说时比较好做的。3.感想心得。选择这个课设题目的原因时因为,有许多函数可以在书上找到,会比较容易。虽然,书上都有。但是编写起来还时遇到了许多麻烦。有时是一个小错误,一个符号的错误,很难发现,就会和花时间。在遇到问题时,很
5、难一个人解决,大部分问题都时找同学一起解决的。还有如果书上没有有关的函数,自己一个人时很难编写出来的。也发现了,自己在编写时,有时很粗心,导致一些难发现的错误。4.源程序。#include#include#includestructstud{charName[20];/*姓名*/intScore;/*分数*/structstud*next;/*指向下一结点的指针*/};typedefstructstudStudent;intmenu_select();/*菜单函数*/structstud*Creat();/*建立有序列表*/s
6、tructstud*Insert();/*插入结点*/structstud*Display();/*显示所有结点记录*/structstud*Insert_a_record();/*插入新的姓名分数*/structstud*Delete();/*删除信息*/structstud*Delete_a_record();/*删除信息*/structstud*Query();/*查找信息*/structstud*Query_a_record(Student*head);/*查找信息并显示其信息*/structstud*AddfromText();/*从正文文件中添加数据到链表中*/void
7、WritetoText();/*把链表中的数据写入文件*/voidQuit();/*退出程序*/voidmain()/*主函数*/{structstud*head;/*定义头指针*/Studentstud;charname[10];for(;;){switch(menu_select()){case1:head=Creat();/*调用Create()函数*/system("pause");break;case2:Display(head);/*调用Display()
此文档下载收益归作者所有