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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

用C语言设计管理学生的成绩Word格式文档下载.docx

1、清屏FILE *fp; student xs; /*定义一个结构体变量来装从文件中读出来的数据*/fwrite(&xs,sizeof(stu),1,fp); /将成绩信息写入文件fclose(fp);关闭文件feof(fp)若到文件末尾。函数值为“真”(非0)fread()从指定中读取数据项getch();/*让屏幕停留同时按任意键返回*/if语句判断给定的条件是否满足switch多分支选择语句for循环语句四、主要模块的算法描述 五、结束语 通过这次实训,我们分小组做题目,再次全面熟悉、掌握C语言基本知识,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用

2、计算机解决实际问题的能力,规范编程思想,培养逻辑思维能力,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。附录:程序代码:#include stdlib.hconio.hstring.h#define N 20struct student char name10; int num; float c; float math; float english; float aver; float sum;stu;/菜单void menu() /*便于操作员使用*/ /*清屏*/ system(printf( * 学生平时成绩管理 * n printf( * = *

3、 n * 1.成绩录入 * n * 2.查询 * n * 3.修改 * n * 4.插入 * n * 5.显示 * n * 6.统计 * n * 7.删除 * n * 0.退出 * n ); * = * n * 请选择相应的功能: *n/成绩录入void input() FILE *fp; if(fp=fopen(student.dat,ab)=NULL)printf(cant open file!nexit(0);n 成绩录入 n* n 当输入姓名为ps结束录入n while(1) /*中间加油break,可使循环中断*/ printf(n 请输入您的姓名: scanf(%s,xs.name

4、); if(strcmp(xs.name,ps)=0) break;/*判断姓名是否为ps,用字符串判断*/n 请输入学号:%d,&xs.num);n 请输入c语言的成绩:%fxs.c); printf(n 请输入高数的成绩:xs.math);n 请输入英语的成绩:xs.english); xs.aver=0;/*给平均分变量赋初值*/ xs.aver=(xs.c+xs.math+xs.english)/3; xs.sum=0; xs.sum=xs.c+xs.math+xs.english; fwrite(& fclose(fp);void xingming()n 输入要查学生的姓名: sca

5、nf(,name);rb)=NULL) while(!feof(fp) fread(& if(strcmp(xs.name,name)=0)/*按姓名查询时判断输入的姓名是否存在,会循环从数据中找取*/n 学生的信息如下:n %10s %6s %6s %6s %6s %6s %6sn姓名学号C语言高数 英语平均成绩总分n %10 %6d %6.2f %6.2f %6.2f %6.2f %6.2fn,xs.name,xs.num,xs.c,xs.math,xs.english,xs.aver,xs.sum); break; if(feof(fp)n 查找失败! /*学生不存在*/void xue

6、hao()n 输入要查学生的学号:num); if(xs.num=num)/*按学号查询时判断输入的学号是否存在,会循环从数据中找取*/n 学生的信息如下:n %10s %6d %6.2f %6.2f %6.2f %6.2f %6.2fn if(feof(fp) printf(n 查找失败!/查询void search() char ch1; 请输入按何种方式查询:n 1-姓名,2-学号: ch1=getchar();/*用字符接收*/ switch(ch1)/*判断*/ case 1:xingming();break;2xuehao();n 按任意键返回主菜单 getch();/修改:输入学

7、生的姓名,查找该学生,若找到则修改该生的成绩信息,并显示修改前后的结果;void modi()n 输入要修改的学生的姓名:rb+ if(strcmp(xs.name,name)=0)/*判断输入要修改的姓名是否存在*/ 修改前学生的信息如下:n 请输入该生的C语言成绩:n 高数成绩:n 英语成绩: if(! n 修改后的学生的信息如下: fseek(fp,sizeof(stu),1);/*负号表示后退,1表示文件当前位置*/*再写入,同时把要修改的那个覆盖掉*/ elsen 学生不存在,修改失败!n 按任意键返回主菜单 /插入:输入学生的平时的各项成绩,插入到指定位置;当指定的位置超出范围时,

8、将其插入到全班的最后,并显示插入成功后的结果。void insert() int i=0,j,k,lenth; student s,xsN;n 请输入插入的学生的姓名:s.name);n 学生的学号:s.num);n 学生的C成绩:s.c);s.math);s.english); s.aver=(s.c+s.math+s.english)/3; s.sum=s.c+s.math+s.english;n 插入位置:k);/ i=0; canxsi,sizeof(stu),1,fp);/*把数据读入到结构体数组中*/ if(feof(fp) break; i+; lenth=i; if(k=0)/

9、*k的位置要位于数组范围之内*/ /插入 for(j=lenth-1;j=k;j-) xsj+1=xsj;/*一开始j是最大的,往后移一个这样移动避免数据被覆盖*/ /*循环是只循环这一句的*/ xsk=s;/*将输入的学生信息加入这个k位置*/ lenth+;/*长度+1*/ /写回wb 不能建立文件! for(i=0;ilenth;i+) else/*不再数组范围之内*/ 不能建立文件! s,sizeof(stu),1,fp);/显示void print() student s; 学生成绩表 n *n %10s %s %6s %6s %6s %6s %6s n 学号 平均成绩/从文件中读取

10、成绩信息/判断是否文件尾n %10s %6d %6.2f %6.2f %6.2f %6.2f %6.2fn,s.name,s.num,s.c,s.math,s.english,s.aver,s.sum);/统计void tongji() int i=0,j=0,k=0,l=0,m=0,n,p,q,r,t,u; student sN, *p1N,*p2N,*p3N,*p4N;/*用指针数组*/)=NULL) printf(cantsi+,sizeof(stu),1,fp);/*读入数据*/ t=i;i=0; for(u=0;ut;u+)/*以下每个指针数组用于指向各分数段的学生信息*/ if(s

11、i.aver=60&si.aver80) p2k+=&=80&90) p3l+=&=90) p4m+=& 学生成绩单 * n 不及格的人有: 姓名 学号 平均分n for(n=0;nname,p1n-num,p1n-aver);n 60-79分的人有: 姓名 学号 平均分n for(p=0;pname,p2p-num,p2p-n 80-89分的人有: for(q=0;qname,p3q-num,p3q-n 90以上的人有: for(r=0;rname,p4r-num,p4r-/删除:输入学生姓名,若该学生存在,则删除,并显示删除后余下的学生成绩信息void dele() student xsN

12、; int i=0,len,k=-1/*k=0)/*k0说明找到删除学生位置*/wb+ canlen; if(i=k) continue;/*从这个位置开始写入*/ else printf(n 删除失败! /*失败后重新返回菜单*/n 按任意键返回主菜单 print();/菜单选择void main() char ch; while(1) menu();/ 显示菜单 ch=getch();/选择菜单 if(ch=0) break; switch(ch)/判断功能项input();search();3modi();4insert();5print( );6tongji();7dele();n 谢谢使用!

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

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