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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计.docx

1、C语言程序设计C语言程序设计专 业: _电气工程与自动化 学 号: _ 姓 名: _ 课题名称: 学生成绩管理体系 重庆邮电大学 2012年6月4日C语言课程设计1、设计题目学生成绩管理设计2、 课程设计目的 了解软件工程中的一些系统分析、模板分析、代码设计的概念,利用C+实现学生成绩管理系统的录入、查询、删除、统计等基本操作,使用单链表结构实现学生成绩管理,了解数据库管理的基本功能,掌握C语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等功能。3、 系统功能1录入每个学生的学号和各科考试成绩;2计算每门课程的总分和平均分;3计算每个学生的总分和平均分;4按每个学生的总分由高到低排

2、出名次表;5按每个学生的总分由低到高排出名次表;6按学号由小到大排出成绩表;7按学号查询学生排名及各科考试成绩;0. 退出系统。4、程序设计及个模板功能简述1、主体结构 #include-在程序中用到系统提供的标准函数库中的输入输出函数 #include-包含了的C语言标准库函数的定义 #include -process.h中提取需要的函数或其它库文件 #include -Windows程序的开头 2、主界面显示通过主函数显示程序的主界面,通过输入的数字不同,函数会进入不同功能的函数继续运行。5、源代码#include#include#include #include void main()

3、int x; void g1();void g2();void g3();void g4();void g5();void g6();void g7();void g0(); void menu(); while(1) system(cls); menu(); scanf(%d,&x); Sleep(300); system(cls); switch(x) case 1:g1();break;case 2:g2();break; case 3:g3();break;case 4:g4();break;case 5:g5();break;case 6:g6();break;case 7:g7()

4、;break;case 0:printf(nn 制作者:* nn 感谢使用!nnn);exit(0);printf(制作者:* n感谢使用!);break; default:printf(输入错误); printf(_n); system( PAUSE ); void menu() printf(*【成绩管理菜单】*n); printf(-n); printf( 1:成绩录入 n); printf( 2: 课程的总分和平均分 n); printf( 3学生的总分和平均 n ); printf( 4:按每个学生的总分由高到低排出名次表 n); printf( 5:按每个学生的总分由 n); pr

5、intf( 6:按学号由小到大排出成绩表n低到高排出名次表n); printf( 7:按学号查询学生排名及各 ); printf(n-n); printf( 0:退出系统); printf(n-n); printf(请输入选择:n); void g1( ) int n,i,x,y,z,stu30,mt30,en30,ph30; system(cls); FILE *fp; printf(请输入录入同学人数:); scanf(%d,&n); if(n=0)exit(1); for(i=0,x=0,y=0,z=0;i100|mtx100|eny100|phz0) printf(输入错误,请重新输入

6、); scanf(%d,&phz); /保存TXT fp=fopen(out.txt,wb); if(fp=NULL) printf(打开文件出错n); fprintf(fp,%d,n); for(i=0,x=0,y=0,z=0;in;i+,x+,y+,z+) fprintf(fp,%d %d %d %d ,stui,mtx,eny,phz); fclose(fp); printf(写入完毕!n);void g2() FILE* fp; int stu304; int i,j,n; /*以读写方式打开要读取的文件*/ fp = fopen(out.txt, rw); if (!fp) perr

