C语言实验报告__学生成绩管理系统方案_第1页
C语言实验报告__学生成绩管理系统方案_第2页
C语言实验报告__学生成绩管理系统方案_第3页
C语言实验报告__学生成绩管理系统方案_第4页
C语言实验报告__学生成绩管理系统方案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.XX 大学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 数据录入 :数据录入的功能是将需要的数据进行录入,用于后面的各项操作 。实现:用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入 ,选修课程数量亦然 。2. 数据修改 :

4、数据修改的主要功能是为修改数据输入出现的错误 ,实现:先指定该生的学号 ,找到该生 ,再输出该生当前的信息 ,用一个 if 语句对数据进行修改 ,再用一个循环语句对选修课信息进行修改。3. 数据插入 : 数据插入的主要功能是在数据录入之后 ,为防止数据输入的遗漏 ,实现:分为两个部分 ,第一个是插入第一个位置 ,第二是插入第一个位置之后 ,把当前的位置赋给后面的加以实现 。4 数据查询 :数据查询的主要功能是在数据输入之后进行分类再现,实现:分为输出所有数据 ,按学号查询 ,按姓名查询 ,当输入的数据满足条件时即输出所要求的 。5 数据删除 :数据删除的主要功能是在数据录入 、数据插入和数据修

5、改完成之后对无用数据进行删除 ,实现:输入学号 ,满足条件时即把后一个数值赋给前一个数值 ,达到删除的目的 。6 平均值计算 :平均值计算的主要功能是求平均值 ,再对其进行排序,实现:用公式进行计算求平均值 ,之后便是排序问题 ,求最大值,然后依次输出各最大值 ,即实现了排序功能 。.7. 列出不及格学生清单 :这部分的主要功能是列出不及格学生清单,实现:用一个判断语句 ,当分数小于 60 时,即输出相应的学生信息即可 。五、系统框图.登录模块.学生基本信息学生课程管理学生成绩管理退出系统查询录入修改班机信息管理输入修改查询输入修改查询六、系统流程图.开始主菜单姓名选择操作学号选择 1输入数据

6、性别班级选择 2显示数据选择 3排序按景平均成绩选择 4删除按学号选择 5查询按姓名选择 6插入数据按平均成绩高低选择 7保存数据选择 8读取数据选择 8退出系统结束.七、 界面设计系统运行界面 (部分)如下:图 1 主界面.图 2 主菜单图 3 录入数据.图 4 修改数据图 5 插入数据.图 6 数据查询图 7 计算平均成绩.图 8 不及格学生统计八、程序代码#include#include#include#include main()inti,w=0,u/* 被选中学生的下标*/,f/* 科目数量 */;into=0/* 学生总数 */,p=0,g50/*每个学生的选修课程数量 */,a,

7、x,b/* 新增学生个数 */,xx/* 当前学生班级 */;charxm50/* 当前学生姓名 */,h10;charoo/* 判断是否继续 */,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设计者 :剽悍的小白兔090909XXXXnn指导教师 : TZnnXX 大学信息科学与工程学院电气 09XX 班nnn2010 年 7 月nnn*nPress Enter to Continue);getchar();system(CLS);while(1)system(CLS);printf(nn*n系统主菜单 nn1. 录入数据 nn2. 修改数据 nn3. 插入数据 nn4. 数据查询 nn5. 删除数据 nn6. 平均成绩计算 nn7. 列出不及格学生清单 nn8. 退

9、出系统 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)for(a=0;ab;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

10、,&f);go+a=f;for(i=0;if;i+)printf(n请输入该学生第%d 门选修课程信息:nn课程编号课程名称学分考试成绩平时成绩 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);else if(i=2)/*2.修改数据 */printf(修改数据 n);if

11、(o=0) printf(n系统内没有学生信息);elsewhile(1)printf(n请输入要修改数据的学生的学号: n);scanf(%ld,&qq);w=0;for(a=0;ao;a+)if(qq=ca.j).printf(该 学 生 当 前 信 息 : 班 级 :%d学 号 :%ld姓 名 :%s性 别 :%s年龄:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);u=a;w=w+1;if(w=0)printf( 输入错误 ! );break;while(1)printf(n请输入数字选择要修改的数据:n1. 班级 2.学号3.姓名4.性别5.年龄6.选修课程信息 n);s

