学生成绩单制作Word格式.docx
《学生成绩单制作Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩单制作Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
![学生成绩单制作Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/1/d75779da-c411-4a49-a645-ae1450aa5615/d75779da-c411-4a49-a645-ae1450aa56151.gif)
7(在实习报告中说明知识点。
8(在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会。
四、程序代码
#include<
stdio.h>
string.h>
#defineN10
structstudent
{
charnum[10];
charname[8];
intchinese;
intmath;
intenglish;
intaverage;
};
structsort
intscore;
voidmain()
structstudentstu[N];
structsortsor[N];
inti,j,temp;
intmax_score,max_average;
charmax_score_course[10];
charmax_score_stuname[10],max_average_stuname[10];
charmax_score_stunum[10],max_average_stunum[10];
chartempnum[10];
/*INPUT*/
for(i=0;
i<
N;
i++)
printf("
Inputstudent%dnum:
"
i+1);
scanf("
%s"
stu[i].num);
Inputstudent%dname:
stu[i].name);
Inputstudent%dChinesescore:
%d"
&
stu[i].chinese);
Inputstudent%dMathscore:
stu[i].math);
Inputstudent%dEnglishscore:
stu[i].english);
\n"
);
}
stu[i].average=(stu[i].chinese+stu[i].math+stu[i].english)/3;
/*Maxscore*/
max_score=stu[0].chinese;
strcpy(max_score_course,"
Chinese"
strcpy(max_score_stuname,stu[0].name);
strcpy(max_score_stunum,stu[0].num);
if(stu[i].chinese>
max_score)
max_score=stu[i].chinese;
strcpy(max_score_stuname,stu[i].name);
strcpy(max_score_stunum,stu[i].num);
if(stu[i].math>
max_score=stu[i].math;
Math"
if(stu[i].english>
max_score=stu[i].english;
English"
Maxscore:
%s\t%s\t%s\t\t%d"
max_score_stunum,max_score_stuname,max_score_course,max_
score);
\n\n"
/*Maxaverage*/
max_average=stu[0].average;
strcpy(max_average_stuname,stu[0].name);
strcpy(max_average_stunum,stu[0].num);
if(stu[i].average>
max_average)
max_average=stu[i].average;
strcpy(max_average_stuname,stu[i].name);
strcpy(max_average_stunum,stu[i].num);
Maxaverage:
%s\t%s\t\t\t%d"
max_average_stunum,max_average_stuname,max_average);
/*Sortandoutput*/
sor[i].score=stu[i].average;
strcpy(sor[i].num,stu[i].num);
N-1;
for(j=i+1;
j<
j++)
if(sor[i].score<
sor[j].score)
temp=sor[i].score;
sor[i].score=sor[j].score;
sor[j].score=temp;
strcpy(tempnum,sor[i].num);
strcpy(sor[i].num,sor[j].num);
strcpy(sor[j].num,tempnum);
num\tname\tMath\tChinese\tEnglish\taverage\n"
for(j=0;
if(!
strcmp(sor[i].num,stu[j].num))
%s\t%s\t%d\t%d\t%d\t%d\n"
stu[j].num,stu[j].name,stu[j].math,stu[j].chines
e,stu[j].english,stu[j].average);
getch();
五、程序流程图
六、程序运行结果
七、程序知识点
1、结构体的输入
2、结构体数据的调用
3、对应排序
八、心得体会
在这个程序中,我学会了结构体的定义、调用等关于结构体的知识,题目要求的是10个学生,初期为了调试方便,我换成了2个学生,揭晓了调试难度,也明白了宏定义的好处,程序最后一个模块的排序看似很简单,其实并不好实现,最后我用了一个新的结构体保存了排序后的成绩与与之对应的学号,在通过学号之间的对比,从原来的结构体中调用成绩信
息。
输出时需要多次调试,将标题栏与下面数据栏对其,这一方面多调试几次就可达到清晰
美观的界面。