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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计学生成绩管理系统.docx

1、C语言课程设计学生成绩管理系统苏州市职业大学继续教育学院课程设计说明书 名称 C语言程序设计课程设计 2012年 10月 31 日至 2012年 11月 14 日共2 周院 系 计算机工程系 班 级 10Z计算机网络 学 号 46 姓 名 钱俊琦 系主任 李金祥 指导教师 陆公正 1 前言编写一个学生成绩管理系统。先建立一个有三个学生的链表,每个结点包含:学号、姓名、三门考试成绩(英语、数学、计算机)。要求利用菜单的形式进行管理。2 需求分析2.1要求(1)用C语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界

2、面友好(良好的人机互交),程序要有注释。2.2任务(1)先建立一个有三个学生的链表,每个结点包含:学号、姓名、3门考试成绩;(2)输入姓名查询该同学的信息,并显示在屏幕上;(3)画出所有模块的流程图;(4)编写代码;(5)程序分析与调试。2.3运行环境(1)WINDOWS2000/XP系统(2)TurboC2.0编译环境2.4开发工具C语言3 概要设计与详细设计3.1系统流程图如图3.1所示。3.2查询函数流程图 4 编码与实现4.1分析在程序的开头部分定义结构体类型和全局的结构体数组,用来存放和提取学生的信息。struct student /学生数据 int num;struct score

3、 f9;char name20; float ave; float sum; ; 用输入函数scanf来输入学生的信息放在程序中,在这个函数用void语句就能实现。void luru(struct student a ); /录入函数 void paixu(struct student a); /排序函数 void charu(struct student a); /插入函数 void del(struct student a); /删除函数 void display(struct student a);/显示函数 void cprint(struct student a,int m);/查询

4、输出函数 void chaxun1(struct student a);/学号查询函数 void chaxun2(struct student a);/姓名查询函数 void charu(struct student a)paixu(struct student a)调用paixu(struct student a)struct student a;/存档函数 在main函数中用int函数定义,然后再运用printf()函数就可以提取学生的成绩了。 而后可以根据不同的函数来删除、修改学生的成绩信息。 最终程序结束,完成学生成绩信息的录入、修改、删除以及查询。4.2具体代码实现#include

5、#include #include struct score /各科成绩 float s; ; struct student /学生数据 int num; struct score f9; char name20; float ave; float sum; ; int i=0;/统计个数 struct student stu99; void luru(struct student a ); /录入函数 void paixu(struct student a); /排序函数 void charu(struct student a); /插入函数 void del(struct student

6、a); /删除函数 void display(struct student a);/显示函数 void cprint(struct student a,int m);/查询输出函数 void chaxun1(struct student a);/学号查询函数 void chaxun2(struct student a);/姓名查询函数 void save(struct student a);/存档函数 void main() /主函数开始 int number; int x,y; for(y=0;y99;y+) /将所有成绩清空 for(x=0;x6;x+) stuy.fx.s=NULL; p

7、rintf(*n); printf(ttt 欢迎使用n); printf(nttt 学生成绩管理系统nn); printf(*菜单*n); printf(请选择功能:nn0.退出n1.录入新学生成绩数据n2.显示学生成绩数据n3.按总成绩排序n4.插入学生成绩数据n5.删除学生成绩数据n6.按学生学号查询n7.按学生姓名查询n8.储存为TXT文件nn); printf(n*n); do scanf(%d,&number); printf(n-n); switch (number) case 0:break; /退出 case 1:luru(stu);break; /录入新学生成绩数据 case

8、 2:display(stu);break; /显示学生成绩数据 case 3:paixu(stu);break; /按总成绩排序 case 4:charu(stu);break; /插入学生成绩数据 case 5:del(stu);break; /删除学生成绩数据n case 6:chaxun1(stu);break; /按学生学号查询 case 7:chaxun2(stu);break; /按学生姓名查询 case 8:save(stu);break; /储存为TXT文件 while(number!=0); printf(谢谢使用!); printf(n); void luru(struc

9、t student a) /录入函数 int m; int k; char b; float sum=0; printf(请输入科目数(最多6科):); scanf(%d,&m); printf(请输入学生信息n); do printf(学号:); scanf(%d,&ai.num); printf(姓名:); scanf(%s,ai.name); for(k=0;km;k+) printf(请输入第%d科目成绩:,k+1); float temp; scanf(%f,&temp); ai.fk.s = temp; /计算总分 ai.sum=0; for(k=0;km;k+) ai.sum=a

