基于结构体链表的学生成绩管理系统

上传人:油条 文档编号:116266701 上传时间:2019-11-16 格式:DOC 页数:7 大小:48.50KB
返回 下载 相关 举报
基于结构体链表的学生成绩管理系统_第1页
第1页 / 共7页
基于结构体链表的学生成绩管理系统_第2页
第2页 / 共7页
基于结构体链表的学生成绩管理系统_第3页
第3页 / 共7页
基于结构体链表的学生成绩管理系统_第4页
第4页 / 共7页
基于结构体链表的学生成绩管理系统_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于结构体链表的学生成绩管理系统》由会员分享,可在线阅读,更多相关《基于结构体链表的学生成绩管理系统(7页珍藏版)》请在金锄头文库上搜索。

1、#include#include#include#includestruct STUDENT int num; char name10; char sex; int score; struct STUDENT *next;struct STUDENT *Head;int count=0;void createClass();void showClass();void insertClass();void deleteClass();void queryClass();void savestuInfo();void loadstuInfo();void editClass();void show

2、Menu();void main()int choice;doshowMenu();printf(请选择项目:);while(scanf(%d,&choice)!=1)getchar();system(cls);showMenu(); printf(上次选择项目有错,请重新选择项目:);system(cls);switch(choice)case 1:createClass();break;case 2:showClass();break;case 3:deleteClass();break;case 4:insertClass();break;case 5:editClass();break

3、;case 6:savestuInfo();break;case 7:loadstuInfo();break;case 8:queryClass();break;case 9:exit(0);break;default:printf(选择无效!);break;printf(提示:按任意键继续!);getch();system(cls);while(choice!=9);void createClass()int i,n;struct STUDENT *p,*q;printf(请输入要创建的人数:);scanf(%d,&n);for(i=0;inum,p-name,&p-score,&p-sex

4、);p-next=NULL;if(i=0)Head=p;elseq-next=p;q=p;count+;void showClass()struct STUDENT *p;p=Head;if(count=0)printf(该班级为空!n);elseprintf(学生信息如下:n);printf(学号 姓名 成绩 性别:n);while(p)printf(%-6d%-6s%-6d%cn,p-num,p-name,p-score,p-sex);p=p-next;void insertClass()struct STUDENT *p,*q,*m;int num;printf(请输入插入位置上的学生的

5、学号:);scanf(%d,&num);p=Head;q=Head;m=(struct STUDENT *)malloc(sizeof(struct STUDENT);printf(请输入新增学生的学号、姓名、成绩、性别:);scanf(%d%s%d%c,&m-num,m-name,&m-score,&m-sex);m-next=NULL;while(p)if(p-num=num)if(p=Head)m-next=Head;Head=m;elseq-next=m;m-next=p;return;elseif(p!=Head) q=p;p=p-next;void editClass()struc

6、t STUDENT *p;p=Head;int num;printf(请输入要修改的学生的学号:);scanf(%d,&num);while(p)if(p-num=num)printf(请输入新学生的姓名、成绩、性别:);scanf(%s%d%c,p-name,&p-score,&p-sex);return;p=p-next;if(p=NULL)printf(要修改的学生不存在!);void deleteClass()struct STUDENT *p,*q;int num;printf(请输入要删除的学生的学号:);scanf(%d,&num);if(Head=NULL)printf(该班级

7、为空!n);q=Head;while(num!=q-num&q-next!=NULL)p=q;q=q-next;if(num=q-num)if(q=Head)Head=q-next;elsep-next=q-next;free(q);elseprintf(要删除的学生不存在!n);void queryClass()int x;struct STUDENT *p;p=Head;printf(请输入需要查找的学生的学号:); scanf(%d,&x);while(p) if(p-num=x)printf(你要找的学生信息如下:n);printf(学号 姓名 成绩 性别:n);printf(%-6d

8、%-6s%-6d%cn,p-num,p-name,p-score,p-sex);break;p=p-next;if(p=NULL) printf(查无此人!);void savestuInfo()FILE *fp;struct STUDENT *p=Head;if(fp=fopen(Class.txt,w)=NULL)printf(文件打开失败!);return;if(count)fprintf(fp,%dn,count);while(p)fprintf(fp,%d %s %d%cn,p-num,p-name,p-score,p-sex);p=p-next;elseprintf(该班级目前没人

9、!);if(fclose(fp)printf(文件关闭失败!);void loadstuInfo()int i;FILE *fp;struct STUDENT *p,*q;if(fp=fopen(Class.txt,r)=NULL)printf(文件打开失败!);return;p=Head;while(p)q=p-next;free(p);p=q;fscanf(fp,%d,&count);for(i=0;inum,p-name,&p-score,&p-sex);p-next=NULL;if(i=0)Head=p;elseq-next=p;q=p;if(fclose(fp)printf(文件关闭失败!);void showMenu()printf(-基于结构体数组的学生信息管理系统-n);printf(-系统提示-n);printf(1.学生信息输入n);printf(2.学生信息显示n);printf(3.学生信息删除n);printf(4.学生信息插入n);printf(5.学生信息修改n);printf(6.学生信息保存n);printf(7.学生信息导入n);printf(8.学生信息查询n);printf(9.退出程序n);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号