12、canf(%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(%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;igu;i+)printf( 课 程 编号 :%d 课 程 名 称 :%s 学 分 :%3.1f 考试 成 绩 :%3.1f 平时 成绩:%3.1fn,zui.q,

13、zui.w,zui.e,zui.r,zui.t);printf(n请输入要修改的数据的当前选修课程编号:n);scanf(%d,&x);w=0;for(i=0;igu;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 if(xx=3)scanf(%f,&zui.e);else if(xx=4)scanf(%f,&zui.

14、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,&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) sys

15、tem(CLS);else if(i=3)/*3.插入数据 */printf(插入数据 );while(1)printf(n是否要将信息插入到第一个位置y/n?nn);scanf(%s,&h);if(strcmp(h,n)=0)printf(n请输入要插入位置前一个学生的学号: );scanf(%ld,&qq);for(a=0;aa;u-)cu+1=cu;for(i=0;igu;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( 是否添加该学生的选

16、修课程信息y/n?);scanf(%s,&h);if(strcmp(h,y)=0)printf(n请输入此学生选修课程数量:n);scanf(%d,&f);ga+1=f;printf(n请分别输入该学生选修课程信息:nn课程编号课程名称学分考试成绩平时成绩 n);for(i=0;i=0;u-)cu+1=cu;for(i=0;igu;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

17、,y)=0)printf(n请输入此学生选修课程数量:n);scanf(%d,&f);g0=f;printf(n请分别输入该学生选修课程信息:nn课程编号课程名称学分考试.成绩平时成绩 n);for(i=0;if;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) system(CLS);else if(i=4)/*4.数据查询 */printf(数据查

18、询 n);for(a=0;ao;a+)for(i=0;iga;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;ao;a+)printf(班级:%d学号:%ld姓名:%s性别:%s年龄:%dn,ca.i,ca.j,ca.m,ca.n,ca.x); for(i=0;iga;i+)printf(课程编号:%d课程名称:%s 学 分 :%3.1f

19、考试成绩:%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(a=0;ao;a+)if(qq=ca.j)printf(班级:%d学号:%ld姓名:%s性别:%s年龄:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(课程编号 :%d 课程名称 :%s 学分 :%3.1f 考试成绩 :%3.1f平时成绩 :%3.1f 综合成绩 :%3.1fn,

20、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( 请输入要查询学生的姓名: n);scanf(%s,&xm);w=0;for(a=0;ao;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;iga;i+)printf(课程编号 :%d 课程名称 :%s 学分 :%3.1f 考试成绩 :%3.1f平时成绩 :%3.1f 综合成绩 %

21、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=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(删除数据 );while(1)printf(n请输入要删除的学生的学号: n);scanf(%ld,&qq)

22、;w=0;for(a=0;ao;a+)if(qq=ca.j)for(i=a;io;i+)ci=ci+1;for(u=0;ugi;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);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);else if(i=6)/*6.平均成绩计算 */.printf(平均成绩计算 );printf(n按平均成绩从高到低的次

23、序输出学生信息:nn);for(a=0;ao;a+)for(i=0;iga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)for(a=0;ao;a+)ala=0;for(u=0;uga;u+)ala=ala+zau.t;sa=ala/ga;for(a=0;ao;a+)max=sa;for(u=a;umax)max=su;su=sa;sa=max;for(a=0;ao;a+)printf(平均成绩:%3.1f班级:%d学号:%ld姓名:%s性别:%s年龄:%dn,sa,ca.i,ca.j,ca.m,ca.n,ca.x); for(i=0;iga;i+)printf(课

24、程编号 :%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(列出不及格学生清单);for(a=0;ao;a+)for(i=0;iga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)printf(nn不及格学生清单: nn);x=0;for(a=0;ao;a+)for(u=0;uga;u+)if(int)zau.y60)printf(学号:%ld姓名:%s不及格课程:%s综合成绩:%3.1fn,ca.j,ca.m,zau.w,zau.y);x=x+1;if(x=0) printf(所有学生成绩均及格);printf(nn是否返回主目录y/n?n);scanf(%s,&h);if(strcmp(h,y)=0) break;else if(strcmp(h,n)=0)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论