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