数据结构-学生成绩管理系统课程设计-源程序_第1页
数据结构-学生成绩管理系统课程设计-源程序_第2页
数据结构-学生成绩管理系统课程设计-源程序_第3页
数据结构-学生成绩管理系统课程设计-源程序_第4页
数据结构-学生成绩管理系统课程设计-源程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include"stdio.h" #include"stdlib.h" #include"string.h"#include "conio.h"typedef struct STUDENTchar name20;/ 名字 char num10;/ 学号 intscore;/ 成绩struct STUDENT *next;STUDENT, *StudentList;/*void CreateList(StudentList &L); void Locate(StudentList L);void Inser

2、tList(StudentList &L); void DeleteList(StudentList &L);int LengthList(StudentList L); */ void PrintList(StudentList H);void Create(StudentList &H)/ 建立链表,int a,i;system("cls");/ 清屏printf("tt* *printf("tt成绩链表的输入n");printf(" 输入学生的个数: n"); scanf("%d&qu

3、ot;,&a);/ 创建链表StudentList q=H;for (i=0;i<a;i+)StudentList p;p= (StudentList )malloc(sizeof(STUDENT); printf(" 输入第 %d 个学生的信息: n",i+1); printf("n 输入姓名: t 学号: t 成绩 :n");scanf("%s %s %d",p->name,p->num,&p->score); p->next=NULL;q->next=p;q=q->nex

4、t;/ H=H->next;PrintList(H);printf(" 按任意键返回主菜单 n");getch();void Insert(StudentList &H)system("cls");/ 清屏printf("tt*n");printf("tt 学生信息插入操作n");if(!H->next)printf(" 错误:链表未创建! n");printf(" 按任意键返回主菜单 n");getchar();return ;int i;printf(

5、" 插入的位置: ");scanf("%d",&i);StudentList p = H;int j = 0;while (p && j < i-1)p = p->next;+j;if (!p | j > i-1)printf(" 输入位置错误 !") ;printf(" 按任意键返回主菜单 n");getch();return;StudentList s = (StudentList )malloc(sizeof(STUDENT); printf("n 输入姓名

6、: t 学号: t 成绩 :n");scanf("%s %s %d",s->name,s->num,&s->score); s->next = p->next;p->next = s;PrintList(H);printf(" 按任意键返回主菜单 n"); getchar();/ 删除节点void Delete(StudentList &H)system("cls");/ 清屏printf("tt*n");printf("tt 学生信息删除操作

7、 n");if(!H->next)printf(" 错误:链表未创建! n"); printf(" 按任意键返回主菜单 n"); getchar();return ;int i;printf(" 输入要删除的位置: "); scanf("%d",&i);StudentList p = H;int j = 0;while (p->next && j < i-1)p = p->next;+j;if (!p->next | j > i-1)printf

8、(" 输入位置错误 !") ;printf(" 按任意键返回主菜单 n");getch();return;StudentList q=p->next; p->next=q->next;free(q);PrintList(H);/ getch();printf(" 按任意键返回主菜单 n"); getchar();/ 查询void Locate(StudentList H)system("cls");/ 清屏printf("tt*n");printf("tt 学生信息查

9、询操作 n");if(!H->next)printf(" 错误:链表未创建! n"); printf(" 按任意键返回主菜单 n"); getchar();return ;char num10;/ int flag=0; printf("n 输入要查询的学号: "); scanf("%s",num);StudentList p=H->next; int i=1;while(p) if(!strcmp(num,p->num)printf(" 找到了,它是链表的第 %d 个元素 n

10、",i); printf("n 姓名 t 学号 t 成绩 n");printf("%st%st%dtn",p->name,p->num,p->score); break;p=p->next;i+;if (!p)printf(" 你要查询的学号不存在 !n");getchar();printf(" 按任意键返回主菜单 n"); getchar();void Modify(StudentList H)system("cls");/ 清屏printf("tt

11、*n");printf("tt 学生信息修改操作 n");if(!H->next)printf(" 错误:链表未创建! n"); printf(" 按任意键返回主菜单 n"); getchar();return ;int i;printf(" 输入要修改的位置: ");scanf("%d",&i);StudentList p = H;int j = 0;while (p->next && j < i-1)p = p->next;+j;if

12、 (!p->next | j > i-1)printf(" 输入位置错误 !") ;printf(" 按任意键返回主菜单 n");getch();return;StudentList q=p->next;/free(q);*/char name20;char num10;int score;printf("n 输入更改的 姓名 t 学号 t 成绩 :n"); scanf("%s %s %d",name,num,&score); strcpy(q->name,name);strcpy(

13、q->num,num);q->score=score;PrintList(H);printf(" 按任意键返回主菜单 n");getchar();void Sum(StudentList H)system("cls");/ 清屏printf("tt*n");printf("tt 学生成绩统计 n");StudentList t=H->next;if(!t)printf(" 信息系统空,请添加! n"); / printf(" 按任意键返回主菜单 n"); /

14、 getchar();return ;printf(" 不及格的学生是: rn");printf(" 姓名 t 学号 t 成绩 :n");while(t)if (t->score<60)printf("%st%st%dtn",t->name,t->num,t->score); t=t->next;t=H->next;printf("n 成绩为“及格”的学生是: rn");printf(" 姓名 t 学号 t 成绩 :n");while(t)if (t-&

15、gt;score>=60&&t->score<=70)printf("%st%st%dtn",t->name,t->num,t->score); t=t->next;t=H->next; printf("n 成绩为“中”的学生是: rn"); printf(" 姓名 t 学号 t 成绩 :n");while(t)if (t->score>=70&&t->score<80) printf("%st%st%dtn",

16、t->name,t->num,t->score); t=t->next;t=H->next; printf("n 成绩为“良”的学生是: rn"); printf(" 姓名 t 学号 t 成绩 :n");while(t)if (t->score>=80&&t->score<90) printf("%st%st%dtn",t->name,t->num,t->score); t=t->next;t=H->next; printf("

17、;n 成绩为“优”的学生是: rn"); printf(" 姓名 t 学号 t 成绩 :n");while(t)if (t->score>=90) printf("%st%st%dtn",t->name,t->num,t->score); t=t->next;printf(" 按任意键返回主菜单 n"); getchar();/输出链表void PrintList(StudentList H)StudentList t=H->next;if(!t)printf(" 信息系统

18、空,请添加! n");/ printf(" 按任意键返回主菜单 n");/ getchar();return ;printf("n 姓名 t 学号 t 成绩 n");while(t)printf("%st%st%dtn",t->name,t->num,t->score); t=t->next;printf("n");getchar();void main()StudentList H;H = (StudentList )malloc(sizeof(STUDENT); / 分配头结点的空间H->next = NULL;while(1)system("cls");/ 清屏printf("tttt 学生成绩管理系统 tttt");printf("1.建立成绩链表n2.插入n3.删除n4.查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论