c语言综合设计作业学籍管理系统,C语言课程设计----学生学籍管理系统
匿名用户
1级
2014-11-13 回答
#include
#include
#include
structstud
{
longnum;
charname[20];
doublescore;
};
typedefstructstucode
{
structstudstudent;
structstucode*next;
}L;
voidmenu();
voidcreatelist(structstucode**r);
voidout(structstucode*r);
voidsearch1(structstucode*r);
voidsearch2(structstucode*r);
voiddel(structstucode**r);
voidinsert(structstucode**r);
voidsort(structstucode**r);
voidmain()
{
charchoose;
intflag=1;
structstucode*r=NULL;
while(flag)
{
system("cls");
menu();
choose=getchar();
switch(choose)
{
case'1':
createlist(&r);
out(r);
printf("Testingfunction1\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'2':
search1(r);
printf("Testingfunction1\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'3':
search2(r);
printf("Testingfunction1\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'4':
del(&r);
out(r);
printf("Testingfunction1\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'5':
insert(&r);
out(r);
printf("Testingfunction1\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'6':
sort(&r);
out(r);
printf("Testingfunction1\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'7':
out(r);
printf("Testingfunction7\nPressanykeytocontinue\n");
getchar();
getchar();
break;
case'0':
flag=0;
printf("Theend.\n");
break;
default:printf("\nWrongSelection!(选择错误,请重选!)\n");getchar();getchar();
}
}
}
voidcreatelist(structstucode**r)
{
structstucode*p,*t;
longn;
chara[20];
doubles;
if(*r)*r=NULL;
printf("\n请输入:\n学号(请按学号升序排列)姓名分数(若要结束请输入三个为零)\n");
scanf("%ld%s%lf",&n,a,&s);
if(n==0)return;
p=(L*)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
*r=p;
scanf("%ld%s%lf",&n,a,&s);
while(n)
{
t=p;
p=(L*)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
t->next=p;
scanf("%ld%s%lf",&n,a,&s);
}
}
voidsearch1(structstucode*r)
{
longx;
if(!r)
{
printf("没有学生信息可查询!\n");
return;
}
printf("请输入要查询的学生信息的学生学号:\n");
scanf("%ld",&x);
while(r&&r->student.num!=x)
r=r->next;
if(r==NULL)
printf("Error!Nosuchstudent!\n");
else
printf("%ld%s%.2lf\n",r->student.num,r->student.name,r->student.score);
}
voidsearch2(structstucode*r)
{
charm[20];
if(!r)
{
printf("没有学生信息可查询!\n");
return;
}
printf("请输入要查询的学生信息的学生姓名:\n");
scanf("%s",m);
while(r&&strcmp(r->student.name,m))
r=r->next;
if(r==NULL)
printf("Error!Nosuchstudent!\n");
else
printf("%ld%s%.2lf\n",r->student.num,r->student.name,r->student.score);
}
voiddel(structstucode**r)
{
longk;
structstucode*p=*r,*t;
if(!(*r))
{
printf("没有学生信息可删除!\n");
return;
}
printf("请输入要删除的学生信息的学生学号:\n");
scanf("%ld",&k);
if(p->student.num==k)
*r=(*r)->next,free(p);
else
{
while(p->next&&p->next->student.num!=k)
p=p->next;
if(p->next==NULL)
printf("Error!Nosuchstudent!\n");
else
{
t=p->next;
p->next=p->next->next;
free(t);
}
}
}
voidinsert(structstucode**r)
{
longn;
chara[20];
doubles;
L*p,*t,*k;
printf("请输入要插入的学生信息的学生学号姓名分数:\n");
scanf("%ld%s%lf",&n,a,&s);
p=(L*)malloc(sizeof(L));
p->student.num=n;
p->student.score=s;
strcpy(p->student.name,a);
if(!(*r))
{
*r=p;
(*r)->next=NULL;
return;
}
if(p->student.numstudent.num)
p->next=(*r),(*r)=p;
else
{
t=*r;
k=t;
while(t->next&&t->next->student.num<=p->student.num)
t=t->next;
p->next=t->next;
t->next=p;
*r=k;
}
}
voidsort(structstucode**r)
{
structstucode*t,*p,*q,*z;
if(!r)
{
printf("没有学生信息可排序!\n");
return;
}
if(!(*r)||!(*r)->next)
return;
t=*r;
p=t->next;
t->next=NULL;
while(p)
{
q=p->next;
if(p->student.score>t->student.score)
{
p->next=t;
t=p;
}
else
{
z=t;
while(z->next&&z->next->student.score>=p->student.score)
z=z->next;
p->next=z->next;
z->next=p;
}
p=q;
}
*r=t;
}
voidout(structstucode*r)
{
printf("\n\n");
if(!r)
{
printf("没有学生信息可输出!\n");
return;
}
while(r)
{
printf("%ld%s%.2lf\n",r->student.num,r->student.name,r->student.score);
r=r->next;
}
printf("\n\n");
}
voidmenu()
{
printf("\n学生信息管理系统\n");
printf("\n菜单\n\n");
printf("\n1建立链表并显示\n");
printf("\n2查找某学号的学生信息\n");
printf("\n3查找某姓名的学生信息\n");
printf("\n4删除某学号的学生信息\n");
printf("\n5插入新的学生信息\n");
printf("\n6按分数降序排列输出\n");
printf("\n7输出\n");
printf("\n0退出\n");
printf("\n请选择您要执行的选项:\n");
}
c语言综合设计作业学籍管理系统,C语言课程设计----学生学籍管理系统相关推荐
- Springboot旅游管理系统的设计与实现4eqkg计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot旅游管理系统的设计与实现4eqkg计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot旅游管理系统的设计与实现4eqkg计算机毕业设计-课程设计- ...
- 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...
代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...
- Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课 ...
- Springboot课程教学平台设计与实现4mu05计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot课程教学平台设计与实现4mu05计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot课程教学平台设计与实现4mu05计算机毕业设计-课程设计-期末 ...
- Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计- ...
- Springboot企业出纳系统的设计与实现7k9je计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot企业出纳系统的设计与实现7k9je计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot企业出纳系统的设计与实现7k9je计算机毕业设计-课程设计- ...
- Springboot快递代取系统的设计与实现3i0v9计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot快递代取系统的设计与实现3i0v9计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot快递代取系统的设计与实现3i0v9计算机毕业设计-课程设计- ...
- 【免费赠送源码】Springboot流浪宠物救助网站设计与实现92soy计算机毕业设计-课程设计-期末作业-毕设程序代做
[免费赠送源码]Springboot流浪宠物救助网站设计与实现92soy计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot流浪宠物救助网站设计与实现92soy计算机 ...
- 【免费赠送源码】Springboot理发店线上预约排队的设计与实现 7vsz2计算机毕业设计-课程设计-期末作业-毕设程序代做
[免费赠送源码]Springboot理发店线上预约排队的设计与实现 7vsz2计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot理发店线上预约排队的设计与实现 7v ...
- Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕 ...
最新文章
- C ++基本输入/输出
- Kubernetes 1.8.4 手动安装教程-安装Dashboard(七)
- Docker 服务终端 UI 管理工具
- ddr test DCD CFG file CBT
- centos7启动与切换图形界面
- java8中LocalDate、LocalTime、LocalDateTime介绍
- java下载网页所有图片_java 下载网页,图片 | 学步园
- 举个对联广告随机播放的例子
- [readable]轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
- C#中如何获取一个二维数组的两维长度,即行数和列数?
- 讲幻灯片的基本技巧——2021年中会议发言之二
- 谈论软件开发流程与开发方法的重要性
- 海军领域搜狗细胞词库
- 如何使用MATLAB绘制ggplot风格图片(散点图及折线图)
- 深入理解操作系统实验——bomb lab(phase_4)
- 高等数学期末总复习 DAY6.洛必达求极限、不等式单调性证明、判断拐点、曲率以及曲率半径
- 我们为什么做Banana Pi开源硬件项目:
- 中水是什么?有什么用途呢?
- linux查看usb文件,linux lsusb查看USB信息
- Linux--系统管理