ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:369.45KB ,
资源ID:12487548      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12487548.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(长江大学C语言上机实习.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

长江大学C语言上机实习.docx

1、长江大学C语言上机实习班 级 装备11001 学 号 201002486 姓 名 胡强 指导教师 周志宏 完成日期 2011-12-29 一、 分析设计与说明分别建立三个数据文件文件1(成绩.txt)用于存放学生成绩;文件2(课程学分.txt)用于存放课程及其学分;文件3(学生信息.txt)用于存放学生信息程序设计思想(1)学生成绩管理系统1读入原始数据并显示(将其读入另外的“成绩表.txt”中);2编写函数用于计算平均分及名次(将其读入另外的”平均成绩和名次.txt”中); 每个学生各科分数乘以相应的学分并相加除以学分总和;先令每个学生的名次都 是1,在把一个学生的加权平均分与其他的所有学生

2、的进行比较,遇到一个比 该学生平均分高的,该学生的名次加1。循环依次得出全班人的名次;并将这种 结果输出到文本文件mingci.txt3编写函数计算分数段人数(将其读入另外的成绩分数段.txt”中); 先令每一个分数段(=90;=80;=70;=60;60)的人数都是0,然后利用循环结 构,遇到一个在某个分数段的成绩,那个分数段的计数变量加1,最后可得每门 科目每个分数段人数;并将这种结果输出到文本文件“成绩分数段.txt 利用循环结构,将所有人的同一科成绩相加,再除以总人数,课程平均.txt中;编写函数统计不及格情况(将其读入另外的”不及格信息表.txt”中) ; 利用循环,将每个人的各科成

3、绩和60相比较,若小于60,则输出名单 (学号、 姓名、不及格课程名称、课程学分及成绩)结果存放在文本文件:“不及格.txt6编写函数输出优秀学生(将其读入另外的“优秀学生名单.txt”中);1平均分90,2.名次在本班前三名,3.平均分85,并且至少有一门课的成绩为100分,4平均分85,并且至少有二门课的成绩为90分。将上述条件作为逻辑或的判别式,找到符合条件的所有学生,输出并同时存放到“优秀学生名单.txt中;程序实现功能1)学生成绩管理系统1.班级成绩单查看见文件(成绩.txt);2.课程学分详情见(课程学分.txt);3.班级成绩排名表单(平均成绩和名次.txt);4.成绩分数分布段

4、见(成绩分数段.txt)5.男女生的课程平均分见(男女生课平均成绩.txt)6.不及格学生的名单(不及格信息表.txt);7.优秀生的名单(优秀学生名单.txt);8.退出一一级菜单结构图 四.源程序# includestdio.h# includeconio.h#includestdlib.h#includestring.hstruct studentint num; char name20; char sex3; char zw20; int a5; float xf5; float ave; int age; int mc; char course20; stud33,k;void fu

5、nction1_1() FILE *fp,*hp,*wp,*yp; int i; char str60; if(fp=fopen(C:成绩.txt,r)=NULL) printf(cannot open filen); exit(0); fgets(str,40,fp); fclose(fp); if(hp=fopen(C:成绩表.txt,w)=NULL) printf(cannot open filen); exit(0); fputs(str,hp); fclose(hp); if(hp=fopen(C:成绩表.txt,a)=NULL) printf(cannot open filen);

6、 exit(0); puts(str); for(i=0;i33;i+) fprintf(hp,n%-3d%9s%7d%8d%9d%7d%8d,studi.num,studi.name,studi.a0, studi.a1,studi.a2,studi.a3,studi.a4); printf(%-3d%9s%7d%8d%9d%7d%8dn,studi.num,studi.name,studi.a0, studi.a1,studi.a2,studi.a3,studi.a4); fclose(hp); printf(-nnn); if(hp=fopen(c:课程学分.txt,r)=NULL) p

