欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

C语言课程设计报告学生成绩管理系统

  • 资源ID:99379217       资源大小:219KB        全文页数:15页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

C语言课程设计报告学生成绩管理系统

机电工程学院 中南大学本科生C语言课程设计题 目 学生成绩管理系统一、课程设计题目:学生成绩管理系统给出n个学生的4门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计:按某一科分数或平均分数高低次序,列出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。三、概要设计程序要有的功能:1. 输入学生成绩 2. 保存成绩 3. 学生成绩排序 4. 学生成绩查询 5. 学生成绩清单 6. 退出管理系统程序运行当中,通过选择对应的功能序号来实现所需功能。对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“数据不存在”。再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要继续输入。在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。四、设计任务将程序分为六个方面:1. 输入学生成绩 、2. 保存成绩 、3. 学生成绩排序 、4. 学生成绩查询 、5. 学生成绩清单 、6. 退出管理系统。每个人负责两个方面的程序,其中侯蒙召负责1、2两个程序,杨天静负责3、4两个,张振陆负责5、6两个,最后交由组长侯蒙召组合整理,形成现在的总的程序。流程图:开始结束选择操作输入数据排序保存数据查询操作界面退出系统按学号按姓名显示清单吧选择7选择5选择3选择2选择1选择8四门成绩学号姓名四、详细设计源程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>struct Studentchar name20;int no;int math;int program;int english;int chinese;int aver;stu100,t;int num=0;int menu()int a;char s20;system("cls");/*程序介绍*/printf(" 欢迎使用学生成绩管理系统,该系统包括以下几项功能,请根据提示做相应操作n");printf(" 1->输入学生成绩n");printf(" 2->保存成绩n");printf(" 3->学生成绩排序n");printf(" 4->学生成绩查询n");printf(" 5->学生成绩清单n");printf(" 6->退出管理系统n");/*选择操作*/printf("n");printf(" 请选择要进行操作的编号:n");doprintf("Enter you choice(06):"); scanf("%s",s); a=atoi(s); while (a<0 | a>6); return a;int enter()int i=0;printf("请输入学生信息n");printf("NO.:");scanf("%d",&stunum.no);printf("姓名:");scanf("%10s",stunum.name);printf("数学:");scanf("%4d",&stunum.math);printf("程序设计:");scanf("%4d",&stunum.program);printf("英语:");scanf("%4d",&stunum.english);printf("语文:");scanf("%4d",&stunum.chinese);stunum.aver=(stunum.math+stunum.program+stunum.english+stunum.chinese)/4;num=num+1;printf("是否继续输入?(y/n):n");if(getch()='y'|getch()='Y')enter();else return(0);void save()FILE*fp;int i;if(fp=fopen("stu.dat","wb")=NULL)printf("The fire can not openn");return;for(i=0;i<num;i+)if(fwrite(&stui,sizeof(struct Student),1,fp)!=1)printf("The wirte errorn");return;printf("数据保存成功n");system("pause");fclose(fp);void sort()int i, j, k;int sort_no;printf("1-按数学成绩排n");printf("2-按程序设计成绩排n");printf("3-按英语成绩排n");printf("4-按语文成绩排n");printf("5-按平均分成绩排n");printf("6-返回主菜单n");scanf("%d",&sort_no);if(sort_no=1)/ 数学成绩排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.math>stuk.math) k=j;t=stuk;stuk=stui;stui=t; printf("学号 姓名 数学 程序 英语 语文 平均分n");for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no = 2)/ 程序设计成绩排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.program>stuk.program) k=j;t=stuk;stuk=stui;stui=t; printf("学号 姓名 数学 程序 英语 语文 平均分n");for(i=0; i<num; i+) printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no = 3)/ 英语成绩排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.english>stuk.english) k=j;t=stuk;stuk=stui;stui=t; printf("学号 姓名 数学 程序 英语 语文 平均分n");for(i=0; i<num; i+) printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no = 4)/ 语文绩排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.chinese>stuk.chinese) k=j;t=stuk;stuk=stui;stui=t; printf("学号 姓名 数学 程序 英语 语文 平均分n");for(i=0; i<num; i+) printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no=5) / 平均分排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.aver>stuk.aver) k=j;t=stuk;stuk=stui;stui=t; printf("学号 姓名 数学 程序 英语 语文 平均分n");for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no=6) / 返回上层return;elseprintf("错误的排序方式!n");return;void list()int i;printf("学生成绩清单n"); printf("学号 姓名 数学 程序 英语 语文 平均分n");for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);void search()char NAME20;int search_no;int no,i; printf(" 请选择以下的方式对学生数据进行查询:n");printf(" 1->学号查询n");printf(" 2->姓名查询n");printf(" 3->返回主菜单n");printf(" 请选择要进行查询内容的编号:n");scanf(" %d", &search_no);if(search_no=1)printf(" 请输入要查询的学号n");scanf("%d", &no);for(i=0; i<num; i+)if(no=stui.no) printf("学号 姓名 数学 程序 英语 语文 平均分n"); printf("%4d %5s %5d", stui.no, stui.name, stui.math); printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else printf("数据不存在");return;else if(search_no=2)printf(" 请输入要查询的姓名n");scanf("%s", NAME);for(i=0; i<num; i+)if(strcmp(NAME,stui.name)=0) printf("学号 姓名 数学 程序设计 英语 语文 平均分n");printf("%4d %5s %5d", stui.no, stui.name, stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, stui.program, stui.aver);else printf("数据不存在");return;else return; void main()menu();while(1)switch(menu() case 1: enter(); break; case 2:save();break; case 3:sort();system("pause");break;case 4:search();system("pause");break;case 5: list();system("pause"); break;case 6:printf("baibai!n");exit(0);break;五、程序使用说明、测试分析及结果程序的主要功能:1- >输入学生成绩2- >保存成绩3- >学生成绩排序4- >学生成绩查询5- >学生成绩清单6- >退出管理系统输入程序对应功能的相应序号,选择相应功能,然后根据提示继续。例如:想要输入学生的相关信息,输入1,然后根据提示输入学生相关信息,再输入2,保存学生信息。2、对应测试结果与分析:程序运行当中,通过选择对应的功能序号来实现所需功能。对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“数据不存在”。当再输入完相应的数据后,程序作出相应的提示,询问用户是否要保存数据。3、每个模块设计和调试时存在问题的思考输入完相应的数据后,程序不会自动作出相应的提示,询问用户是否要保存数据。在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。4、运行界面(截图)(图1)(图2)5、主界面设计如下:欢迎使用学生成绩管理系统,该系统包含以下几种功能,请根据提示做相关操作 1->输入学生成绩2->保存成绩3->学生成绩排序4->学生成绩查询5->学生成绩清单6->退出管理系统请选择要进行的编号:Enter your choice(16): 六、课程设计总结通过此次数据结构课程设计,我初步掌握了程序设计的基本方法,也学会了怎样去借鉴别人的方法和经验,知道如何怎样通过查找资料和整合处理这些资料来解决问题,这为以后的大学毕业设计论文打下了一个初步的基础。同时也享受了一种成功的喜悦,在这为期一周的课程设计当中,我从开始确定论文题目,然后是上网和上图书馆查找资料,编写C+语言原程序,然后是进行编译,这个环节是一个非常需要对问题认真的态度和足够的耐心,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多。另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。 由于所学的知识不多,自己的编程经验不足,仍存在一些错误按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进!

注意事项

本文(C语言课程设计报告学生成绩管理系统)为本站会员(沈***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!