C语言课程设计报告

发布 2022-10-03 03:35:28 阅读 2382

课程设计报告。

材料科学与技术学院。

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月。一 任务描述。编写一个商品销售管理系统,是其能够拥有商品买卖和库存管理功能。在顾客选购时,需给出输入商品名称,或商品型号,或选择列表进而输入商品编号三种选择,在顾客选...