




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
答辩记录运行情况原始数据成绩排名平均分和分数段统计不及格统计优秀生统计优秀学生干部统计破译密码组成大字符回答问题12345 计算机上机实习实 习 报 告班 级 材料1001 学 号 201000814 姓 名 指导教师 完成日期 一、 分析设计与说明分别建立两个数据文件文件1(bjcj.txt)用于存放学生成绩;文件2(kcxf.txt)用于存放课程学分;文件3 (xsxx、txt)用于存放学生信息。程序设计思想(1)学生成绩管理系统1读入原始数据并显示(将其读入另外的“grcj.txt”中);2编写函数用于计算平均分及名次(将其读入另外的”bjnpm.txt”中);每个学生各科分数乘以相应的学分并相加除以学分总和;先令每个学生的名次都是1,在把一个学生的加权平均分与其他的所有学生的进行比较,遇到一个比该学生平均分高的,该学生的名次加1。循环依次得出全班人的名次;并将这种结果输出到文本文件bjnpm.txt3编写函数计算分数段人数(将其读入另外的”gkpjf.txt”中);先令每一个分数段(=90;=80;=70;=60;60)的人数都是0,然后利用循环结构,遇到一个在某个分数段的成绩,那个分数段的计数变量加1,最后可得每门科目每个分数段人数;并将这种结果输出到文本文件gkpjf.txt4利用循环结构,将所有人的同一科成绩相加,再除以总人数,课程平均.txt中;编写函数统计不及格情况(将其读入另外的”bjgxs.txt”中) ;5利用循环,将每个人的各科成绩和60相比较,若小于60,则输出名单 (学号、姓名、不及格课程名称、课程学分及成绩)结果存放在文本文件:bujige.txt6 编写函数输出优秀学生(将其读入另外的”优秀干部.txt”中);1平均分90,2.名次在本班前三名,3.平均分85,并且至少有一门课的成绩为100分,4平均分85,并且至少有二门课的成绩为90分。将上述条件作为逻辑或的判别式,找到符合条件的所有学生,输出并同时存放到优秀干部.txt中;程序实现功能1)学生成绩管理系统1.班级成绩单查看见文件(bjcj.txt);2.课程学分详情见(kcxf.txt);3.班级成绩排名表单(bjnpm.txt);4.成绩分数分布段见(gkpjf.txt)5.课程平均分见(bjxx.txt)6.不及格学生的名单(bjgxs.txt);7.优秀生的名单(优秀干部.txt);8.退出。(3).程序框一 主菜单功能模块图主函数学生成绩管理 破译密码组成大写字符二 一级菜单结构图学生成绩管理系统6. 输出优秀学生8. 作分布图9. 返回上级菜单5. 统计不及格情况7. 输出优秀学生干部2. 计算平均分及名次1.读入原始数据并显示程序内容 3. 计算分数段人数4. 输出课程平均分作分布图返回上一级菜单大物C语言制图英语数学四.源程序清单 #include#include#include#include#define M 30struct studentlong num;char name20;float score5;float aver;int row;int p1;int p2;stuM;struct chengjiint num;char name20;float fen;course5;struct informalong num;char name20;char sex3; int age; char poisition20;inforM;struct fenduanint p;int q;int r;int s;int l;count5; void main() int section1(); int section2(); int section3(); /*主菜单*/ char ch1; system(graftabl 936); do clrscr(); /*清屏*/ printf(nnnnnnnnn); printf( * C语言程序设计上机实习 *n); printf( -nn); printf( 1 学生成绩管理nn); printf( 2 破译密码nn); printf( 3 组成大字符nn); printf( 4 退 出nn); 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); int section1() /*第1个2级菜单*/ char ch21; void function1_1(); void function1_2(); void function1_3(); void function1_4(); void function1_5(); void function1_6(); void function1_7(); do clrscr(); printf(nnnnnnnnnn); printf( *学 生 成 绩 管 理 系 统*n); printf( -nn); printf( 1. 读入原始数据并显示 2. 计算平均分及名次nn); printf( 3. 输出课程平均分和各分数段人数 4 输出男生和女生课程平均成绩nn); printf( 5. 统计不及格情况 6. 输出优秀学生nn); printf( 7. 输出优秀学生干部 8. 返回上级菜单nn); 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); int section2() /*第2个2级菜单*/ char ch22; void function2_1(); do clrscr();printf(nnnnnnnnnn); printf( *破译密码*n); printf( -n); printf( 1. 运行nn); printf( 2. 返回上级菜单nn); printf( 输入选择序号n); while(ch22=getchar(), ch22!=1&ch22!=2); switch(ch22) case 1 : function2_1(); break; case 2 : return(0); while(1); int section3() /*第3个2级菜单*/ char ch23; void function3_1(); do clrscr();printf(nnnnnnnnnn); printf( *组成大字符*n); printf( -n); printf( 1. 运行nn); printf( 2. 返回上级菜单nn); printf( 输入选择序号n); while(ch23=getchar(),ch23!=1&ch23!=2); switch(ch23) case 1 : function3_1(); break; case 2 : return(0); while(1); void function1_1()int i,j; FILE*fp,*fp1;char str100; if(fp=fopen(bjcj.txt,r)=NULL) printf(connot open this filen); exit(0);if(fp1=fopen(grcj.txt,w)=NULL)printf(connot open this filen);exit(0);fgets(str,100,fp);for(i=0;iM;i+) fscanf(fp,%ld%s,&stui.num,); for(j=0;j5;j+) fscanf(fp,%f,&stui.scorej);printf(序号 姓名 英语 数学 大学物理 机械制图 C程序设计);fprintf(fp1,序号 姓名 英语 数学 大学物理 机械制图 C程序设计);printf(n);fprintf(fp1,n);for(i=0;iM;i+) if(i%10=0) getch();printf(%-11ld%s,stui.num,);fprintf(fp1,%-11ld%s,stui.num,);if(strlen()=4)printf( );fprintf(fp1, );if(strlen()=6)printf( );fprintf(fp1, );for(j=0;j5;j+)printf(%-10.1f,stui.scorej);fprintf(fp1,%-10.1f,stui.scorej);printf(n);fprintf(fp1,n);fclose(fp);fclose(fp1);printf( *按Enter键继续*n);getchar();getchar();void function1_2() printf(加入计算平均分及名次的程序内容n); int i,j; float sum,sum1; FILE*fp,*fp1,*fp2,*fp3; char str130; char str1150; char str2100; if(fp=fopen(bjcj.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp1=fopen(kcxf.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp2=fopen(bjnpm.txt,w)=NULL) printf(can not open this filen); exit(0); if(fp3=fopen(xsxx.txt,r)=NULL) printf(can not open this filen); exit(0); fgets(str,130,fp); for(i=0;iM;i+) fscanf(fp,%ld%s,&stui.num,); for(j=0;j5;j+) fscanf(fp,%f,&stui.scorej); fgets(str1,150,fp1); for(j=0;j5;j+) fscanf(fp1,%ld%s%f,&coursej.num,,&coursej.fen); fgets(str2,100,fp3); for(i=0;iM;i+) fscanf(fp3,%ld%s%-5s%d%-5s,&infori.num ,,infori.sex,&infori.age,infori.poisition); sum1=0; for(j=0;j5;j+) sum1+=coursej.fen; for(i=0;iM;i+) sum=0; for(j=0;j5;j+) sum+=coursej.fen*stui.scorej; stui.aver=sum/sum1; for(i=0;iM;i+) stui.row=1; for(j=0;jM;j+) if(stui.averstuj.aver) stui.row+; printf(序号 姓名 性别 职务 英语 数学 大学物理 机械制图 C程序设计 平均分 名次n); fprintf(fp2,序号 姓名 性别 职务 英语 数学 大学物理 机械制图 C程序设计 平均分 名次n); for(i=0;iM;i+) printf(%-10ld%s,stui.num,); fprintf(fp2,%-10ld%s,stui.num,); if(strlen()=4) printf( ); fprintf(fp2, ); if(strlen()=6) printf( ); fprintf(fp2, ); printf(%s %s,infori.sex,infori.poisition); fprintf(fp2,%s %s,infori.sex,infori.poisition); if(strlen(infori.poisition)=2) printf( ); fprintf(fp2, ); if(strlen(infori.poisition)=4) printf( ); fprintf(fp2, ); if(strlen(infori.poisition)=6) printf( ); fprintf(fp2, ); if(strlen(infori.poisition)=8) printf(); fprintf(fp2, ); for(j=0;j5;j+) printf(%-8.1f,stui.scorej); fprintf(fp2,%-11.1f,stui.scorej); printf( ); fprintf(fp2, ); printf(%-6.1f%d,stui.aver,stui.row); fprintf(fp2,%-10.1f%d,stui.aver,stui.row); printf(n); fprintf(fp2,n); fclose(fp); fclose(fp1); fclose(fp2); fclose(fp3); printf( *按Enter键继续*n); getchar(); getchar(); void function1_3() printf(加入计算课程平均分和分数段人数程序内容n); int i,j; float sum; char str100; float a5; FILE*fp,*fp2; if(fp=fopen(bjcj.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp2=fopen(gkpjf.txt,w)=NULL) printf(can not open this filen); exit(0); fgets(str,100,fp); for(i=0;iM;i+) fscanf(fp,%ld%s,&stui.num,); for(j=0;j5;j+) fscanf(fp,%f,&stui.scorej); for(j=0;j5;j+) countj.p=0; countj.q=0; countj.r=0; countj.s=0; countj.l=0; for(j=0;j5;j+) for(i=0;i=90) countj.p+; else if(stui.scorej=80) countj.q+; else if(stui.scorej=70) countj.r+; else if(stui.scorej=60) countj.s+; else countj.l+; for(j=0;j5;j+) sum=0; for(i=0;i=90 ( 优 秀) %d%10d%10d%12d%10dn,count0.p,count1.p,count2.p,count3.p,count4.p); fprintf(fp2,=90(优秀) %d%10d%10d%12d%10dn,count0.p,count1.p,count2.p,count3.p,count4.p); printf(80-89(良好) %d%10d%10d%12d%10dnn,count0.q,count1.q,count2.q,count3.q,count4.q); fprintf(fp2,80-89(良好) %d%10d%10d%12d%10dn,count0.q,count1.q,count2.q,count3.q,count4.q); printf(70-79(中等) %d%10d%10d%12d%10dn,count0.r,count1.r,count2.r,count3.r,count4.r); fprintf(fp2,70-79(中等) %d%10d%10d%12d%10dn,count0.r,count1.r,count2.r,count3.r,count4.r); printf(60-69(及格) %d%10d%10d%12d%10dn,count0.s,count1.s,count2.s,count3.s,count4.s); fprintf(fp2,60-69(及格) %d%10d%10d%12d%10dn,count0.s,count1.s,count2.s,count3.s,count4.s); printf(60(不及格) %d%10d%10d%12d%10dn,count0.l,count1.l,count2.l,count3.l,count4.l); fprintf(fp2,60(不及格) %d%10d%10d%12d%10dn,count0.l,count1.l,count2.l,count3.l,count4.l); printf(平均分 %3.1f%10.1f%10.1f%12.1f%10.1fn,a0,a1,a2,a3,a4); fprintf(fp2,平均分 %3.1f%10.1f%10.1f%12.1f%10.1fn,a0,a1,a2,a3,a4); fclose(fp); fclose(fp2); getchar(); getchar(); void function1_4() printf(加入计算男生和女生课程平均成绩程序内容n ); int i,j,n1,n2; char str100; char str1100; float aver25,sum1,sum2; FILE*fp,*fp1,*fp2; if(fp=fopen(bjcj.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp1=fopen(xsxx.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp2=fopen(bjxx.txt,w)=NULL) printf(can not open this filen); exit(0); fgets(str,100,fp); for(i=0;iM;i+) fscanf(fp,%ld%s,&stui.num,); for(j=0;j5;j+) fscanf(fp,%f,&stui.scorej); fgets(str1,100,fp1); for(i=0;iM;i+) fscanf(fp1,%ld%s%s%d%s,&infori.num ,,infori.sex,&infori.age,infori.poisition); for(i=0;iM;i+) for(j=0;j5;j+) sum1=0; sum2=0; n1=0; n2=0; for(i=0;iM;i+) if(strcmp(infori.sex,女)=0) n1+; sum1+=stui.scorej; aver0j=sum1/n1; if(strcmp(infori.sex,男)=0) n2+; sum2+=stui.scorej; aver1j=sum2/n2; printf(平均分 英语 数 学 大学物理 机械制图 C程序设计n); fprintf(fp2,平均分 英语 数 学 大学物理 机械制图 C程序设计n); printf( 女生 %3.1f %3.1f %3.1f %3.1f %3.1fn,aver00,aver01,aver02,aver03,aver04); fprintf(fp2, 女生 %3.1f %3.1f %3.1f %3.1f %3.1fn,aver00,aver01,aver02,aver03,aver04); printf( 男生 %3.1f %3.1f %3.1f %3.1f %3.1fn,aver10,aver11,aver12,aver13,aver14); fprintf(fp2, 男生 %3.1f %3.1f %3.1f %3.1f %3.1fn,aver10,aver11,aver12,aver13,aver14); fclose(fp); fclose(fp1); fclose(fp2); printf( *按Enter键继续*n); getchar(); getchar(); void function1_5() printf(加入统计不及格情况程序内容n); int i,j; char str100; char str1100; char str2100; FILE *fp,*fp1,*fp2,*fp3; if(fp=fopen(bjcj.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp1=fopen(xsxx.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp2=fopen(kcxf.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp3=fopen(bjgxs.txt,w)=NULL) printf(can not open this filen); exit(0); fgets(str,100,fp); for(i=0;iM;i+) fscanf(fp,%ld%s,&stui.num,); for(j=0;j5;j+) fscanf(fp,%f,&stui.scorej); fgets(str2,100,fp2); for(j=0;j5;j+) fscanf(fp2,%d%s%f,&coursej.num,,&coursej.fen); fgets(str1,100,fp1); for(i=0;iM;i+) fscanf(fp1,%ld%s%s%d%s,&infori.num ,,infori.sex,&infori.age,infori.poisition); printf(序号 姓名 性别 不及格课程 成 绩 课程学分n); fprintf(fp3,序号 姓名 性别 不及格课程 成 绩 课程学分n); for(i=0;iM;i+) for(j=0;j5;j+) if(stui.scorej60) printf(%-12ld%s,stui.num,); fprintf(fp3,%-12ld%s,stui.num,); if(strlen()=4) printf( ); fprintf(fp3, ); if(strlen()=6) printf( ); fprintf(fp3, ); printf(%s %s,infori.sex,); fprintf(fp3,%s %s,infori.sex,); if(strlen()=4) printf( ); fprintf(fp3, ); if(strlen()=8) printf( ); fprintf(fp3, ); if(strlen()=9) printf( ); fprintf(fp3, ); printf(%-8.1f%2.1fn,stui.scorej,coursej.fen); fprintf(fp3,%-8.1f%2.1fn,stui.scorej,coursej.fen); fclose(fp); fclose(fp1); fclose(fp2); fclose(fp3); printf( *按Enter键继续*n); getchar(); getchar(); void function1_6() printf(加入输出优秀学生程序内容n);int i,j; float sum,sum1; FILE*fp,*fp1,*fp3,*fp2; char str130; char str1150; char str2100; if(fp=fopen(bjcj.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp1=fopen(kcxf.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp3=fopen(xsxx.txt,r)=NULL) printf(can not open this filen); exit(0); if(fp2=fopen(yxxs.txt,w)=NULL) printf(can not open this filen); exit(0); fgets(str,130,fp); for(i=0;iM;i+) fscanf(fp,%ld%s,&stui.num,); for(j=0;j5;j+) fscanf(fp,%f,&stui.scorej); fgets(str1,150,fp1); for(j=0;j5;j+) fscanf(fp1,%d%s%f,&coursej.num,,&coursej.fen); fgets(str2,100,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮商业综合体物业托管合同
- 餐厅店面租赁及特色食材供应协议
- 生态餐厅厨房承包及绿色环保餐饮服务合同
- 智能化常年法律顾问报价单制作与实施
- 智能贷款匹配车辆居间服务合同
- 企业培训中心场地无偿借用协议
- 溶血性贫血的护理措施
- 通信设备采购合同性能测试与维护跟踪服务
- 车辆安全教育培训与考核合同范本
- 矿产资源开采采矿权出让与税收优惠政策协议
- 2025年湖北省中考数学试卷
- 2025年湖北省中考英语试卷真题(含答案)
- 2025年陕西省中考数学真题含答案
- 能源站运营管理制度
- 2025年高考真题-化学(广东卷) 含答案
- 2025至2030中国成人用品行业产业运行态势及投资规划深度研究报告
- 竹制品企业可行性报告
- 公安院校公安学科专业招生政治考察表
- 2024年内蒙古锡林郭勒职业学院招聘真题
- 生物-七年级下册期末复习知识点汇Z(冀少版2024)速记版 2024-2025学年七年级生物下学期
- 2025届浙江省精诚联盟高三下学期适应性联考生物试题
评论
0/150
提交评论