匿名用户

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语言课程设计----学生学籍管理系统相关推荐

  1. Springboot旅游管理系统的设计与实现4eqkg计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot旅游管理系统的设计与实现4eqkg计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot旅游管理系统的设计与实现4eqkg计算机毕业设计-课程设计- ...

  2. 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...

    代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...

  3. Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课 ...

  4. Springboot课程教学平台设计与实现4mu05计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot课程教学平台设计与实现4mu05计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot课程教学平台设计与实现4mu05计算机毕业设计-课程设计-期末 ...

  5. Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计- ...

  6. Springboot企业出纳系统的设计与实现7k9je计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot企业出纳系统的设计与实现7k9je计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot企业出纳系统的设计与实现7k9je计算机毕业设计-课程设计- ...

  7. Springboot快递代取系统的设计与实现3i0v9计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot快递代取系统的设计与实现3i0v9计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot快递代取系统的设计与实现3i0v9计算机毕业设计-课程设计- ...

  8. 【免费赠送源码】Springboot流浪宠物救助网站设计与实现92soy计算机毕业设计-课程设计-期末作业-毕设程序代做

    [免费赠送源码]Springboot流浪宠物救助网站设计与实现92soy计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot流浪宠物救助网站设计与实现92soy计算机 ...

  9. 【免费赠送源码】Springboot理发店线上预约排队的设计与实现 7vsz2计算机毕业设计-课程设计-期末作业-毕设程序代做

    [免费赠送源码]Springboot理发店线上预约排队的设计与实现 7vsz2计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot理发店线上预约排队的设计与实现 7v ...

  10. Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕 ...

最新文章

  1. C ++基本输入/输出
  2. Kubernetes 1.8.4 手动安装教程-安装Dashboard(七)
  3. Docker 服务终端 UI 管理工具
  4. ddr test DCD CFG file CBT
  5. centos7启动与切换图形界面
  6. java8中LocalDate、LocalTime、LocalDateTime介绍
  7. java下载网页所有图片_java 下载网页,图片 | 学步园
  8. 举个对联广告随机播放的例子
  9. [readable]轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
  10. C#中如何获取一个二维数组的两维长度,即行数和列数?
  11. 讲幻灯片的基本技巧——2021年中会议发言之二
  12. 谈论软件开发流程与开发方法的重要性
  13. 海军领域搜狗细胞词库
  14. 如何使用MATLAB绘制ggplot风格图片(散点图及折线图)
  15. 深入理解操作系统实验——bomb lab(phase_4)
  16. 高等数学期末总复习 DAY6.洛必达求极限、不等式单调性证明、判断拐点、曲率以及曲率半径
  17. 我们为什么做Banana Pi开源硬件项目:
  18. 中水是什么?有什么用途呢?
  19. linux查看usb文件,linux lsusb查看USB信息
  20. Linux--系统管理

热门文章

  1. 重磅!麻省理工团队再论机器学习力场!
  2. ACM复习(42)10677 我们仍未知道那天所看见的花的名字
  3. INTEL CPU 历史表
  4. EOF 与 BOF 之分
  5. 来瞧瞧金砖大会的“护花使者”吧!
  6. 齐博CMS变量覆盖漏洞exp
  7. 图像处理(一):平滑滤波
  8. 南邮电工电子知识点梳理
  9. 遗传算法求三元函数极值(python)-采用二进制编码
  10. 数说故事《汽车行业全场景数字化解决方案》之数字化营销平台搭建