7、rintf(cannot open hp!n); exit(0); fgets(str,150,hp); puts(str); for(i=0;i5;i+) fscanf(hp,%d%s%f,&studi.num,studi.course,&studi.xfi); printf(%-4d%8s%10.1fn,studi.num,studi.course,studi.xfi); fclose(hp); printf(-nnn); if(wp=fopen(C:学生信息.txt,r)=NULL) printf(cannot open filen); exit(0); if(yp=fopen(C:学生

8、信息.txt,r)=NULL) printf(cannot open filen); exit(0); printf(学号 姓名 性别 年龄 职务n); fgets(str,100,wp); printf(%s,str); for(i=0;i33;i+) fscanf(wp,%d%s%s%d%s n,&studi.num,studi.name,&studi.sex,&studi.age,studi.zw); fprintf(yp,%d%s%s%d%s n,studi.num,studi.name,studi.sex,studi.age,studi.zw); printf(%-7d% -9s%

9、-8s%-8d%-8sn,studi.num,studi.name,studi.sex,studi.age,studi.zw); fclose(wp); fclose(yp); printf(-nnn); printf(n); printf( *按Enter键继续*n); getchar();getchar(); void function1_2() FILE *hp,*ip; char str=学号 姓名 性别 职务 平均分 名次; int i,j; if(hp=fopen(C:平均成绩和名次.txt,w)=NULL) printf(cannot open filen); exit(0);

