问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言学生成绩统计系统,

发布网友 发布时间:2022-06-02 18:23

我来回答

1个回答

热心网友 时间:2024-03-29 07:29

#include<stdio.h>
#include<string.h>

#define NUM1 3
#define NUM2 3
#define NUM3 3

struct student
{
char name[10];
int score;
}c1[NUM1],c2[NUM2],c3[NUM3];//定义三个结构体数组
int i,j,k;
FILE *fp1_order,*fp2_order,*fp3_order;//定义文件指针
//=========================================================
void main(void)
{
void data_in(void);
void score_order(void);
void save_in(void);
void save_order(void);
void open_order(void);
printf("******************************学生成绩文件管理******************************\n");
printf(" programmer:喻翔\n\n");
printf("一、输入三个班的学生姓名和成绩:\n\n");
data_in();
printf("\n\n\n");
printf("############################################################################\n\n");
printf("二、保存输入的姓名和成绩:\n\n");
save_in();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("三、排名并保存姓名和成绩:\n\n");
score_order();
save_order();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("四、验证排名后保存的文件:\n\n");
open_order();
printf("\n\n\n");
}
//============================================
void data_in(void)
{
printf("请输入一班%d个学生的姓名和成绩:\n",NUM1);
for(i=0;i<NUM1;i++)
{
printf("第%d个:",i+1);
scanf("%s %d",c1[i].name,&c1[i].score);
}
printf("\n\n\n请输入二班%d个学生的姓名和成绩:\n",NUM2);
for(j=0;j<NUM2;j++)
{
printf("第%d个:",j+1);
scanf("%s %d",c2[j].name,&c2[j].score);
}
printf("\n\n\n请输入三班%d个学生的姓名和成绩:\n",NUM3);
for(k=0;k<NUM3;k++)
{
printf("第%d个:",k+1);
scanf("%s %d",c3[k].name,&c3[k].score);
}
}
//=============================================================
void score_order(void)
{
int h,t;
char s[10];
for(h=0;h<NUM1-1;h++)
for(i=0;i<NUM1-1-h;i++)
if(c1[i].score<c1[i+1].score)
{
t=c1[i].score;
c1[i].score=c1[i+1].score;
c1[i+1].score=t;
strcpy(s,c1[i].name);//一定要使用strcpy()函数
strcpy(c1[i].name,c1[i+1].name);
strcpy(c1[i+1].name,s);
}
for(h=0;h<NUM2-1;h++)
for(j=0;j<NUM2-1-h;j++)
if(c2[j].score<c2[j+1].score)
{
t=c2[j].score;
c2[j].score=c2[j+1].score;
c2[j+1].score=t;
strcpy(s,c2[j].name);
strcpy(c2[j].name,c2[j+1].name);
strcpy(c2[j+1].name,s);
}

for(h=0;h<NUM3-1;h++)
for(k=0;k<NUM3-1-h;k++)
if(c3[k].score<c3[k+1].score)
{
t=c3[k].score;
c3[k].score=c3[k+1].score;
c3[k+1].score=t;
strcpy(s,c3[k].name);
strcpy(c3[k].name,c3[k+1].name);
strcpy(c3[k+1].name,s);
}
}
//=====================================================================
void save_in(void)
{
FILE *fp1_in,*fp2_in,*fp3_in;
if((fp1_in=fopen("data1_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_in);
if((fp2_in=fopen("data2_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_in);
if((fp3_in=fopen("data3_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_in);
}

//==============================================================
void save_order(void)
{
if((fp1_order=fopen("data1_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_order);
if((fp2_order=fopen("data2_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_order);
if((fp3_order=fopen("data3_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_order);
}

//=============================================================
void open_order(void)
{
fp1_order=fopen("data1_order.dat","rb");
printf("一班的成绩排名如下:\n");
printf("名次 姓名 C语言成绩\n");
printf("----------------------------------------\n");
for(i=0;i<NUM1;i++)
{
printf("第%d名 ",i+1);
fread(&c1[i],sizeof(struct student),1,fp1_order);
printf("%s %d\n",c1[i].name,c1[i].score);
}
fp2_order=fopen("data2_order.dat","rb");
printf("\n\n\n二班的成绩排名如下:\n");
printf("名次 姓名 C语言成绩\n");
printf("----------------------------------------\n");
for(j=0;j<NUM2;j++)
{
printf("第%d名 ",j+1);
fread(&c2[j],sizeof(struct student),1,fp2_order);
printf("%s %d\n",c2[j].name,c2[j].score);
}
fp3_order=fopen("data3_order.dat","rb");
printf("\n\n\n三班的成绩排名如下:\n");
printf("名次 姓名 C语言成绩\n");
printf("----------------------------------------\n");
for(k=0;k<NUM3;k++)
{
printf("第%d名 ",k+1);
fread(&c3[k],sizeof(struct student),1,fp3_order);
printf("%s %d\n",c3[k].name,c3[k].score);
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在爱水APP哪个模块中可以填写个人信息,查询自己一天的饮水量? 黄金为什么是避险产品 避险买什么 避险品种是什么 避险产品什么意思 什么是避险产品 ...对联和我们平时使用的印章,说说使用了哪几个字体 对联上写的是什么字 ...有一空是让我评价我自己,请各位哥哥姐姐帮帮忙,帮我编一段,往好了... 艾灸用品哪种好 急需一个c语言编程:学生成绩统计。 C语言:学习成绩大于等于90的同学用A表示,60-90的用B表示,60以下的用C... c语言编写学生成绩处理 C语言:学习成绩&gt;=90分的同学用A表示,60-89分之间的用B表示, 60分以下... C语言学生成绩 c语言学习成绩处理系统(排序问题)c语言 《速度与激情(2001)》免费在线观看完整版高清,求百度网盘资源 谁有《速度与激情6》 bd版百度影音在线观看地址 速度与激情6的电影出来了。但是只有十分钟。速度与激情6到底是多长时 ... 速度与激情6在线观看高清版谁能给个链接,谢谢 速度与激情6打开出现下载内容失败。请检查你的互联网设置并重试?_百度... 速度与激情1-6部在线观看网址 别的网址都得是会员才能看... 哪里有《速度与激情6》高清在线观看地址 速度与激情6在线观看地址? 杜甫秋兴八首原文 元如蔡泽轻肥念,不向唐生更问年 奶牛刚挤出的新鲜牛奶可以不加热直接喝的吗? 鲜牛奶可以不加热吗, 五陵裘马自轻肥啥意思 ...登幽州台歌 望月怀远 宿建德江 从军行 轻肥 原文! 关于C语言编程学生平均成绩 厦门哈口味餐饮管理有限公司怎么样? 茉莉花属于林奈分类里的哪一种? Overriding是什么意思 override什么意思 固定资产的override是什么意思 overlay和override的区别 overridden-method是什么意思 emergency override switch是什么意思 deference是什么意思及反义词 青岛浩源集团有限公司董事长是谁 急!请问关于青岛圣元乳业有限公司的应聘 青岛东生集团股份有限公司的公司简介 HACCP&嗜氧菌 山东安池集团怎么样 请问有没有类似天河CAD的机械零件库插件 1.43用图怎么表示 用图表示描写事情有什么好处? 2/3×3/4用图怎么表示 谁能详细说下CAD零件库怎么安装?