c语言上机实习报告.docx

上传人:b****1 文档编号:2700379 上传时间:2023-05-04 格式:DOCX 页数:28 大小:53.96KB
下载 相关 举报
c语言上机实习报告.docx_第1页
第1页 / 共28页
c语言上机实习报告.docx_第2页
第2页 / 共28页
c语言上机实习报告.docx_第3页
第3页 / 共28页
c语言上机实习报告.docx_第4页
第4页 / 共28页
c语言上机实习报告.docx_第5页
第5页 / 共28页
c语言上机实习报告.docx_第6页
第6页 / 共28页
c语言上机实习报告.docx_第7页
第7页 / 共28页
c语言上机实习报告.docx_第8页
第8页 / 共28页
c语言上机实习报告.docx_第9页
第9页 / 共28页
c语言上机实习报告.docx_第10页
第10页 / 共28页
c语言上机实习报告.docx_第11页
第11页 / 共28页
c语言上机实习报告.docx_第12页
第12页 / 共28页
c语言上机实习报告.docx_第13页
第13页 / 共28页
c语言上机实习报告.docx_第14页
第14页 / 共28页
c语言上机实习报告.docx_第15页
第15页 / 共28页
c语言上机实习报告.docx_第16页
第16页 / 共28页
c语言上机实习报告.docx_第17页
第17页 / 共28页
c语言上机实习报告.docx_第18页
第18页 / 共28页
c语言上机实习报告.docx_第19页
第19页 / 共28页
c语言上机实习报告.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言上机实习报告.docx

《c语言上机实习报告.docx》由会员分享,可在线阅读,更多相关《c语言上机实习报告.docx(28页珍藏版)》请在冰点文库上搜索。

c语言上机实习报告.docx

c语言上机实习报告

<<计算机上机实习>>

实习报告

班级

学号/序号

姓名

指导教师

完成日期

 

第一部分:

分析设计与说明

第二部分:

程序框图

第三部分:

源程序清单

第四部分:

原始数据

第五部分:

运行结果

第六部分:

实习心得

第一部分:

分析设计与说明

第一步:

建立一个机械10704班的学生成绩信息文件和学分文件,采用文本文档格式。

第二步:

程序设计思定义一个结构体用于存放chengji文件中的数据。

1.编写菜单,,在主函数中编写菜单,采用二级菜单形式,相应的选项对应相应的函数。

2.编写第一个函数,用于读取文件chengji中的数据。

3.编写第一个函数,用于读取文件xuefen中的数据。

4.编写第二个函数,用于计算平均分和排名次,并将结果保存。

5.编写第三个函数,计算各分数段的人数,并将结果保存。

6.编写第四个函数,统计不及格的情况,并将结果保存。

7.编写第六个函数,作各科成绩的饼状图。

8.编写第八个函数,矩形表示。

9.编写第九个函数,用于解线性方程组。

10.编写第九个函数,编写五角星动画函数。

说明:

十个函数中,前七个函数属于学生信息管理函数,在第一个二级菜单下,后三个保存在第二个二级菜单下。

主函数起调配其他函数的功能。

 

第二部分:

程序框架

 

第三部分:

源程序清单

#include"stdio.h"

#include"conio.h"

#include"math.h"

#include"stdlib.h"

#include"dos.h"

#include"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");

printf("**********c语言程序设计上机实习**********\n");

printf("---------------------\n\n");

printf("1学生成绩管理\n\n");

printf("2解线性方程组\n\n");

printf("3动画\n\n");

printf("4退出\n\n");

printf("输出选择序号\n");

while((ch1=getchar(),ch1!

='1'&&ch1!

='2'&&ch1!

='3'&&ch1!

='4'));

switch(ch1)

{case'1':

section1();break;

case'2':

section2();break;

case'3':

section3();break;

case'4':

exit(0);}

}while

(1);

}

section1()/*第1个2级菜单*/

{charch21;

do{clrscr();printf("\n\n\n\n\n\n\n\n\n\n");

printf("**********学生成绩管理系统***********\n");

printf("---------------------\n\n");

printf("1.输入原始数据并显示2.计算平均分及名次\n\n");

printf("3.计算分数段人数4.输出课程平均分\n\n");

printf("5.统计不及格情况6.输出优秀学生\n\n");

printf("7.作分布图8.返回上级菜单\n\n");

printf("输入选择序号\n");

while((ch21=getchar(),ch21!

='1'&&ch21!

='2'&&ch21!

='3'&&ch21!

='4'&&ch21!

='5'&&ch21!

='6'

&&ch21!

='7'&&ch21!

='8'));

switch(ch21)

{case'1':

function1_1();break;

case'2':

function1_2();break;

case'3':

function1_3();break;

case'4':

function1_4();break;

case'5':

function1_5();break;

case'6':

function1_6();break;

case'7':

function1_7();break;

case'8':

return(0);}

}while

(1);

}

