课程设计报告。
材料科学与技术学院。
0609xxxxx xxx
一、 程序主要功能。
题目要求对学生成绩的简单管理,通过以下子功能实现:
1. 创建学生成绩表;
2. 按顺序显示所有学生成绩;
3. 在原有成绩表的基础上插入一名学生的记录,并按顺序排列;
4. 删除指定姓名的学生的记录;
5. 查找指定姓名的学生的记录,并显示出来;
6. 从指定文件中添加记录到程序中;
7. 将程序中所有记录写入指定文件中;
8. 将程序中的记录倒序排列;
9. 将程序中同名的记录中的后一条删除;
10. 退出程序,并释放存储空间;
二、 题目分析。
该题要求对学生成绩进行有效管理,因此可用单向链表结构实现。由题可知要有链表建立、链表输出、结点有序插入、结点删除及数据查询。
1. 创建学生成绩表。
在这项功能中,要求我们先建立有序单向链表。可在主函数中调用创建链表的函数,然后再在创建链表函数中循环调用插入函数,以此实现创建链表。
2. 显示学生成绩。
即为显示所有结点记录。主函数中调用此函数即可实现。但此处出现一个问题,即“按键翻页显示”。最后通过循环的嵌套及continue的使用,解决了这个问题。
3. 插入学生记录。
在这项功能中,只需要在主函数中调用此函数即可。
4. 删除学生记录。
通过主函数中的调用,输入要删除的学生姓名,即可删除此节点。此处的问题是需要再删除前确认,才能删除。最后,通过输入“1”和“0”,来控制删除功能。
5. 查找学生记录。
在主函数中调用此函数,并输入学生姓名,即可查找到该记录,并删除。
6. 从指定文件添加记录。
在主函数中输入文件名,然后调用此函数即可。此功能需要先在指定路径建立指定的文件,并在文件中输入学生个数,及学生信息。
7. 将记录写入指定文件。
在主函数中输入文件名,调用此函数即可。
8. 将链表倒置。
在主函数中调用此函数即可。
9. 删除同名记录。
在主函数中调用此函数即可。
10. 退出程序。
此函数作用为退出程序,在主函数中调用此函数,并释放链表全部空间即可。
三、 课程设计心得。
通过课程设计,细节掌握不好,出现的很多问题甚至可以说很好笑,比如student *addfromtext()函数中,由于忘记给链表申请存储空间,导致此项功能完全无法实现。虽然问题不大,修改起来也很简单,但在设计中依然带来很多不便。其次,我发现自己有些算法不熟,需要书的帮助才能完成某些函数的编写。
因此,在做c语言时要仔细,尤其是在细节方面。再次是加深对各种算法的熟悉程度。另外,在做课程设计的时候让我认识到要多与他人交流,要多问,要多想多**,只有这样才能让自己不断前进。
四、 源函数。
#include<>
#include<>
#include<>
#include<>
struct stud /*定义结构体*/
char name[20]; 姓名*/
int score; /分数*/
struct stud*next;
typedef struct stud student;
int menu_select();定义菜单*/
student *create();
void display();
student *insert();
student *insert_a_record();
student *delete();
student *delete_a_record();
student *query();
void query_a_record();
student *addfromtext();
void writetotext();
student *reverse();
student *deletesame();
void quit();
main() 主函数*/
student *head=null;
char filename[20定义功能6和7中的文件名*/
while(1)
switch(menu_selectswitch选择函数*/
{ case 1: system("cls");清屏*/
printf("execution of create list");
head=create调用create函数*/
system("pause暂停*/
break;
case 2: system("cls");
printf("execution of display all record");
display(head调用display函数*/
system("pause");
break;
case 3: system("cls");
printf("execution of insert a record");
head=insert_a_record(head调用insert_a_record函数*/
system("pause");
break;
case 4: system("cls");
printf("execution of delete a record");
head=delete_a_record(head调用delete_a_record函数*/
system("pause");
break;
case 5: system("cls");
printf("execution of query");
query_a_record(head调用query_a_record函数*/
system("pause");
break;
case 6: system("cls");
printf("execution of add records from a texl file");
printf("please input filename.");
scanf("%s",filename输入指定从中添加数据的文件名*/
head=addfromtext(head,filename调用addfromtext函数*/
system("pause");
break;
case 7: system("cls");
printf("execution of write to a texl file");
printf("please input filename.");
gets(filename输入要存入数据的文件名*/
writetotext(head,filename调用writeto函数*/
system("pause");
break;
case 8: system("cls");
printf("execution of reverse");
head=reverse(head调用reverse函数*/
system("pause");
break;
case 9: system("cls");
printf("execution of delete the same records");
head=deletesame(head调用deletesame函数*/
system("pause");
break;
case 0: printf("execution of quit");
quit(head调用quit函数*/
system("pause");
exit(0); 退出*/
c语言课程设计报告 课程设计报告
周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...
C语言课程设计报告
华中科技大学计算机科学与技术学院。题目 专业 班级 学号 姓名 成绩 指导教师 完成日期 2016年月日。目录。一 系统需求分析 1 二 总体设计 2 三 数据结构设计 3 四 详细设计 4 五 系统实现 5 六 运行测试与结果分析 6 七 总结 7 八 参考文献 8 九 指导教师评语 9 对所要解...
C语言课程设计报告
c语言。课程设计。商业销售管理系统。学号 121407210 姓名 宋军。班级 软件1202 指导老师 邹姝稚。成绩 2013年6月。一 任务描述。编写一个商品销售管理系统,是其能够拥有商品买卖和库存管理功能。在顾客选购时,需给出输入商品名称,或商品型号,或选择列表进而输入商品编号三种选择,在顾客选...