10、i.sum+ai.fk.s; /计算平均分 ai.ave=0; ai.ave=ai.sum/m; i+; printf(是否继续录入学生数据?n(Y/N); fflush(stdin);/刷新标准输入缓冲区 scanf(%c,&b); while(b=Y|b=y); display(a); void display(struct student a) /显示函数 int k,m; system(cls); /清屏 printf(学号t姓名t第1科t第2科t第3科t第4科t第5科t第6科t总分t平均分n); printf(n-nn); for(k=0;ki;k+) printf(%dt%st,a

11、k.num,ak.name); for(m=0;m6;m+) printf(%.2ft,ak.fm.s); printf(%.2ft%.2fn,ak.sum,ak.ave); printf(n-nn); printf(请选择功能:n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询t8.存档nn); void paixu(struct student a) /排序函数 int j,k; struct student temp; for(k=0;ki;k+) for(j=0;ji-k;j+) if(aj.aveaj+1.ave) temp=aj; aj=aj+

12、1; aj+1=temp; printf(按总分排序后的学生数据如下n); display(a); void charu(struct student a) /插入函数 int j,k,m,x; struct student temp; for(x=0;x6;x+) temp.fx.s=0; /将temp中的所有成绩清除 printf(请输入成绩数目:); scanf(%d,&m); printf(请输入学生信息n); printf(学号:); scanf(%d,&temp.num); printf(姓名:); scanf(%s,temp.name); for(k=0;km;k+) print

13、f(请输入第%d科目成绩:,k+1); float tt; scanf(%f,&tt); temp.fk.s = tt; /计算总分 temp.sum=0; for(k=0;km;k+) temp.sum=temp.sum+temp.fk.s; /计算平均分 temp.ave=temp.sum/m; for(j=0;jj;k-) ak=ak-1; i+; aj=temp; display(a); void del(struct student a) /删除函数 int k,j; printf(请输入要删除的学生学号:); scanf(%d,&k); for(j=0;ji;j+) if(k=aj

14、.num) /记录要删除的学生的位置 break; if(ji) for(k=j;ki-1;k+) aj=aj+1; i-; printf(删除后的学生数据n); display(a); else printf(ntt没有您要删除的学生数据nn-); printf(n请选择功能:n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询t8.存档nn); void cprint(struct student a,int m)/查询输出函数 int o; system(cls); /清屏 printf(学号t姓名t第1科t第2科t第3科t第4科t第5科t第6科t总分

15、t平均分n); printf(n-nn); printf(%dt%st,am.num,am.name); for(o=0;o6;o+) printf(%.2ft,am.fo.s); printf(%.2ft%.2fn,am.sum,am.ave); printf(n-nn); printf(n请选择功能:n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询t8.存档nn); void chaxun1(struct student a)/学号查询函数 int m,t; printf(请输入要查询的学号:); scanf(%d,&t); for(m=0;m=i;

16、m+) if(am.num=t) cprint(a,m); break; if(m=i&am.num!=t) system(cls); /清屏 printf(ntt没有查到您要找的学生资料n); printf(n-n); printf(n请选择功能:n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询t8.存档nn); void chaxun2(struct student a)/姓名查询函数 int m; char t20; printf(请输入要查询的姓名:); scanf(%s,t); for(m=0;m=i;m+) if(strcmp(am.name

17、,t)=0) cprint(a,m); break; if(m=i&(strcmp(am.name,t)!=0) system(cls); /清屏 printf(ntt没有查到您要找的学生资料n); printf(n-n); printf(n请选择功能:n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询t8.存档nn); void save(struct student a)/存档函数 int k,m; FILE * fpFile; fpFile = fopen(student.txt, w); fprintf(fpFile,学号t姓名t第1科t第2科t第

18、3科t第4科t第5科t第6科t总分t平均分n); fprintf(fpFile,n-nn); for(k=0;ki;k+) fprintf(fpFile,%dt%st,ak.num,ak.name); for(m=0;m6;m+) fprintf(fpFile,%.2ft,ak.fm.s); fprintf(fpFile,%.2ft%.2fn,ak.sum,ak.ave); fprintf(fpFile,n-nn); fclose(fpFile); printf(已存到根目录student.txt文件); printf(n-n); printf(n请选择功能:n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询t8.存档nn); 结果如图所示 5 课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C+语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。

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

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