河南科技大学c语言程序设计源代码参考

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

警告:请把存放文件地址的文件名,替换代码中的“!!!!”
输出个人信息根据实际情况填写。
源文件地址存放地址要和代码地址(读入,写出部分)一致,否则运行错误。
本代码仅供参考,版权归原作者 下一个传奇 所有。如有疑问,联系QQ467153274

#include
struct student
{ int num;
char name[10];
int score;
}stu[100];
int main()
{ int m,b; //m为功能代码,b为要查询学生的学号。
void filein(); //声明读入已知数据函数
void personmassage();//声明个人资料函数
void found(int x); //声明查询函数
void max_value(); //声明最高成绩函数
void average(); // 声明统计高于,低于,等于平均成绩的人数函数
void percentage(); //声明百分比函数
filein(); //将stuin.txt中的信息读入数组
printf("***********************************************************\n\n");
printf("* 功 能 主 菜 单 *\n\n");
printf("* 1--编程人员信息。 *\n\n");
printf("* 2--根据学号查询某学生的所有信息 *\n\n");
printf("* 3--显示成绩最高的学生的学号,姓名和成绩。 *\n\n");
printf("* 4--显示平均成绩,高于,低于和等于平均成绩的人数: *\n\n");
printf("* 5--显示优秀,良好,中等,及格和不及格的学生人数及所占百分比*\n\n");
printf("***********************************************************\n\n");
printf("请输入功能代码(1~5):\n");
scanf("%d",&m);
while(m>0&&m<=5)
{switch(m)
{case 1:personmassage();break;
case 2:printf("请输入要查找学生的学号:\n");
scanf("%d",&b);
found(b);break;
case 3:max_value();break;
case 4:average();break;
case 5:percentage();break;
}
scanf("%d",&m);
}
return 0;
}


void filein()
{int i;
FILE *fp1;
fp1=fopen("E:\\!!!!!\\stuin.txt","r");
for(i=0;i<100;i++)
fscanf(fp1,"%d %s %d",&stu[i].num,stu[i].name,&stu[i].score);
//for(i=0;i<100;i++) //此行和下一行的功能是输出结构体数组中各元素的值。验证已知数据文件读入的正确性。程序通过后删除它即可。
//printf("%d %s %d\n",stu[i].num,stu[i].name,stu[i].score);
fclose(fp1);
}


void personmassage()
{FILE *fp2;
printf("\t*******************************\n\n");
printf("\t* 河 南 科 技 大 学 *\n\n");
printf("\t*******************************\n\n");
printf("\t* 自 动 化 122 班 某某 *\n\n");
printf("\t*******************************\n\n");
fp2=fopen("E:\\!!!!!!\\stuout.txt","w");
fprintf(fp2,"\t***********************************\n\n");
fprintf(fp2,"\t* 河 南 科 技 大 学 *\n\n");
fprintf(fp2,"\t***********************************\n\n");
fprintf(fp2,"\t* 自 动

化 122 班 某某 *\n\n");
fprintf(fp2,"\t***********************************\n\n");
fclose(fp2);
}


void found(int x)
{ FILE *fp3;
int i;
printf("要查询的学生学号为%d\n\n",x);
for(i=0;i<100;i++)
if(x==stu[i].num)
{printf("学号:%d\n姓名:%s\n分数:%d\n",stu[i].num,stu[i].name,stu[i].score);
fp3=fopen("E:\\!!!!!!\\stuout.txt","a");
fprintf(fp3,"学号:%d\n姓名:%s\n分数:%d\n",stu[i].num,stu[i].name,stu[i].score);}
fclose(fp3);
}

void max_value()
{int i,max;
FILE *fp4;
max=stu[0].score;
for(i=1;i<100;i++)
if(maxprintf("此班最高分是:%d\n",max);
for(i=0;i<100;i++)
if(stu[i].score ==max)
{printf("最高分学生的学号\t姓名\t\t成绩\n");
fp4=fopen("E:\\!!!!!!!\\stuout.txt","a");
fprintf(fp4,"最高分学生的学号\t姓名\t\t成绩\n");
printf("%d\t\t\t%s\t%d\n",stu[i].num,stu[i].name,stu[i].score);
fprintf(fp4,"%d\t\t%s\t\t%d\n",stu[i].num,stu[i].name,stu[i].score);
}

fclose(fp4);
}

void average()
{int i,sum=0,more=0,less=0,equal=0;
float aver;
FILE *fp5;
for(i=0;i<100;i++)
sum=sum+stu[i].score;
aver=(float)sum/100;
for(i=0;i<100;i++)
{
if(stu[i].score >aver)
++more;
if(stu[i].score ++less;
if(stu[i].score ==aver)
++equal;
}
printf("aver=%6.2f\nmore=%d\nless=%d\nequal=%d\n",aver,more,less,equal);
fp5=fopen("E:\\!!!!!!!!\\stuout.txt","a");
fprintf(fp5,"aver=%6.2f\nmore=%d\nless=%d\nequal=%d\n",aver,more,less,equal);
fclose(fp5);
}


void percentage()
{int i,excel=0,good=0,medium=0,pass=0,fail=0;
FILE *fp6;
float b0,b1,b2,b3,b4;
for(i=0;i<100;i++)
{
if(stu[i].score >=90)
++excel;
else if(stu[i].score >=80)
++good;
else if(stu[i].score >=70)
++medium;
else if(stu[i].score >=60)
++pass;
else
++fail;
}

b0=excel/100.0;
b1=good/100.0;
b2=medium/100.0;
b3=pass/100.0;
b4=fail/100.0;
printf("excel=%d\npercentage=%6.2f\ngood=%d\npercentage=%6.2f\nmedium=%d\npercentage=%6.2f\npass=%d\npercentage=%6.2f\nfail=%d\npercentage=%6.2f\n",excel,b0,good,b1,medium,b2,pass,b3,fail,b4);
fp6=fopen("E:\\!!!!!\\stuout.txt","a");
fprintf(fp6,"excel=%d\npercentage=%6.2f\ngood=%d\npercentage=%6.2f\nmedium=%d\npercentage=%6.2f\npass=%d\npercentage=%6.2f\nfail=%d\npercentage=%6.2f\n",excel,b0,good,b1,medium,b2,pass,b3,fail,b4);
fclose(fp6);

}


相关文档
最新文档