section2()/*第2个2级菜单*/

{charch22;

do{clrscr();printf("\n\n\n\n\n\n\n\n\n\n");

printf("**********解线性方程组***********\n");

printf("---------------------\n\n");

printf("1.解方程组\n\n");

printf("2.返回上级菜单\n\n");

printf("输入选择序号\n");

while((ch22=getchar(),ch22!

='1'&&ch22!

='2'));

switch(ch22)

{case'1':

function2_1();break;

case'2':

return(0);}

}while

(1);

}

section3()/*第3个2级菜单*/

{charch23;

do{clrscr();printf("\n\n\n\n\n\n\n\n\n\n");

printf("**********作动画***********\n");

printf("---------------------\n\n");

printf("1.作动画\n\n");

printf("2.返回上级菜单\n\n");

printf("输入选择序号\n");

while((ch23=getchar(),ch23!

='1'&&ch23!

='2'));

switch(ch23)

{case'1':

function3_1();break;

case'2':

return(0);}

}while

(1);

}

function1_1()

{FILE*fp,*fp1,*fp2,*fp3;

charstrr1[200],strr2[200];

inti,j;

printf("加入读入原始数据并显示的程序内容\n");

if((fp=fopen("C:

\\chengji.txt","r"))==NULL)

{printf("cannotopenthefile\n");

exit(0);}

if((fp1=fopen("C:

\\chengji1.txt","w"))==NULL)

{printf("cannotopenthefile\n");

exit(0);}

if((fp2=fopen("C:

\\xuefen.txt","r"))==NULL)

{printf("cannotopenthefile\n");

exit(0);}

if((fp3=fopen("C:

\\xuefen1.txt","w"))==NULL)

{printf("cannotopenthefile\n");

exit(0);}

 

/*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");

for(i=0;i<40;i++)

{fprintf(fp1,"%-5d%-10s",stu1[i].num,stu1[i].name);

for(j=0;j<5;j++)

fprintf(fp1,"%-8d",stu1[i].score[j]);

fprintf(fp1,"\n");

}

for(i=0;i<40;i++)

{printf("%-5d%-10s",stu1[i].num,stu1[i].name);

for(j=0;j<5;j++)

printf("%-5d",stu1[i].score[j]);

}

 

fgets(strr2,200,fp2);

for(i=0;i<5;i++)

{fscanf(fp2,"%d%s%d",&course[i].num,course[i].kcname,&course[i].xf);

}

 

fprintf(fp3,"编号课程名称课程学分\n");

for(i=0;i<5;i++)

{fprintf(fp3,"%-5d%-10s%-5d",course[i].num,course[i].kcname,course[i].xf);

fprintf(fp3,"\n");

}

for(i=0;i<5;i++)

{printf("%-5d%-10s%-5d",course[i].num,course[i].kcname,course[i].xf);

printf("\n");}

 

printf("*********按Enter键继续************\n");

getchar();getchar();

fclose(fp);

fclose(fp1);

fclose(fp2);

fclose(fp3);

}

function1_2()

{inti,j,s;

floatsum;

FILE*fp4;

printf("加入计算平均分及名次的程序内容\n");

sum=0;

s=0;

for(i=0;i<5;i++)

s=s+course[i].xf;

for(i=0;i<40;i++)

{sum=0;

for(j=0;j<5;j++)

sum+=stu1[i].score[j]*course[j].xf;

stu1[i].aver=sum/s;

}

for(j=0;j<39;j++)

for(i=0;i<39-j;i++)

if(stu1[i].aver

{stu1[40]=stu1[i];

stu1[i]=stu1[i+1];

stu1[i+1]=stu1[40];

}

for(i=0;i<40;i++)

stu1[i].mingci=i+1;

for(i=0;i<40;i++)

{

printf("%-5d%-10s",stu1[i].num,stu1[i].name);

for(j=0;j<5;j++)

printf("%-10d",stu1[i].score[j]);

printf("%-6.1f%-5d",stu1[i].aver,stu1[i].mingci);

printf("\n");}

if((fp4=fopen("C:

\\mingci.txt","w"))==NULL)

{printf("cannotopenfille\n");

return;

}

fprintf(fp4,"学号姓名毛邓三近代史听力英语高数平均分名次\n");

for(i=0;i<40;i++)

{fprintf(fp4,"%-5d%-10s",stu1[i].num,stu1[i].name);

for(j=0;j<5;j++)

fprintf(fp4,"%-6d",stu1[i].score[j]);

fprintf(fp4,"%-6.1f%4d",stu1[i].aver,stu1[i].mingci);

fprintf(fp4,"\n");

}

printf("**************按Enter键继续****************\n");

getchar();getchar();fclose(fp4);

}

function1_3()

{FILE*fp5;

inti,j;

printf("加入计算分数段人数程序\n");

if((fp5=fopen("C:

\\dumain.txt","w"))==NULL)

{

printf("cannotopenthisfile\n");

exit(0);}

fprintf(fp5,"范围>9080~9070~8060~70<60\n");

printf("范围>9080~9070~8060~70<60\n");

for(j=0;j<5;j++)

{course[j].a=0;

course[j].b=0;

course[j].c=0;

course[j].d=0;

course[j].e=0;

for(i=0;i<40;i++)

{if(stu1[i].score[j]>=90&&stu1[i].score[j]<=100)course[j].a++;

elseif(stu1[i].score[j]>=80)course[j].b++;

elseif(stu1[i].score[j]>=70)course[j].c++;

elseif(stu1[i].score[j]>=60)course[j].d++;

elseif(stu1[i].score[j]>0)course[j].e++;}

fprintf(fp5,"%-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);

printf("%-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);}

 

printf("**********按Enter键继续***********\n");

getchar();getchar();fclose(fp5);}

function1_4()

{

FILE*fp6;

inti,j;

intsum1;

for(j=0;j<5;j++)

{sum1=0;

for(i=0;i<40;i++)

sum1=sum1+stu1[i].score[j];

course[j].courseaver=sum1/40.0;

}for(j=0;j<5;j++)

printf("%-8s%-6.2f\n",course[j].kcname,course[j].courseaver);

if((fp6=fopen("C:

\\coursepj.txt","w"))==NULL)

{printf("cannotopenfile\n");exit(0);}

 

fprintf(fp6,"课程名平均分\n");

for(j=0;j<5;j++)

fprintf(fp6,"%-8s%-6.2f\n",course[j].kcname,course[j].courseaver);

 

printf("加入输出课程平均分程序内容\n");

printf("**********按Enter键继续***********\n");

getchar();getchar();

fclose(fp6);}

function1_5()

{inti,j;

FILE*fp7;

printf("加入统计不及格情况程序内容\n");

if((fp7=fopen("C:

\\bujige.txt","w"))==NULL)

{

printf("cannotopenthisfile\n");

exit(0);}

fprintf(fp7,"学号姓名课程学分成绩\n");

printf("学号姓名课程学分成绩\n");

for(i=0;i<40;i++)

for(j=0;j<5;j++)

{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]);

printf("%-5d%-14s%-10s%-8d%-5d\n",

stu1[i].num,stu1[i].name,course[j].kcname,

course[j].xf,stu1[i].score[j]);

}

}

printf("**********按Enter键继续***********\n");

getchar();getchar();fclose(fp7);}

function1_6()

{inti,j;

FILE*fp8;

printf("加入输出优秀学生程序内容\n");

if((fp8=fopen("C:

\\youxiu.txt","w"))==NULL)

{printf("cannotopenthisfile\n");

exit(0);}

fprintf(fp8,"学号姓名毛邓三近代史听力英语数学平均成绩名次\n");

printf("学号姓名毛邓三近代史听力英语高数平均成绩名次\n");

for(i=0;i<40;i++)

{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)))

{printf("%-5d%-10s",stu1[i].num,stu1[i].name);

for(j=0;j<5;j++)

printf("%-8d",stu1[i].score[j]);

printf("%5.2f%5d\n",stu1[i].aver,stu1[i].mingci);

fprintf(fp8,"%-5d%-10s",stu1[i].num,stu1[i].name);

for(j=0;j<5;j++)

fprintf(fp8,"%-8d",stu1[i].score[j]);

fprintf(fp8,"%5.2f%5d\n",stu1[i].aver,stu1[i].mingci);

}

}

printf("***********按Enter键继续**********\n");

getchar();getchar();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;

printf("加入作分布图程序内容\n");

for(i=0;i<40;i++)

{if(stu1[i].score[0]>=90)e1++;

elseif(stu1[i].score[0]>=80)e2++;

elseif(stu1[i].score[0]>=70)e3++;

elseif(stu1[i].score[0]>=60)e4++;

elsee5++;

if(stu1[i].score[1]>90)f1++;

elseif(stu1[i].score[1]>80)f2++;

elseif(stu1[i].score[1]>70)f3++;

elseif(stu1[i].score[1]>60)f4++;

elsef5++;

 

if(stu1[i].score[2]>90)c1++;

elseif(stu1[i].score[2]>80)c2++;

elseif(stu1[i].score[2]>70)c3++;

elseif(stu1[i].score[2]>60)c4++;

elsec5++;

if(stu1[i].score[3]>90)b1++;

elseif(stu1[i].score[3]>80)b2++;

elseif(stu1[i].score[3]>70)b3++;

elseif(stu1[i].score[3]>60)b4++;

elseb5++;

 

if(stu1[i].score[4]>90)d1++;

elseif(stu1[i].score[4]>80)d2++;

elseif(stu1[i].s

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2