

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、X X大学C S UC语言程序设计实践报告题 目学生成绩管理系统学生姓名票悍的小白兔指导教师 TZTZ学 院_ 信息科学与工程学院专业班级 电气信息类 XXXXXXXX 班完成时间 20XX20XX 年 X X 月、设计目的通过课程设计使学生综合使用所学过的C语言程序设计知 识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知 识和技能的基础上,进一步提高自学能力和查找资料的能力,解 决一定程度的复杂的结构化程序设计问题,加深对所学知识的理 解与掌握,增强学生我们利用自己所学知识解决实际问题的能 力,为以后的程序开发打下基础。1、系统分析随着科学技术的不断发展,对人们的工作水平要求也越来
2、越高,然而计算机就成了帮助人们解决这个问题的工具,熟练 的运用计算机,它能为人们解决许多工作上的难题。对与一个 管理人员来说,快而迅速的了解各种信息是很关键的。使用计 算机在C语言环境下编写相关的管理系统就能达到对相关信息 的录入、显示;对记录的查询极其修改等目的。基于 同 样 的C语 言 环 境, 对 其 提供 的 头 文件*h(stdio.h ,stdlib h,string h,malloc h,mem h,ctype h,conio等) 的不同组合,能为我们解决许许多多的问题,因此,用它来编 写成绩管理管理系统是可行的。三、学生成绩管理系统主要功能数据的录入:如录入学生的基本信息,以及
3、该学生选修课程 的基本信息; 数据的修改:如修改指定学号、或者指定姓名的学生信息, 或者修改其选修课程信息; 数据的插入:插入某个学生信息; 数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生及其选 修课程信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并按 平均成绩从高到低的次序输出学生信息;列出 不及 格 学生清 单 ( 学号 、 姓名、不 及格 的课 程和 成 绩)。四、功能的实现与要求1数据录入:数据录入的功能是将需要的数据进行录入,用于后面的各项操作。实现:用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入,选修课程数量亦然。
4、2.数据修改:数据修改的主要功能是为修改数据输入出现的错 误,实现:先指定该生的学号,找到该生,再输出该生当前的信 息,用一个if语句对数据进行修改,再用一个循环语句对选修课 信息进行修改。3.数据插入:数据插入的主要功能是在数据录入之后,为防止数 据输入的遗漏,实现:分为两个部分,第一个是插入第一个位置, 第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。4数据查询:数据查询的主要功能是在数据输入之后进行分类再 现,实现:分为输出所有数据,按学号查询,按姓名查询,当输入 的数据满足条件时即输出所要求的。5数据删除:数据删除的主要功能是在数据录入、数据插入和数 据修改完成之后对无用数据
5、进行删除,实现:输入学号,满足条件 时即把后一个数值赋给前一个数值,达到删除的目的。6平均值计算:平均值计算的主要功能是求平均值,再对其进行 排序,实现:用公式进行计算求平均值,之后便是排序问题,求最 大值,然后依次输出各最大值,即实现了排序功能。7.列出不及格学生清单:这部分的主要功能是列出不及格学生清 单,实现:用一个判断语句,当分数小于60时,即输出相应的学 生信息即可。五、系统框图退出系统六、系统流程图查询学生基本信息录入修改班机信息管理输入修改登录模块学生课程管理查询输入修改学生成绩管理查询开始七、界面设计-系统运行界面(部分)如下:图1主界面图2主菜单图3录入数据图4修改数据图5插
6、入数据图6数据查询图7计算平均成绩图8不及格学生统计八、程序代码#include #include #include #include main()int i,w=O,u/*被选中学生的下标*/,f/*科目数量*/。int o=0/*学生总数*/,p=0,g50/*每个学生的选修 课程数量*/,a,x,b/*新增学生个数*/,xx/*当前学生班级*/。char xm50/*当前学生姓名*/,h10。char oo/*判断 是否继续 */,q 。floats50/* 平均成绩 */,max,al50 。 long qq。struct studentint i。/*班级 */long j。 /*学
7、号 */char m30 。 /*姓名 */char n10 。/*性别*/ intx。 /*年龄 */c50 。struct scoreint q。 /*课程编号 */char w50 。 /* 课程名称 */float e。 /*学分 */ float r 。 /*考试成绩*/ float t。 /*平时成绩 */ double y。 /*综合成绩 */ z5010 。*nnn白兔 090909XXXXnn欢迎进入nn学生成绩管理系统nnn 设计者:剽悍的小指导教师:TZnn XX 大学信息科学与工程学院电气 09XX 班nnn*2010年7月*nnn*nPress Enter to Co
8、ntinue)。getchar()。system(CLS) while(1)system(CLS) 。printf(nn*n系统主菜单nn1.录入数据nn2.修改数据nn3.插入数据nn4.数据查询nn5.删除数据nn6.平均成绩计算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)for(a=0
9、 。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,&f) 。go+a=f 。for(i=0。if。i+)printf(n 请输入该学生第 %d 门选修课程信息 :nn 课程编号 课程名称 学分 考试成绩 平时成绩 n,i+1) 。scanf(%d %s %f %f %f,&
10、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(o=0) printf(n 系统内没有学生信息 )。elsewhile(1)printf(n 请输入要修改数据的学生的学号: n)。scanf(%
11、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)。scanf(%d,&i) 。if(i!=6) printf(n请输入修改后数据:n)。if(i=1)scanf(%d,
12、&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,zui.w,zui.e,zui.r,zui.t)。printf(n 请输入要修改的数据的当前选
13、修课程编号: 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)。scanf(%s,&zui.w) scanf(%f,&zui.e) scanf(%f,&zui.r) scanf(%f,&zui.t)else printf( 输入错误! ) w=w+
14、1else if(xx=2)else if(xx=3)else if(xx=4)else if(xx=5)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(strcm
15、p(h,y)=0) system(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,&
16、amp;ca+1.m,&ca+1.n,&ca+1.x)。o=o+1。printf( 是否添加该学生的选修课程信息y/n?) 。scanf(%s,&h) 。年龄 n)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
17、 %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(n 请分别输入该学生选修课程信息: nn 课程编号 课程名称学分 考试成绩 平时成绩 n)for(i=0 。 if。 i+)scanf(%d %s %f %f %f,&z0i.q,&z0i.w,&z0i.e,&
18、amp;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. 数据查询 */zai.y=zai.r*0.7+zai.t*0.3while(1)printf(nn*nn 数 据查询nnn1.显示全部数据nn2.按学号查询nn3.按姓名查询nn4.返回主菜单)。printf(nn 请输入一个数字来选择目录 :nn) 。scanf(%d,&p) 。if(p=1)
19、else if(p=2)printf( 请输入要查询学生的学号:n) 。scanf(%ld,&qq) 。 w=0。for(a=0。ao。a+)printf(数据查询 n) 。for(a=0 。ao。a+)for(i=0 。iga 。 i+)for(a=0 。ao。 a+)printf(龄:dn,ca.i,ca.j,ca.m,ca.n,ca.x)。班级:%d 学 号 :%ld 姓 名 :%s 性 别 :%s 年for(i=0 。iga 。i+)课程编号:%d 课程名称:%s 学分:3.1f 考试成绩:%3.1f 平时成绩:3.1f 综合成绩:3.1fn,zai.q,zai.w,zai.e
20、,zai.r,zai.t,zai.y)。printf(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,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( 请
21、输入要查询学生的姓名: 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 综合成绩 %3.1fn,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y)。w=w+1 。if(w=0) pr
22、intf( 此姓名不存在! 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) 。 w=0 。for(a=0。ao。a+)if(qq=ca.j)for(i=a 。
23、 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 按平均成绩从高到低的次序输出学生信息 :nn
24、) for(a=0。 ao。 a+)for(i=0 。 iga 。 i+)zai.y=zai.r*0.7+zai.t*0.3while(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,
25、ca.x)。for(i=0 。 iga 。 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( 列出不及格学生清单 ) 。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)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年电缆桥架项目资金筹措计划书代可行性研究报告
- 2024年塑料加工专用设备项目资金筹措计划书代可行性研究报告
- 《信息化时代的档案管理:课件发展新篇章》
- 船载航行数据记录仪远程识别与跟踪系统课件
- 琼山中学建校协议生合同
- 猪肉产品收购合同协议
- 裁判员考试成果展示试题及答案
- 预防农业病虫害流行的措施试题及答案
- 模具设计师入门指南试题及答案
- 2024年体育经纪人市场竞争态势分析试题及答案
- 中药学(士)基础知识押题密卷1
- 2025年第三届天扬杯建筑业财税知识竞赛题库附答案(1401-1536题)
- 子宫肌瘤病例讨论
- 门窗安装施工方案07785
- 土壤氡检测方案
- 2025中考语文常考作文押题(10大主题+10篇范文)
- 2024安康市专职消防员招聘考试题目及答案
- 2024年湖北省中考满分作文《满树繁花》
- 2025年江苏省苏州市中考模拟英语试题(二)(原卷版+解析版)
- 厦门大学·DeepSeek手册3 -DeepSeek大模型及其企业应用实践:企业人员的大模型宝典
- 烟草考试笔试试题及答案
评论
0/150
提交评论