版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上X X 大学C S UC语言程序设计实践报告题 目 学生成绩管理系统 学生姓名 剽悍的小白兔 指导教师 T Z 学 院 信息科学与工程学院 专业班级 电气信息类XXXX班 完成时间 20XX年X月 一、 设计目的通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生我们利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。二、系统分析随着科学技术的不断发展,对人们的工作水平要求也越
2、来越高,然而计算机就成了帮助人们解决这个问题的工具,熟练的运用计算机,它能为人们解决许多工作上的难题。对与一个管理人员来说,快而迅速的了解各种信息是很关键的。使用计算机在C语言环境下编写相关的管理系统就能达到对相关信息的录入、显示;对记录的查询极其修改等目的。基于同样的C语言环境,对其提供的头文件*h(stdio.h ,stdlib.h,string.h,malloc.h,mem.h,ctype.h,conio.h等)的不同组合,能为我们解决许许多多的问题,因此,用它来编写成绩管理管理系统是可行的。 三、学生成绩管理系统主要功能² 数据的录入:如录入学生的基本信息,以及该学生选修课程
3、的基本信息;² 数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;² 数据的插入:插入某个学生信息;² 数据的查询:如按学号查询、按姓名查询等;² 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息;² 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;² 列出不及格学生清单(学号、姓名、不及格的课程和成绩)。四、功能的实现与要求1数据录入:数据录入的功能是将需要的数据进行录入,用于后面的各项操作。实现:用输入函数对数据进行录入,先确定学生的个数,再用一个循环
4、进行输入,选修课程数量亦然。2. 数据修改:数据修改的主要功能是为修改数据输入出现的错误,实现:先指定该生的学号,找到该生,再输出该生当前的信息,用一个if语句对数据进行修改,再用一个循环语句对选修课信息进行修改。3. 数据插入: 数据插入的主要功能是在数据录入之后,为防止数据输入的遗漏,实现:分为两个部分,第一个是插入第一个位置,第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。4数据查询: 数据查询的主要功能是在数据输入之后进行分类再现,实现:分为输出所有数据,按学号查询,按姓名查询,当输入的数据满足条件时即输出所要求的。 5数据删除:数据删除的主要功能是在数据录入、数据插入和数据
5、修改完成之后对无用数据进行删除,实现:输入学号,满足条件时即把后一个数值赋给前一个数值,达到删除的目的。6平均值计算:平均值计算的主要功能是求平均值,再对其进行排序,实现:用公式进行计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。7. 列出不及格学生清单:这部分的主要功能是列出不及格学生清单,实现:用一个判断语句,当分数小于60时,即输出相应的学生信息即可。五、系统框图登录模块学生基本信息查询录入修改班机信息管理学生课程管理输入修改查询学生成绩管理输入修改查询退出系统六、系统流程图开始结束选择操作输入数据排序显示数据查询删除主菜单插入数据退出系统按学号按姓名保
6、存数据吧按景平均成绩选择7选择6选择5选择4选择3选择2选择1选择8按平均成绩高低i读取数据吧选择8班级学号性别姓名七、 界面设计·系统运行界面(部分)如下: 图1主界面图2主菜单图3录入数据图4修改数据图5插入数据图6数据查询图7计算平均成绩图8不及格学生统计八、程序代码#include<stdio.h>#include<windows.h>#include<string.h>#include <stdlib.h>main()int i,w=0,u/*被选中学生的下标*/,f/*科目数量*/;int o=0/*学生总数*/,p=0,g
7、50/*每个学生的选修课程数量*/,a,x,b/*新增学生个数*/,xx/*当前学生班级*/;char xm50/*当前学生姓名*/,h10;char oo/*判断是否继续*/,q;float s50/*平均成绩*/,max,al50;long qq;struct studentint i;/*班级*/long j;/*学号*/char m30;/*姓名*/char n10;/*性别*/int x;/*年龄*/c50;struct scoreint q;/*课程编号*/char w50;/*课程名称*/float e;/*学分*/float r;/*考试成绩*/float t;/*平时成绩*/
8、double y;/*综合成绩*/z5010;printf("nn*nnn 欢 迎 进 入nn 学生成绩管理系统nnn 设计者:剽悍的小白兔 XXXXnn指导教师:TZnnXX大学 信息科学与工程学院 电气09XX班nnn 2010年7月nnn*n Press Enter to Continue");getchar();system("CLS");while(1)system("CLS");printf("nn*n 系统主菜单nn1.录入数据nn2.修改数据nn3.插入数据nn4.数据查询nn5.删除数据nn6.平均成绩计算
9、nn7.列出不及格学生清单nn8.退出系统nn");printf("请输入一个数字来选择目录:nn");scanf("%d",&i);system("CLS");if(i=1)/*1.录入数据*/printf("录入数据nn");while(1)printf("n请输入要录入的学生个数:n");scanf("%d",&b);if(b<1) printf("n输入错误!n请输入要录入的学生个数n");else if(b>
10、=1)for(a=0;a<b;a+)printf("n请输入第%d个学生的基本信息:nn班级 学号 姓名 性别 年龄n",a+1);scanf("%d %ld %s %s %d",&co+a.i,&co+a.j,&co+a.m,&co+a.n,&co+a.x);printf("n请输入此学生选修课程数量:n");scanf("%d",&f);go+a=f;for(i=0;i<f;i+)printf("n请输入该学生第%d门选修课程信息:nn课程编
11、号 课程名称 学分 考试成绩 平时成绩n",i+1);scanf("%d %s %f %f %f",&zo+ai.q,&zo+ai.w,&zo+ai.e,&zo+ai.r,&zo+ai.t);o=p+b;p=b;getchar();printf("n是否继续输入y/n?n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS
12、");else if(i=2)/*2.修改数据*/printf("修改数据n");if(o=0) printf("n系统内没有学生信息");elsewhile(1)printf("n请输入要修改数据的学生的学号:n");scanf("%ld",&qq);w=0;for(a=0;a<o;a+)if(qq=ca.j)printf("该学生当前信息:班级:%d 学号:%ld 姓名:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.x);u=a;w=
13、w+1;if(w=0)printf("输入错误!");break;while(1)printf("n请输入数字选择要修改的数据:n1.班级 2.学号 3.姓名 4.性别 5.年龄 6.选修课程信息n");scanf("%d",&i);if(i!=6) printf("n请输入修改后数据:n");if(i=1)scanf("%d",&cu.i);else if(i=2)scanf("%ld",&cu.j);else if(i=3)scanf("
14、%s",&cu.m);else if(i=4)scanf("%s",&cu.n);else if(i=5)scanf("%d",&cu.x);else if(i=6)printf("n 该学生选修课当前信息:");for(i=0;i<gu;i+)printf(" 课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1fn",zui.q,zui.w,zui.e,zui.r,zui.t);printf("n请输入要修改的数据的当前选修
15、课程编号:n");scanf("%d",&x);w=0;for(i=0;i<gu;i+)if(x=zui.q)printf("n请输入数字选择要修改的数据:1.课程编号 2.课程名称 3.学分 4.考试成绩 5.平时成绩n");scanf("%d",&xx);printf("n请输入修改后数据:n");if(xx=1)scanf("%d",&zui.q);else if(xx=2)scanf("%s",&zui.w);else
16、if(xx=3)scanf("%f",&zui.e);else if(xx=4)scanf("%f",&zui.r);else if(xx=5)scanf("%f",&zui.t);else printf("输入错误!");w=w+1;if(w=0) printf("输入错误!");else printf("输入错误!");break;printf("nn是否继续修改此学生信息y/n?n");scanf("%s"
17、,&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");printf("nn是否继续下一学生信息y/n?n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=3)/*3.插入数据*/printf("
18、;插入数据");while(1)printf("n是否要将信息插入到第一个位置y/n?nn");scanf("%s",&h);if(strcmp(h,"n")=0)printf("n请输入要插入位置前一个学生的学号:");scanf("%ld",&qq);for(a=0;a<o;a+)if(qq=ca.j)printf("n请输入要添加的学生信息:n班级 学号 姓名 性别 年龄n");for(u=o;u>a;u-)cu+1=cu;for(
19、i=0;i<gu;i+)zu+1i=zui;gu+1=gu;scanf("%d %ld %s %s %d",&ca+1.i,&ca+1.j,&ca+1.m,&ca+1.n,&ca+1.x);o=o+1;printf("是否添加该学生的选修课程信息y/n?");scanf("%s",&h);if(strcmp(h,"y")=0)printf("n请输入此学生选修课程数量:n");scanf("%d",&f);ga+1
20、=f;printf("n请分别输入该学生选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n");for(i=0;i<f;i+)scanf("%d %s %f %f %f",&za+1i.q,&za+1i.w,&za+1i.e,&za+1i.r,&za+1i.t);else if(strcmp(h,"y")=0)printf("n请输入要添加的学生信息:n班级 学号 姓名 性别 年龄n");for(u=o;u>=0;u-)cu+1=cu;for(i=0
21、;i<gu;i+)zu+1i=zui;gu+1=gu;scanf("%d %ld %s %s %d",&c0.i,&c0.j,&c0.m,&c0.n,&c0.x);o=o+1;printf("是否添加该学生的选修课程信息y/n?n");scanf("%s",&h);if(strcmp(h,"y")=0)printf("n请输入此学生选修课程数量:n");scanf("%d",&f);g0=f;printf(&quo
22、t;n请分别输入该学生选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n");for(i=0;i<f;i+)scanf("%d %s %f %f %f",&z0i.q,&z0i.w,&z0i.e,&z0i.r,&z0i.t);printf("nn是否继续插入下一学生信息y/n?n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) sy
23、stem("CLS");else if(i=4)/*4.数据查询*/printf("数据查询n");for(a=0;a<o;a+)for(i=0;i<ga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)printf("nn*nn 数 据 查 询nnn1.显示全部数据nn2.按学号查询nn3.按姓名查询nn4.返回主菜单");printf("nn请输入一个数字来选择目录:nn");scanf("%d",&p);if(p=1)for(a=0;a<
24、o;a+)printf("班级:%d 学号:%ld 姓名:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;i<ga;i+)printf("课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩:%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);else if(p=2)printf("请输入要查询学生的学号:n");scanf("%ld",&qq);w=0;for
25、(a=0;a<o;a+)if(qq=ca.j)printf("班级:%d 学号:%ld 姓名:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;i<ga;i+)printf("课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩:%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);w=w+1;if(w=0) printf("此学号不存在!n");else if(p=3)printf(&
26、quot;请输入要查询学生的姓名:n");scanf("%s",&xm);w=0;for(a=0;a<o;a+)if(strcmp(xm,ca.m)=0)printf("班级:%d 学号:%ld 姓名:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;i<ga;i+)printf("课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.
27、t,zai.y);w=w+1; if(w=0) printf("此姓名不存在!n");else if(p=4)break;else printf("输入错误!n");printf("nn是否返回数据查询界面y/n?n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=5)/*5.删除数据*/printf("
28、删除数据");while(1)printf("n请输入要删除的学生的学号:n");scanf("%ld",&qq);w=0;for(a=0;a<o;a+)if(qq=ca.j)for(i=a;i<o;i+)ci=ci+1;for(u=0;u<gi;u+)ziu=zi+1u;gi=gi+1;printf("n已删除nn");w=w+1;o=o-1;if(w=0) printf("n该学生不存在!n");printf("nn是否继续删除学生数据y/n?n");sc
29、anf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=6)/*6.平均成绩计算*/printf("平均成绩计算");printf("n按平均成绩从高到低的次序输出学生信息:nn");for(a=0;a<o;a+)for(i=0;i<ga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)for(a=0;a<
30、o;a+)ala=0;for(u=0;u<ga;u+)ala=ala+zau.t;sa=ala/ga;for(a=0;a<o;a+)max=sa;for(u=a;u<o;u+)if(su>max) max=su;su=sa;sa=max;for(a=0;a<o;a+)printf("平均成绩:%3.1f 班级:%d 学号:%ld 姓名:%s 性别:%s 年龄:%dn",sa,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;i<ga;i+)printf(" 课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);printf("nn是否返回主目录y/n?n");scanf("%s",&h);if(strcmp(h,"y")=0) break;else if(strcmp(h,"n")=0) system("CLS");else if(i=7)/*7.列出不及格学生清单*/printf(&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生陶瓷表面装饰与涂装工艺考核试卷
- 印刷业数字化印刷品质量控制体系构建与优化实践考核试卷
- 固体饮料行业的合作伙伴关系考核试卷
- 2025年度跨境支付系统搭建与合作合同3篇
- 二零二五年度壁画艺术产业扶持基金合作协议3篇
- 2智能旅游咨询服务系统(2024年)建设合同
- 二零二五年度校园快递配送单位食品安全快速检测服务外包合同3篇
- 二零二五年度智慧城市Wi-Fi基础设施建设合同3篇
- 轻质路基作用下PHC管桩复合地基受力特性及形变分析研究
- 文化语境理论视域下Landmarks in Linguistic Thought(节选)汉译实践报告
- 2025年湖北武汉工程大学招聘6人历年高频重点提升(共500题)附带答案详解
- 【数 学】2024-2025学年北师大版数学七年级上册期末能力提升卷
- GB/T 26846-2024电动自行车用电动机和控制器的引出线及接插件
- 辽宁省沈阳市皇姑区2024-2025学年九年级上学期期末考试语文试题(含答案)
- 绿城物业室内公共区域清洁作业规程
- 封条模板A4直接打印版
- 危险货物道路运输企业安全检查通用清单
- 用友NC财务软件操作手册
- 眼内炎患者护理查房
- 电工维修培训资料 维修电工技术学习 维修电工常识 电工培训ppt课件
- 扑克牌24点练习题大全
评论
0/150
提交评论