C程序设计-日期查询系统.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:19 大小:261KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

C程序设计-日期查询系统.doc

C程序设计-日期查询系统.doc

预览

免费试读已结束,剩余 9 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程设计说明(1)课程设计的目的:通过这次的课程设计,使我充分的巩固了上学期的知识,在上学期的基础上我对链表有了更深一步的了解。这次程序设计使我能够熟练的掌握链表和指针,并且对文件这方面的知识也有了进一步的提高。这一切都提高了我对C语言的学习与兴趣。(2)程序特点介绍:程序中运用了宏定义、定义结构体类型变量、结构体指针、指针数组,创建了动态链表,并且编写了函数用于链表的输入、输出、删除、和插入,在删除和插入中运用了循环语句使其可循环删除或插入。程序中还用了四级菜单,使用户可以在良好的环境下运用该程序。(3)对程序的说明:1、在主菜单中有两个选项,第一个是对年月日的查询,第二个是学生管理系统。2、输入1进入年月日查询系统。输入一个年月日,系统自动输出该年是不是闰年,并且输出该日期是这一年的第几天。并且把输出的信息保存到out1.txt文件中。3、输入2进入学生管理系统,并且进入第二级菜单。输入1输入学生数据,系统自动将其保存到student.dat文件中。输入数据采用了动态链表的形式,输入学号0的时候推出输入。4、输入2对所输入的数据按学号进行排序。排序函数中运用了指针数组实现对动态链表的排序。5、输入3进入查询菜单,此时屏幕上会显示第三级菜单。分为按姓名查询、按成绩查询、按学号查询,输入1后,系统提示输入所查询的姓名,用户输入一串字符,若链表中有该姓名的学生则输出其成绩,若没有则输出“这里没有您要查询的信息”。程序运用字符串比较函数实现对姓名的查询。输入2后,进入第四级菜单,分为按英语成绩、数学成绩、语文成绩。以下举一项为例:输入1,按英语成绩查询,系统提示输入所查询的英语成绩,用于输入一个分数。链表中若有该分数,则输出该学生的成绩;若没有,则输出“这里没有您要查询的信息”。接着用户按任意键退出。返回到第三级菜单后输入3,则按学号查询。6、返回到第二级菜单,输入4,进入删除系统。输入所要删除的学号,系统则输出删除后的链表。用户可连续输入学号,实现连续删除。7、输入5进入插入系统。输入所要插入的信息,系统自动输出插入后的链表。用于可连续插入信息。8、输入6退回到主菜单,在按3退出系统。(4)程序流程图:时间查询系统总菜单判断该年是否为闰年判断该天是该年的第几天学生管理系统学生成绩的输入与输出按学号对学生情况排序对学生情况进行查询删除指定学号的学生成绩插入要添加的学生成绩按成绩查询按姓名查询按学号查询按英语成绩查询按数学成绩查询按语文成绩查询(5)源程序代码及运行结果:#include<stdio.h>#include<malloc.h>#include<string.h>#include<conio.h>#include<windows.h>#include<stdlib.h>#defineNULL0#defineLENsizeof(structstudent)structstudent{intnum;charname[20];floatscore[3];structstudent*next;};intn;structstudent*head;structstudent*creat(void){structstudent*p1,*p2;n=0;p1=p2=(structstudent*)malloc(LEN);head=NULL;printf("请输入学号\n");scanf("%d",&p1->num);printf("请输入姓名\n");scanf("%s",&p1->name);printf("请输入英语成绩\n");scanf("%f",&p1->score[0]);printf("请输入数学成绩¨\n");scanf("%f",&p1->score[1]);printf("请输入语文成绩¨\n");scanf("%f",&p1->score[2]);while(p1->num!=0){n=n+1;if(n==1)head=p1;elsep2->next=p1;p2=p1;p1=(structstudent*)malloc(LEN);printf("请输入学号\n");scanf("%d",&p1->num);printf("请输入姓名\n");scanf("%s",&p1->name);printf("请输入英语成绩¨\n");scanf("%f",&p1->score[0]);printf("请输入数学成绩¨\n");scanf("%f",&p1->score[1]);printf("请输入语文成绩¨\n");scanf