匿名用户

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. 1.2 初窥输入输出、控制语句
  2. thinkphp 5 stdClass Call to undefined
  3. 如何从新开发的程序中提炼服务
  4. c语言sort函数排序二维数组,c++ - 如何使用stl sort函数根据第二列对二维数组进行排序? - 堆栈内存溢出...
  5. Spark初识-Spark基本架构概览使用
  6. mysql dns反向解析_DNS练习之反向解析(示例代码)
  7. 【代码笔记】iOS-performSelectorOnMainThread
  8. 曼昆《经济学原理》-微观经济学-随记(二)
  9. Android音频的录制与播放
  10. 求助 :Not allowed to launch ‘bytedance://dispatch_message/‘ because a user gesture is required.
  11. java生僻字解决方案
  12. w7计算机防火墙无法更改,win7系统提示防火墙无法更改某些设置错误代码0x8007437的原因及四种解决方法...
  13. pr怎么把视频去水印
  14. java大作业设计_Java程序设计_大作业.doc
  15. 通信原理 | FFT/STFT 你真的学会了吗?
  16. vue路由之路由的两种模式
  17. 各串口设备节点/dev/tty* 的区别
  18. 港科夜闻|香港科大2021年本科计划招生190人,首推人工智能延伸主修
  19. SAP:物料主数据增强
  20. 27岁了,老大不小了,转载一篇文章作年度回顾

热门文章

  1. PL/SQL基础:结构、变量处理——PL/SQL教程(一)
  2. Maven 配置阿里仓库
  3. AntdPro之ProFormDependency
  4. antd pro 配置
  5. 2013年4月24日
  6. 计算机中的逻辑运算(与、或、非、异或、同或、与非、或非)
  7. 实验三、prim算法生成迷宫,A*算法解迷宫(实验准备)
  8. HelloCharts开源图表库(一)之折线图
  9. 2022年注册会计师考试财务成本管理模拟题及答案
  10. BUCK电源输出过冲怎么解决