Matain1412 2021-07-08 12:06 采纳率: 66.7%
浏览 69
已结题

C语言编写一段学生成绩管理系统,我写了但运行不了,求帮我改改/(ㄒoㄒ)/~~

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100

void zhuye()
{
printf(" ############欢迎进入学生成绩管理系统############\n");
printf(" 1.录入学生成绩 4.查询学生成绩\n");
printf(" 2.修改学生成绩 5.按成绩排序\n");
printf(" 3.删除学生信息 6.清屏\n");
printf(" 0.退出\n");
printf(" ################################################\n");
printf("请输入您的选择:");
}

struct cj
{int xh;
char xm[20];
int yy;
int gs;
int cyy;
int wl;
int sz;
int sum;
float ave;
}s[N],student1;

void input()
{
FILE *p;
p=fopen("学生成绩信息.txt","a+");
if(p==NULL) exit(0);
fseek(p,sizeof(struct cj),1);
int n;
printf("请输入新学生学号:");
scanf("%d",&n);
if(n>zs)
{
s[n].xh=n;
printf("请输入新学生姓名:");
scanf("%s",&s[n].xm);
printf("请输入英语成绩:");
scanf("%d",&s[n].yy);
printf("请输入高数成绩:");
scanf("%d",&s[n].gs);
printf("请输入C语言成绩:");
scanf("%d",&s[n].cyy);
printf("请输入物理成绩:");
scanf("%d",&s[n].wl);
printf("请输入思政成绩:");
scanf("%d",&s[n].sz);
s[n].sum=s[n].yy+s[n].gs+s[n].cyy+s[n].wl+s[n].sz;
s[n].ave=s[i].sum/5;
fwrite(&s[n],sizeof(struct cj),1,p);
zs=zs+1;
printf("录入成功!!\n");
}
else printf("已有该学生成绩信息!!");
fclose(p);
}

void output()
{
int i;
char c;
FILE *p;
p=fopen("学生成绩信息.txt","r");
system("cls");
getchar();
printf("|#学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分#|\n");
for (i=0;i<zs;i++)
{
fread(&s[i], sizeof(struct cj),1,p);
printf(" %d ",s[i].xh);
printf(" %s ",s[i].xm);
printf(" %d ",s[i].yy);
printf(" %d ",s[i].gs);
printf(" %d ",s[i].cyy);
printf(" %d ",s[i].wl);
printf(" %d ",s[i].sz);
printf(" %d ",s[i].sum);
printf(" %d \n",s[i].ave);
}
fclose(p);
}

void xiugai()
{
FILE *p;
p=fopen("学生成绩信息.txt","w+");
int n;
printf("请输入要修改信息的学生的学号:\n");
scanf("%d",&n);
if(n<zs)
{
printf("请修改学生姓名:");
scanf("%s",&s[n].xm);
printf("请修改英语成绩:");
scanf("%d",&s[n].yy);
printf("请修改高数成绩:");
scanf("%d",&s[n].gs);
printf("请修改C语言成绩:");
scanf("%d",&s[n].cyy);
printf("请修改物理成绩:");
scanf("%d",&s[n].wl);
printf("请修改思政成绩:");
scanf("%d",&s[n].sz);
fwrite(s[n],sizeof(struct cj),1,p);
printf("修改成功!!\n");
}
else printf("未找到该学生成绩信息!!");
fclose(p);
}

void chaxun()
{
FILE *p;
p=fopen("学生成绩信息.txt","r");
system("cls");
printf(" ###########请选择查询方式################\n);
printf(" 1.通过学生姓名 2.通过学生学号\n");
printf(" 3.清屏\n"); 4.退出\n");
printf(" ####################################################\n");

int t,i,xuehao;
char xingming[20];
printf("请输入您的选择:");
    scanf("%d",&t);

switch (t)
{
case 1:
{
printf("请输入要查询学生的姓名:\n");
getchar();
scanf("%s",xingming);
for (i=0;i<100;i++)
{
fread(&s[i],sizeof(struct cj),1,p);
if(strcmp(s[i].xm,xingming)==0)
{
printf("\n查寻到的学生为:\n");
printf("|#学号\t姓名\t英语\t高数\tC语言\t物理\t思政\t#|\n");
printf("%4d%s%d%d%d%d%d",s[i].xh,s[i].xm,s[i].yy,s[i].gs,s[i].cyy,s[i].wl,s[i].sz,s[i].sum,s[i].ave);
}
else printf("\n未查到成绩信息!!!");
}
break;
case 2:
{
printf("请输入要查询学生的学号:");
scanf("%d",&xuehao);
for(i=0;i<100,i++);
{
fread(&s[i],sizeof(struct cj),1,p);
if(s[i].xh==xuehao)
{
printf("\n查寻到的学生为:\n");
printf("|#学号\t姓名\t英语\t高数\tC语言\t物理\t思政\t#|\n");
printf("%4d%s%d%d%d%d%d",s[i].xh,s[i].xm,s[i].yy,s[i].gs,s[i].cyy,s[i].wl,s[i].sz,s[i].sum,s[i].ave);
}
else printf("\n未查到成绩信息!!!");
}
case 3: system("cls");
case 4: break;
}
fclose(p);
}

void shanchu()
{
int i;
FILE *p;
p=fopen("学生成绩信息.txt","a+");
if(p==NULL) exit(0);
printf("请输入要删除的学生学号:")
scanf("%d",&i);
s[i]="";
fwrite(&s[i],sizeof(struct cj),1,p);
zs--;
fclose(p);
}

void paixu()
{
int i,j;
FILE *p;
system("cls");
count();
for (i=0;i<zs;i++)
for (j=0;j<zs-i;j++)
{
if (s[j].sum>s[j+1].sum)
{
student1=student[j];
student[j]=student[j+1];
student[j+1]=student1;
}
}
fp=fopen("students.txt","w+");
for (i=0;i<zs;i++)
fwrite(&s[i],sizeof(struct cj),1,p);
fclose(p);
}

void tuichu()
{
char c;
systen("cls");
printf("\n\n\t\t谢谢使用\n\n\n");
}

void main()
{
int x,zs=10;
zhuye();
scanf("%d",&x);
switch(x)
{
case 1:
input();
break;
case 2:
xiugai();
break;
case 3:
shanchu();
break;
case 4:
chaxun();
break;
case 5:
paixu();
output();
break;
}
if(i=0) tuichu();

}

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-07-08 12:12
    关注

    代码用代码段贴,你的代码都乱套了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