7、or(cannot open file); /*从文件中读取数据到二维数组*/ fscanf(fp,%d,&n); for (i = 0; i n; i+) for (j = 0; j 4; j+) fscanf(fp, %d, &stuij); /输出列表 printf( 学号 数学 英语 物理n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf(n); /计算每门课程的总分和平均分 int EN=0,MT=0,PH=0; float ave_en,ave_mt,ave_ph; for(i=0;in

8、;i+) MT=stui1+MT; EN=EN+stui2; PH=PH+stui3; ave_mt=float(MT/n); ave_en=float(EN/n); ave_ph=float(PH/n); printf(数学总分%d英语总分%d物理总分%dn,MT,EN,PH); printf(数学平均分%.2f英语平均分%.2f物理平均分%.2fn,ave_mt,ave_en,ave_ph); getchar(); fclose(fp);void g3() FILE* fp; int stu304; int i,j,n; /*以读写方式打开要读取的文件*/ fp = fopen(out.t

9、xt, rw); if (!fp) perror(cannot open file); /*从文件中读取数据到二维数组*/ fscanf(fp,%d,&n); for (i = 0; i n; i+) for (j = 0; j 4; j+) fscanf(fp, %d, &stuij); /输出列表 printf( 学号 数学 英语 物理n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf(n); /计算每人的总分和平均分 int sum30=0; float ave30; for(i=0;in;i

10、+) for(j=1;j4;j+) sumi=sumi+stuij; avei=float(sumi/3); printf(学号为%d的同学总分为%d平均分为%.2fn,stui0,sumi,avei); getchar(); fclose(fp);void g4() FILE* fp; int stu304; int i, j,n; /*以读写方式打开要读取的文件*/ fp = fopen(out.txt, rw); if (!fp) perror(cannot open file); /*从文件中读取数据到二维数组*/ fscanf(fp,%d,&n); for (i = 0; i n;

11、i+) for (j = 0; j 4; j+) fscanf(fp, %d , &stuij); /输出列表 printf( 学号 数学 英语 物理n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf(n); /计算每人的总分和平均分 int sum30=0; float ave30; for(i=0;in;i+) for(j=1;j4;j+) sumi=sumi+stuij; avei=float(sumi/3); /按每个学生的总分由高到低排出名次表 int max=0,t=0,k,temp4;

12、 for(k=0;kn-1;k+) for(i=0;in-1-k;i+) if(sumisumi+1) t=sumi; sumi=sumi+1; sumi+1=t; for(j=0;j4;j+) tempj=stui+1j; stui+1j=stuij; stuij=tempj; printf(按每个学生的总分由高到低排出名次表:n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf( 总分%d , sumi); putchar(n); getchar(); fclose(fp);void g5() F

13、ILE* fp; int stu304; int i, j,n; /*以读写方式打开要读取的文件*/ fp = fopen(out.txt, rw); if (!fp) perror(cannot open file); /*从文件中读取数据到二维数组*/ fscanf(fp,%d,&n); for (i = 0; i n; i+) for (j = 0; j 4; j+) fscanf(fp, %d , &stuij); /输出列表 printf( 学号 数学 英语 物理n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , st

14、uij); printf(n); /计算每人的总分和平均分 int sum30=0; float ave30; for(i=0;in;i+) for(j=1;j4;j+) sumi=sumi+stuij; avei=float(sumi/3); /按每个学生的总分由低到高排出名次表 int max=0,t=0,k,temp4; for(k=0;kn-1;k+) for(i=0;in-1-k;i+) if(sumisumi+1) t=sumi; sumi=sumi+1; sumi+1=t; for(j=0;j4;j+) tempj=stui+1j; stui+1j=stuij; stuij=te

15、mpj; printf(按每个学生的总分由低到高排出名次表:n); for (i = n-1; i !=-1; i-) for (j =0; j4; j+) printf(%3d , stuij); printf(%d , sumi); putchar(n); getchar(); fclose(fp);void g6() FILE* fp;int stu304;int i, j,n;/*以读写方式打开要读取的文件*/fp = fopen(out.txt, rw);if (!fp) perror(cannot open file);/*从文件中读取数据到二维数组*/fscanf(fp,%d,&

16、n); for (i = 0; i n; i+)for (j = 0; j 4; j+)fscanf(fp, %d , &stuij);/输出列表printf( 学号 数学 英语 物理n);for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf(n);/按学号由小到大排出成绩表int min=0,t=0,k,s30=0; for(k=0;kn;k+) for(i=0;istui+10) for(j=0;j4;j+) sj=stuij; stuij=stuminj; stuminj=sj; printf(按学号由

17、小到大排出成绩表:n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); putchar(n);getchar();fclose(fp);void g7() FILE* fp; int stu304; int i, j,n; /*以读写方式打开要读取的文件*/ fp = fopen(out.txt, rw); if (!fp) perror(cannot open file); /*从文件中读取数据到二维数组*/ fscanf(fp,%d,&n); for (i = 0; i n; i+) for (j = 0; j

18、 4; j+) fscanf(fp, %d , &stuij); /输出列表 printf( 学号 数学 英语 物理n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf(n); /计算每人的总分和平均分 int sum30=0; float ave30; for(i=0;in;i+) for(j=1;j4;j+) sumi=sumi+stuij; avei=float(sumi/3); /按每个学生的总分由高到低排出名次表 int max=0,t=0,k,temp4; for(k=0;kn-1;k+)

19、 for(i=0;in-1-k;i+) if(sumisumi+1) t=sumi; sumi=sumi+1; sumi+1=t; for(j=0;j4;j+) tempj=stui+1j; stui+1j=stuij; stuij=tempj; printf(按每个学生的总分由高到低排出名次表:n); for (i = 0; i n; i+) for (j = 0; j 4; j+) printf(%6d , stuij); printf( 总分%3d 第%2d名 , sumi,i+1); putchar(n); /按学号查询学生排名及各科考试成绩 int m; printf(请输入学号:); scanf(%d,&m); for(i=0,j=0;in;i+) if(stuij=m) printf(n你所查询的学生%d排名第%d,数学,英语,物理成绩分别为:,m,i+1); for (j = 1; j 4; j+) printf(%3d , stuij); puts(n); getchar(); fclose(fp);

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

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