365文库
登录
注册
1

学生成绩管理C语言

234阅读 | 11收藏 | 8页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
1
学生成绩管理C语言第1页
学生成绩管理C语言第2页
学生成绩管理C语言第3页
学生成绩管理C语言第4页
学生成绩管理C语言第5页
学生成绩管理C语言第6页
学生成绩管理C语言第7页
学生成绩管理C语言第8页
福利来袭,限时免费在线编辑
转Pdf
right
1/8
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
做你的王爱你的皇 上传于:2024-06-27
#include #define N 2 struct student {int xh; float score[4]; char name[20]; float average; int num; }std[100]; int n=0; /*学生总人数*/ /* 输入学生数据*/ void srsj() { FILE *fp; fp=fopen("lishengjie.txt","w"); int i,j; for(i=0;i",i+1); printf("请输入学生学号:
"); scanf("%d",&std[i].xh); for(j=0;j"); printf("请输入学生学号:
"); scanf("%d",&std[i].xh); } } printf("请输入学生姓名:
"); scanf("%s",&std[i].name); printf("请输入学生c程序设计成绩:
"); scanf("%f",&std[i].score[0]); printf("请输入学生高数成绩:
"); scanf("%f",&std[i].score[1]); printf("请输入学生英语成绩:
"); scanf("%f",&std[i].score[2]); printf("请输入学生线代成绩:
"); scanf("%f",&std[i].score[3]); n++; fprintf(fp,"
%d
%s
c程序设计成绩:%.2f
高数成绩:%.2f
英语成绩:%.2f
线代成绩:%.2f
",std[i].xh,std[i].name, std[i].score[0],std[i].score[1],std[i].score[2],std[i].score[3]); } fprintf(fp,"%d",n); fclose(fp); } /*计算单个同学的平均分*/ void average(int i) { float sum; sum=std[i].score[0]+std[i].score[1]+std[i].score[2]+std[i].score[3]; std[i].average=sum/4; } /*计算每位同学的平均分*/ void pjf1() { int i,m; float sum; for(i=0;i",std[m].name,std[m].average); } /*计算各科成绩的平均分*/ void pjf2() { int m; float i=0.0,j=0.0,k=0.0,l=0.0; float average[4]; for(m=0;m"); printf("%.2f %.2f %.2f %.2f",average[0],average[1],average[2],average[3]); } /*统计各分段人数*/ void tj() { int i; int a[4]={0,0,0,0}; /*C语言*/ int b[4]={0,0,0,0}; /*高数*/ int c[4]={0,0,0,0}; /*英语*/ int d[4]={0,0,0,0}; /*线代*/ int e[4]={0,0,0,0}; /*平均分*/ for(i=0;i=90) a[0]++; else if(std[i].score[0]>=80&&std[i].score[0]<=89) a[1]++; else if(std[i].score[0]>=60&&std[i].score[0]<=79) a[2]++; else a[3]++; if(std[i].score[1]>=90) b[0]++; else if(std[i].score[1]>=80&&std[i].score[1]<=89) b[1]++; else if(std[i].score[1]>=60&&std[i].score[1]<=79) b[2]++; else b[3]++; if(std[i].score[2]>=90) c[0]++; else if(std[i].score[2]>=80&&std[i].score[2]<=89) c[1]++; else if(std[i].score[2]>=60&&std[i].score[2]<=79) c[2]++; else c[3]++; if(std[i].score[3]>=90) d[0]++; else if(std[i].score[3]>=80&&std[i].score[3]<=89) d[1]++; else if(std[i].score[3]>=60&&std[i].score[3]<=79) d[2]++; else d[3]++; if(std[i].average>=90) e[0]++; else if(std[i].average>=80&&std[i].average<=89) e[1]++; else if(std[i].average>=60&&std[i].average<=79) e[2]++; else e[3]++; } printf(" C语言 高数 英语 线代 平均分
"); printf("90-100: %d %d %d %d %d
",a[0],b[0],c[0],d[0],e[0]); printf("80-89: %d %d %d %d %d
",a[1],b[1],c[1],d[1],e[1]); printf("60-79: %d %d %d %d %d
",a[2],b[2],c[2],d[2],e[2]); printf("60以下: %d %d %d %d %d
",a[3],b[3],c[3],d[3],e[3]); } /*按各个同学平均分排序,给出名次*/ void px() {int m,i,j,t=1; for(i=0;i"); for(m=0;m",std[m].xh,std[m].name,std[m].average,std[m].num); } /*通过学号返回数组下标*/ int search(int xh) { int i; for (i=0;i<=n;i++) { if (std[i].xh==xh) return i; } return -1; } /*显示单个学生信息*/ void xx(int p) { printf("学号 姓名 C语言 高数 英语 线代 平均分
"); printf(" %d %s %.2f %.2f %.2f %.2f %.2f",std[p].xh,std[p].name, std[p].score[0],std[p].score[1],std[p].score[2],std[p].score[3],std[p].average); } /*增加数据*/ void increase() { do {printf("请输入学生学号:
"); scanf("%d",&std[n].xh); printf("请输入学生姓名:
"); scanf("%s",&std[n].name); printf("请输入学生c程序设计成绩:
"); scanf("%f",&std[n].score[0]); printf("请输入学生高数成绩:
"); scanf("%f",&std[n].score[1]); printf("请输入学生英语成绩:
"); scanf("%f",&std[n].score[2]); printf("请输入学生线代成绩:
"); scanf("%f",&std[n].score[3]); average(n); n++; printf("
是否继续输入?(y/n)
"); getchar(); }while(getchar()=='y'); } /*删除数据*/ void Delete() { int p,i,xh; while(1) {printf("请输入要删除的学生的学号:"); scanf("%d",&xh); p=search(xh); if(p==-1) printf("您所查找的学生不存在"); else { printf("要删除的学生信息为:
"); xx(p); printf("
是否删除?(y/n)"); getchar(); if(getchar()=='y') { for(i=p;i是否继续?(y/n)
"); getchar(); if(getch
tj