C语言程序设计按学号查询成绩

答案:1  信息版本:手机版

解决时间 2019-10-05 15:03

已解决

2019-10-05 09:05

#include void main()

{int x,k,r;

int xh[50],yy[50],jsj[50],gdsx[50],wl[50];

int i=0;

char yn;

do

{printf("\n======================================================\n");

printf("\n|****欢迎使用成绩管理系统,请选择以下数字进行操作****|\n");

printf("\n|====================================================|\n");

printf("\n|1.录入学生成绩 |\n");

printf("\n|2.显示学生成绩 |\n");

printf("\n|3.查询学生成绩 |\n");

printf("\n|4.修改学生成绩 |\n");

printf("\n|0.退出管理系统 |\n");

printf("\n|====================================================|\n");

printf("\n| 制作人:张杰(车辆-2-1764152228)|");

printf("\n|====================================================|\n");

printf("\n\n");

printf("请选择:");

scanf("%d",&x);

if(x==1)

{printf("您选择了录入学生成绩\n");

do

{printf("学号:");

scanf("%d",&xh[i]);

printf("英语:");

scanf("%d",&yy[i]);

printf("计算机:");

scanf("%d",&jsj[i]);

printf("高等数学:");

scanf("%d",&gdsx[i]);

printf("物理");

scanf("%d",&wl[i]);

i++;

printf("继续录入请按任意键,结束请按*键\n");

fflush(stdin);

scanf("%c",&yn);

}while(yn!='*');

}

if(x==2)

{

printf("您选择了显示学生成绩!\n");

printf("学号 英语 计算机高等数学物理\n");

for(k=0;kprintf("%d\t%d\t%d\t%d\t%d\n",xh[k],yy[k],jsj[k],gdsx[k],wl[k]);

}

if(x==3)

{

printf("您选择了查询学生成绩\n");

printf("请输入需要查询的学号:");

scanf("%d",&xh[r]);

for(r=0;r<=i;r++)

if((xh[i])==xh[r])

{

printf("学号 英语 计算机高等数学物理\n");

printf("%d\t%d\t%d\t%d\t%d\n",xh[i],yy[i],jsj[i],gdsx[i],wl[i]);

break;

}

}

if(x==4)

{printf("您选择了修改学生成绩\n");

printf("请输入需要修改的学号:");

}

if(x==0)

printf("您选择了退出管理系统");

}while(x>0);

}

求大神帮我做一下这个按学号查询和按学号修改,我大一会的不多麻烦用最基础的做,谢谢

全部回答

1楼

2019-10-05 09:55

#include"stdio.h"

#include"string.h"

#define n 1000

void menu();

int password();

int dedao();

int uninque(struct student shu[],int len,int xuehao);

void shuchu(struct student shu[],int len);

void send(struct student shu[],int len);

int readfromfile(struct student shu[]);

void chaxun(struct student shu[],int len);

void paixu(struct student shu[],int len);

struct student

{

int num;

char name[10];

int score;

} shu[n];

main()

{ int len=0,key,choice;

do {

key=password();

}while(key==0);

while(1)

{ menu();

printf("请输入选项<1,2,3,4,5,6,7>\n");

scanf("%d",&choice);

switch(choice)

{

case 1:printf("输入信息函数\n"); len=dedao(shu,len); break;

case 2:printf("输出函数被调用\n"); shuchu(shu,len); break;

case 3:printf("保存到文件函数被调用\n"); send(shu,len); break;

case 4:printf("从文件读函数被调用\n"); len=readfromfile( shu); break;

case 5:printf("按学号查询函数被调用\n"); chaxun(shu,len); break;

case 6:printf("按成绩排序函数被调用\n"); paixu(shu,len); break ;

case 7:exit(0);break;

}

}

}

void menu()

{

printf("\n");

printf(" *******************************************\n");

printf(" * 学生成绩管理系统2.0 *\n");

printf(" * 1.输入信息 *\n");

printf(" * 2.输出信息 *\n");

printf(" * 3.保存到文件 *\n");

printf(" * 4.从文件读 *\n");

printf(" * 5.按学号查询 *\n");

printf(" * 6.按成绩排序(由大到小) *\n");

printf(" * 7.程序结束 *\n");

printf(" *******************************************\n");

}

int password()

{

char a[100];

char key[]="asd";

printf("请输入密码\n");

scanf("%s",&a);

if(strcmp(a,key)==0)

return 1;

else

return 0;

}

int dedao(struct student shu[],int len)

{ int i=len;

int flag=0;

int xuehao,bank,chengji;

while(i

{

while(1)

{

printf("学号");

scanf("%d",&xuehao);

if(xuehao==0)

{ flag=1;

break;

}

bank=uninque(shu,i,xuehao);

if(bank==0)

{ shu[i].num=xuehao;

break;}

}

if(flag==1)

break;

printf("姓名");

scanf("%s",&shu[i].name);

while (1)

{

printf("成绩");

if(scanf("%d",&chengji)==1)

{break;}

printf("输入格式错误,请重新输入!");

while(getchar()!='\n')

continue;

}

while(getchar()!='\n')

continue;

shu[i].score=chengji;

i++;

}

return i;

}

int uninque(struct student shu[],int len,int xuehao)

{ int i;

int bank=0;

for (i=0;i

{

if(xuehao==shu[i].num)

bank=1;

}

return bank;

}

void shuchu(struct student shu[],int len)

{

int i;

printf("%-4s %-10s %-3s","学号","姓名","成绩\n\n");

for(i=0;i

{

printf("%-4d %-10s %-3d",shu[i].num,shu[i].name,shu[i].score);

printf("\n");

}

printf("\n\n");

}

void send(struct student shu[],int len)

{

int i;

file *fp;

fp=fopen("d:\\chegnji.txt","wb");

if(fp==null)

{

printf("打开文件出错!\n");

exit(0);

}

for(i=0;i

fwrite(shu+i,sizeof(struct student),1,fp);

fclose(fp);

}

int readfromfile(struct student shu[])

{

file *fp=null;

int i=0;

fp=fopen("d:\\chegnji.txt","rb");

if(fp!=null)

{

printf("%-4s %-10s %-3s","学号","姓名","成绩\n\n");

while(!feof(fp))

{

if(i>=n)

break;

if(fread(shu+i,sizeof(struct student),1,fp))

printf("%-4d %-10s %-3d",shu[i].num,shu[i].name,shu[i].score);

printf("\n");

i++;

}

fclose(fp);

}

i=i-1;

return i;

}

void chaxun(struct student shu[],int len)

{

int i,nue,b=0;

while(1)

{printf("input the student number (input'0' close) ");

scanf("%d",&nue);

b=0;

if(nue==0)

break;

for (i=0;i

{

if(nue==shu[i].num)

{ printf("%-4s %-10s %-3s","学号","姓名","成绩\n\n");

printf("%-4d %-10s %-3d\n",shu[i].num,shu[i].name,shu[i].score);

b=1;

}

}

if(b==0)

printf("the number is not exist!\n");

}

}

void paixu(struct student shu[],int len)

{

int i,j;

struct student temp;

printf("%-4s %-10s %-3s","学号","姓名","成绩\n\n");

for(i=0;i

{

for(j=i;j

{

if(shu[j].score>shu[i].score)

{

temp=shu[j];

shu[j]=shu[i];

shu[i]=temp;

}

}

printf("%-4d %-10s %-3d\n",shu[i].num,shu[i].name,shu[i].score);

}

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

c语言输入学号查找成绩,C语言程序设计按学号查询成绩相关推荐

  1. 设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。

    (1).设计一个学生类Student,包括数据成员:姓名.学号.二门课程(面向对象程序设计.高等数学)的成绩. (2).创建一个管理学生的类Management,包括实现学生的数据的增加.删除.修改. ...

  2. c语言输入后没答案,C语言章节习题及答案(无指针)解读.doc

    C语言章节习题及答案(无指针)解读 <C程序设计>复习题集 第2章 基础概念 一.选择题(在下列各题的A).B).C).D)四个选项中,只有一个选项是正确的) 2.1以下叙述中正确的是 A ...

  3. PMP成绩新鲜出炉,如何查询成绩?

    恭喜顺利通过项目管理系列认证考试! 这几天一直有同学在问什么时候出成绩,这不,终于出成绩了! 还不知道如何查成绩的同学,我们再CUE一遍流程! 成绩查询时间与方式 PMP®考试的成绩每次都会分批出来, ...

  4. 2021汕头砺青中学高考成绩查询,@汕头高考考生:今天18:00起推送成绩 18:30起可查询成绩...

    广东省教育考试院7月22日发布通知,对广东省2020年普通高考考生成绩发布有关工作作出安排,全文如下: 各地级以上市招生办公室(考试中心): 2020年我省普通高考评卷工作已经完成,现将我省普通高考考 ...

  5. c语言编程顺序查找例题,C语言典型编程例题.doc

    C语言典型编程例题 典型编程例题 一.数列(阶乘)问题 1.s=1+22+32+--+202 2.求阶乘20!的值. 3.求1!+2!+--+20! 4.输出菲波那契数列前20个数(1,1,2,3,5 ...

  6. c语言从文件查找字符串,C语言文件中字符串的查找与替换?

    C语言文件中字符串的查找与替换? #include #include #include #include int Count=0; int findNum(char *str) { int i=0,t ...

  7. c语言输入十个英文国名,c语言程式设计 在主函式输入10个字元,用子函式求出共输入几个英文字元,几个数字字元,几个符号%...

    c语言程式设计 在主函式输入10个字元,用子函式求出共输入几个英文字元,几个数字字元,几个符号%以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  8. c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符 ...

  9. c语言 输入n*n矩阵,C语言函数 编程输入一个n*n矩阵中各元素的值,找出两条对角线上的元素之和...

    题目: C语言函数 编程输入一个n*n矩阵中各元素的值,找出两条对角线上的元素之和 用函数怎么写 解答: #include #define N 5 void main() { \x09int matr ...

  10. c语言输入123输出112233,C语言程序的设计 第3章 程序语言基础1.pdf

    C语言程序的设计 第3章 程序语言基础1 第3章 程序语言基础 •3.1 C语言概述 3.1 C 33..11 CC 3.2 基本数据类型 3.2 • 33..22 3.3 运算符和表达式 3.3 • ...

最新文章

  1. SLAM之特征匹配(二)————RANSAC--------翻译以及经典RANSAC以及其相关的改进的算法小结
  2. OpenStack Austin 峰会观察:OpenStack as IaaS 已是过去,Solutions on OpenStack 才是未来
  3. OpenBoard的板级支持包(BSP)开发召集令
  4. linux ubuntu文件浏览器如何显示隐藏文件?(快捷键ctrl+h)
  5. EXP的flashback_scn和flashback_time
  6. tf.train.Saver
  7. 12个有趣的C语言面试题
  8. 餐饮小票在线生成_意大利电子小票发送截止日即将来临
  9. redis-cli 链接redis命令
  10. java蓝牙开发_Android蓝牙开发全面总结
  11. 润乾报表开源 BI 组件学习
  12. cgcs2000大地坐标系地图_MapGIS国土空间数据2000大地坐标系转换系统
  13. php utc 北京时间,美国各个时区转换成北京时间 utc gmt
  14. 我的深圳真实驾考经历
  15. android手机短信诈骗原理,安卓系统均存短信欺诈漏洞 专家:系统先天不足
  16. java file exists用法_Java File exists()方法
  17. 每个开发人员都应该学习的5种编程语言(上)
  18. android 仿百度地图,仿百度地图街景实现
  19. python编辑器windows_【python】windows下好用的的python编辑器 pyScripter
  20. SitePoint Podcast#100:我们的现场周年纪念秀

热门文章

  1. 64个 360 评估的提问样例
  2. 【有利可图网】PS实战教程31:给美女证件照片美容柔肤处理的PS技巧
  3. WHM不可不说的几件事?
  4. java里面出生日期_java出生日期格式
  5. 最新天迹云通信短信分销系统源码+已修复完美版
  6. python输入素数为什么要先判断是否是素数再用欧拉筛法
  7. 基于机器学习的敏感信息泄露治理探索
  8. 网页中嵌入QQ和邮箱
  9. 【统计学习方法】统计学习及监督学习概论
  10. TCP/IP第二章笔记链路层协议