1、主函数起调配其他函数的功能。程序框架 # include stdio.h# includeconio.h #includemath.h#include stdlib.hdos.hgraphics.h#define PI 3.14159#define H PI/180#define N 4struct stuint num,mingci; char name20; int score5; float aver;stu140;struct xuefen int num; char kcname20; int xf,a,b,c,d,e; float courseaver ;course5; stru
2、ct chengji float kcave; float bzcha; int exc; int good; int mid; int pass; int nopass;chengji5;main () /*主菜单*/ char ch1;do clrscr();printf(nnnnnnnnn); *c语言程序设计上机实习*n -nn 1 学生成绩管理 nn) ; 2 解线性方程组 nn 3 动画nn 4 退 出nn 输出选择序号nwhile (ch1=getchar(),ch1!=1&ch1!234);switch(ch1) case: section1(); break; case se
3、ction2(); section3(); exit(0); while(1); section1() /*第1个2级菜单*/ char ch21; do clrscr();nnnnnnnnnn printf( *学生成绩管理系统*n 1. 输入原始数据并显示 2. 计算平均分及名次 nn 3. 计算分数段人数 4. 输出课程平均分 nn 5. 统计不及格情况 6. 输出优秀学生 nn 7. 作分布图 8. 返回上级菜单 nn 输入选择序号nwhile (ch21=getchar(),ch21!ch21!5678switch(ch21) function1_1(); function1_2()
4、; function1_3(); function1_4(); function1_5(); function1_6(); function1_7(); return(0); section2() /*第2个2级菜单*/ char ch22; *解线性方程组*n 1.解方程组nn 2.返回上级菜单nn while (ch22=getchar(),ch22!ch22!switch(ch22) function2_1(); section3() /*第3个2级菜单*/ char ch23; *作动画*n 1.作 动 画nn while (ch23=getchar(),ch23!ch23! swit
5、ch(ch23) function3_1(); function1_1() FILE *fp,*fp1,*fp2,*fp3; char strr1200, strr2200; int i,j;加入读入原始数据并显示的程序内容n if(fp=fopen(C:chengji.txt,r)=NULL) printf(cannot open the filen if(fp1=fopen(chengji1.txtw if(fp2=fopen(xuefen.txt if(fp3=fopen(xuefen1.txt /*fgets(strr,50,fp);*/ fgets(strr1,200,fp); fo
6、r(i=0;i40;i+) fscanf(fp,%d%s,&stu1i.num,stu1i.name); for(j=0;j5;j+) fscanf(fp,%dstu1i.scorej); /*fputs(strr,50,fp1;fprintf(fp1,学号 姓名 毛邓三 近代史 听力 英语 高数n fprintf(fp1,%-5d%-10s,stu1i.num,stu1i.name); fprintf(fp1,%-8d,stu1i.scorej);n printf(%-5d fgets(strr2,200,fp2); fscanf(fp2,%d%s%dcoursei.num,coursei.
7、kcname,&coursei.xf);fprintf(fp3,编号 课程名称 课程学分n fprintf(fp3,%-5d%-10s%-5d,coursei.num,coursei.kcname,coursei.xf); fprintf(fp3,*按Enter键继续*n getchar();getchar(); fclose(fp); fclose(fp1); fclose(fp2); fclose(fp3); function1_2() int i,j,s; float sum; FILE *fp4;加入计算平均分及名次的程序内容n sum=0; s=0; s=s+coursei.xf;
8、sum=0; sum+=stu1i.scorej*coursej.xf; stu1i.aver=sum/s;39;39-j; if(stu1i.aver90 8090 7080 6070 =90&stu1i.scorej=80) coursej.b+;=70) coursej.c+;=60) coursej.d+;0) coursej.e+;%-8s%-8d%-8d%-8d%-8d%-8dn,coursej.kcname,coursej.a,coursej.b,coursej.c,coursej.d,coursej.e);*按Enter键继续*nfclose(fp5); function1_4
9、() FILE *fp6; int sum1; for (j=0; sum1=0; sum1=sum1+stu1i.scorej; coursej.courseaver=sum1/40.0; for(j=0;%-8s%-6.2fn,coursej.kcname,coursej.courseaver); if(fp6=fopen(coursepj.txtcannot open filenexit(0); fprintf(fp6,课程名 平均分nfprintf(fp6,加入输出课程平均分程序内容n fclose(fp6); function1_5() int i,j; FILE *fp7;加入统计
10、不及格情况程序内容n if(fp7=fopen(bujige.txt fprintf( fp7,学号 姓名 课程 学分 成绩 n学号 姓名 课程 学分 成绩n if(stu1i.scorej=90|stu1i.mingci=85&(stu1i.score0=99|stu1i.score1=99|stu1i.score2=99|stu1i.score3=99|stu1i.score4=99|stu1i.score5=99)%-5d %-10s %5.2f %5dn,stu1i.aver,stu1i.mingci);%5.2f%5dn*按Enter键继续*nfclose(fp8); functio
11、n1_7() int e1=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;int gdriver=DETECT,gmode=0; float r=50.0,x,y,q;char ch1,str180; i
12、nt i=0,m;float n;加入作分布图程序内容nif(stu1i.score0=90) e1+; else if(stu1i.score0=80) e2+;=70) e3+;=60) e4+; else e5+; if(stu1i.score190) f1+; else if(stu1i.score180) f2+;70) f3+;60) f4+; else f5+; if(stu1i.score290) c1+; else if(stu1i.score280) c2+;70) c3+;60) c4+; else c5+; if(stu1i.score390) b1+; else if(stu1i.score380) b2+;70) b3+;60) b4+; else b5+; if(stu1i.score490) d1+; else if(stu1i.score480) d2+; else if(stu1i.s
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2