10、fputs(str,hp); fclose(hp); if(hp=fopen(C:平均成绩和名次.txt,a)=NULL) printf(cannot open filen); exit(0); puts(str); for(i=0;i=90(优秀),8090(良好),7080(中等),6070(较差), 60( 差 ),课程平均分;float kc5; /定义5门课程的平均成绩int i,j,rs55=0; /定义5门课程5段分数段人数 if(hp=fopen(C:成绩分数段.txt,w)=NULL) printf(cannot open filen); exit(0); fputs(sub

11、,hp); fclose(hp); puts(sub); if(hp=fopen(C:成绩分数段.txt,a)=NULL) printf(cannot open filen); exit(0); for(i=0;i5;i+) int sum=0; /定义每门课总成绩,循环前初始化 for(j=0;j33;j+) sum+=studj.ai; kci=sum/33.0; for(i=0;i5;i+) /统计每门课程分数段人数 for(j=0;j=90) rsi0+; else if(studj.ai=80) rsi1+; else if(studj.ai=70) rsi2+; else if(s

12、tudj.ai=60) rsi3+; else rsi4+; for(i=0;i5;i+) fprintf(hp,n%-9s%7d%10d%10d%10d%8d,fwi,rsi0,rs1i,rs2i,rs3i,rs4i); printf(%-9s%7d%10d%10d%10d%8dn,fwi,rs0i,rs1i,rs2i,rs3i,rs4i); fprintf(hp,n%-15s%4.1f%10.1f%10.1f%10.1f%8.1f,fw5,kc0,kc1,kc2,kc3,kc4); printf(%-15s%4.1f%10.1f%10.1f%10.1f%8.1fn,fw5,kc0,kc1,

13、kc2,kc3,kc4); fclose(hp); printf(n); printf( *按Enter键继续*n); getchar();getchar();void function1_4() FILE *hp,*ip; int i,j; char z=性别 形政 高数 计算机 听力 英语; if(ip=fopen(C:学生信息.txt,r)=NULL) printf(cannot open filen); exit(0); fscanf(ip,%*n%*c); for(i=0;i33;i+) fscanf(ip,%d%s%s%d%s,&studi.num,&studi.name,&stu

14、di.sex,&studi.age,&studi.zw); fclose(ip); if(hp=fopen(C:男女生各科平均成绩.txt,w)=NULL) printf(cannot open filen); exit(0); fputs(z,hp); fclose(hp); if(hp=fopen(C:男女生各科平均成绩.txt,a)=NULL) printf(cannot open filen); exit(0); puts(z); char xb24; float b25=0.0; strcpy(xb0,stud0.sex); for(i=0;i5;i+) int m=0,n=0; f

15、or(j=0;j33;j+) if(strcmp(xb0,studj.sex)=0) b0i+=studj.ai;m+; elseb1i+=studj.ai;strcpy(xb1,studj.sex);n+; b0i/=m*1.0; b1i/=n*1.0; for(i=0;i2;i+) fprintf(hp,n%-4s%8.1f%8.1f%9.1f%7.1f%8.1f,xbi,bi0,bi1,bi2,bi3,bi4); printf(%-4s%8.1f%8.1f%9.1f%7.1f%8.1fn,xbi,bi0,bi1,bi2,bi3,bi4); fclose(hp); printf(n); p

16、rintf( *按Enter键继续*n); getchar();getchar();void function1_5() FILE *hp,*ip;char str=学号 姓名 性别 不及格课程 课程学分 成绩;char xk520=形政,高数,计算机,听力,英语;int i,j;if(hp=fopen(C:不及格信息表.txt,w)=NULL) printf(cannot open filen); exit(0); fputs(str,hp); puts(str); for(i=0;i33;i+) for(j=0;j5;j+) if(studi.aj60) fprintf(hp,n%-3d%

17、9s%7s%12s%14.1f%14d,studi.num,studi.name,studi.sex,xkj,studi.xfj,studi.aj); printf(%-3d%9s%7s%12s%14.1f%14dn,studi.num,studi.name,studi.sex,xkj,studi.xfj,studi.aj); fclose(hp); printf(n); printf( *按Enter键继续*n); getchar();getchar();void function1_6() FILE *ap;int i,j,m; char aa=学号 姓名 性别 形政 高数 计算机 听力

18、英语 平均分 名次; if(ap=fopen(C:优秀学生名单.txt,w)=NULL) printf(cannot open filen); exit(0); fputs(aa,ap); fclose(ap); if(ap=fopen(C:优秀学生名单.txt,a)=NULL) printf(cannot open filen); exit(0); puts(aa); for(i=0;i=90|studi.mc=85&(studi.a0=95|studi.a1=95|studi.a2=95|studi.a3=95|studi.a4=95) fprintf(ap,n%-3d%9s%7s%8d%

19、8d%9d%7d%8d%10.1f%6d,studi.num,studi.name,studi.sex,studi.a0, studi.a1,studi.a2,studi.a3,studi.a4,studi.ave,studi.mc); printf(%-3d%9s%7s%8d%8d%9d%7d%8d%10.1f%6dn,studi.num,studi.name,studi.sex,studi.a0, studi.a1,studi.a2,studi.a3,studi.a4,studi.ave,studi.mc); else if(studi.ave=85) m=0; for(j=0;j=90)

20、 m+; if(m=2) fprintf(ap,n%-3d%9s%7s%8d%8d%9d%7d%8d%10.1f%6d,studi.num,studi.name,studi.sex,studi.a0, studi.a1,studi.a2,studi.a3,studi.a4,studi.ave,studi.mc); printf(%-3d%9s%7s%8d%8d%9d%7d%8d%10.1f%6dn,studi.num,studi.name,studi.sex,studi.a0, studi.a1,studi.a2,studi.a3,studi.a4,studi.ave,studi.mc); f

21、close(ap); printf(n); printf( *按Enter键继续*n); getchar();getchar();void function1_7() FILE *ap;int i,j,m; char aa=学号 姓名 性别 职务 形政 高数 计算机 听力 英语 平均分 名次; char zw=无; if(ap=fopen(C:优秀学生干部名单.txt,w)=NULL) printf(cannot open filen); exit(0); fputs(aa,ap); fclose(ap); if(ap=fopen(C:优秀学生干部名单.txt,a)=NULL) printf(cannot open filen); exit(0); puts(aa); for(i=0;i=85|studi.mc=80&(studi.a0=95|studi.a1=95|studi.a2=95|studi.a3=95|studi.a4=95) fprintf(ap,n%-3d%9s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1