c语言上机实习报告Word文件下载.docx
《c语言上机实习报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言上机实习报告Word文件下载.docx(28页珍藏版)》请在冰点文库上搜索。
主函数起调配其他函数的功能。
程序框架
#include"
stdio.h"
#include"
conio.h"
#include"
math.h"
#include"
stdlib.h"
dos.h"
graphics.h"
#definePI3.14159
#defineHPI/180
#defineN4
structstu
{intnum,mingci;
charname[20];
intscore[5];
floataver;
}stu1[40];
structxuefen
{
intnum;
charkcname[20];
intxf,a,b,c,d,e;
floatcourseaver;
}course[5];
structchengji
floatkcave;
floatbzcha;
intexc;
intgood;
intmid;
intpass;
intnopass;
}chengji[5];
main()/*主菜单*/
{charch1;
do{clrscr();
printf("
\n\n\n\n\n\n\n\n\n"
);
**********c语言程序设计上机实习**********\n"
---------------------\n\n"
1学生成绩管理\n\n"
);
2解线性方程组\n\n"
3动画\n\n"
4退出\n\n"
输出选择序号\n"
while((ch1=getchar(),ch1!
='
1'
&
ch1!
2'
3'
4'
));
switch(ch1)
{case'
:
section1();
break;
case'
section2();
section3();
exit(0);
}
}while
(1);
section1()/*第1个2级菜单*/
{charch21;
do{clrscr();
\n\n\n\n\n\n\n\n\n\n"
printf("
**********学生成绩管理系统***********\n"
1.输入原始数据并显示2.计算平均分及名次\n\n"
3.计算分数段人数4.输出课程平均分\n\n"
5.统计不及格情况6.输出优秀学生\n\n"
7.作分布图8.返回上级菜单\n\n"
输入选择序号\n"
while((ch21=getchar(),ch21!
ch21!
5'
6'
7'
8'
switch(ch21)
function1_1();
function1_2();
function1_3();
function1_4();
function1_5();
function1_6();
function1_7();
return(0);
}
section2()/*第2个2级菜单*/
{charch22;
**********解线性方程组***********\n"
1.解方程组\n\n"
2.返回上级菜单\n\n"
while((ch22=getchar(),ch22!
ch22!
switch(ch22)
function2_1();
section3()/*第3个2级菜单*/
{charch23;
**********作动画***********\n"
1.作动画\n\n"
while((ch23=getchar(),ch23!
ch23!
switch(ch23)
function3_1();
function1_1()
{FILE*fp,*fp1,*fp2,*fp3;
charstrr1[200],strr2[200];
inti,j;
加入读入原始数据并显示的程序内容\n"
if((fp=fopen("
C:
\\chengji.txt"
"
r"
))==NULL)
{printf("
cannotopenthefile\n"
if((fp1=fopen("
\\chengji1.txt"
w"
if((fp2=fopen("
\\xuefen.txt"
if((fp3=fopen("
\\xuefen1.txt"
/*fgets(strr,50,fp);
*/
fgets(strr1,200,fp);
for(i=0;
i<
40;
i++)
{fscanf(fp,"
%d%s"
&
stu1[i].num,stu1[i].name);
for(j=0;
j<
5;
j++)
fscanf(fp,"
%d"
stu1[i].score[j]);
/*fputs(strr,50,fp1;
fprintf(fp1,"
学号姓名毛邓三近代史听力英语高数\n"
{fprintf(fp1,"
%-5d%-10s"
stu1[i].num,stu1[i].name);
fprintf(fp1,"
%-8d"
stu1[i].score[j]);
\n"
{printf("
%-5d"
fgets(strr2,200,fp2);
{fscanf(fp2,"
%d%s%d"
course[i].num,course[i].kcname,&
course[i].xf);
fprintf(fp3,"
编号课程名称课程学分\n"
{fprintf(fp3,"
%-5d%-10s%-5d"
course[i].num,course[i].kcname,course[i].xf);
fprintf(fp3,"
*********按Enter键继续************\n"
getchar();
getchar();
fclose(fp);
fclose(fp1);
fclose(fp2);
fclose(fp3);
function1_2()
{inti,j,s;
floatsum;
FILE*fp4;
加入计算平均分及名次的程序内容\n"
sum=0;
s=0;
s=s+course[i].xf;
{sum=0;
sum+=stu1[i].score[j]*course[j].xf;
stu1[i].aver=sum/s;
39;
39-j;
if(stu1[i].aver<
stu1[i+1].aver)
{stu1[40]=stu1[i];
stu1[i]=stu1[i+1];
stu1[i+1]=stu1[40];
stu1[i].mingci=i+1;
{
%-10d"
%-6.1f%-5d"
stu1[i].aver,stu1[i].mingci);
if((fp4=fopen("
\\mingci.txt"
cannotopenfille\n"
return;
fprintf(fp4,"
学号姓名毛邓三近代史听力英语高数平均分名次\n"
{fprintf(fp4,"
fprintf(fp4,"
%-6d"
%-6.1f%4d"
**************按Enter键继续****************\n"
fclose(fp4);
function1_3()
{FILE*fp5;
加入计算分数段人数程序\n"
if((fp5=fopen("
\\dumain.txt"
cannotopenthisfile\n"
fprintf(fp5,"
范围>
9080~9070~8060~70<
60\n"
{course[j].a=0;
course[j].b=0;
course[j].c=0;
course[j].d=0;
course[j].e=0;
{if(stu1[i].score[j]>
=90&
stu1[i].score[j]<
=100)course[j].a++;
elseif(stu1[i].score[j]>
=80)course[j].b++;
=70)course[j].c++;
=60)course[j].d++;
0)course[j].e++;
%-8s%-8d%-8d%-8d%-8d%-8d\n"
course[j].kcname,course[j].a,course[j].b,course[j].c,course[j].d,course[j].e);
**********按Enter键继续***********\n"
fclose(fp5);
function1_4()
FILE*fp6;
intsum1;
for(j=0;
{sum1=0;
sum1=sum1+stu1[i].score[j];
course[j].courseaver=sum1/40.0;
}for(j=0;
%-8s%-6.2f\n"
course[j].kcname,course[j].courseaver);
if((fp6=fopen("
\\coursepj.txt"
cannotopenfile\n"
exit(0);
fprintf(fp6,"
课程名平均分\n"
fprintf(fp6,"
加入输出课程平均分程序内容\n"
fclose(fp6);
function1_5()
{inti,j;
FILE*fp7;
加入统计不及格情况程序内容\n"
if((fp7=fopen("
\\bujige.txt"
fprintf(fp7,"
学号姓名课程学分成绩\n"
学号姓名课程学分成绩\n"
{if(stu1[i].score[j]<
60)
{fprintf(fp7,"
%-5d%-14s%-10s%-8d%-5d\n"
stu1[i].num,stu1[i].name,course[j].kcname,
course[j].xf,stu1[i].score[j]);
fclose(fp7);
function1_6()
{inti,j;
FILE*fp8;
加入输出优秀学生程序内容\n"
if((fp8=fopen("
\\youxiu.txt"
fprintf(fp8,"
学号姓名毛邓三近代史听力英语数学平均成绩名次\n"
学号姓名毛邓三近代史听力英语高数平均成绩名次\n"
{if(stu1[i].aver>
=90||stu1[i].mingci<
=3||(stu1[i].aver>
=85&
(stu1[i].score[0]>
=99||stu1[i].score[1]>
=99||stu1[i].score[2]>
=99||stu1[i].score[3]>
=99||stu1[i].score[4]>
=99||stu1[i].score[5]>
=99)))
%-5d%-10s"
%5.2f%5d\n"
stu1[i].aver,stu1[i].mingci);
%5.2f%5d\n"
***********按Enter键继续**********\n"
fclose(fp8);
function1_7()
{inte1=0,e2=0,e3=0,e4=0,e5=0,f1=0,f2=0,f3=0,f4=0,f5=0,c1=0,c2=0,c3=0,c4=0,c5=0,b1=0,b2=0,b3=0,b4=0,b5=0,d1=0,d2=0,d3=0,d4=0,d5=0;
char*a1="
maodeng"
*a2="
jindaishi"
*a3="
tingli"
*a4="
yingyu"
*a5="
gaoshu"
*k1="
=90"
*k2="
=80"
*k3="
=70"
*k4="
=60"
*k5="
60"
;
intgdriver=DETECT,gmode=0;
floatr=50.0,x,y,q;
charch1,str1[80];
inti=0,m;
floatn;
加入作分布图程序内容\n"
{if(stu1[i].score[0]>
=90)e1++;
elseif(stu1[i].score[0]>
=80)e2++;
=70)e3++;
=60)e4++;
elsee5++;
if(stu1[i].score[1]>
90)f1++;
elseif(stu1[i].score[1]>
80)f2++;
70)f3++;
60)f4++;
elsef5++;
if(stu1[i].score[2]>
90)c1++;
elseif(stu1[i].score[2]>
80)c2++;
70)c3++;
60)c4++;
elsec5++;
if(stu1[i].score[3]>
90)b1++;
elseif(stu1[i].score[3]>
80)b2++;
70)b3++;
60)b4++;
elseb5++;
if(stu1[i].score[4]>
90)d1++;
elseif(stu1[i].score[4]>
80)d2++;
elseif(stu1[i].s