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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言实验分析方案学生成绩管理系统中南大学.docx

1、C语言实验分析方案学生成绩管理系统中南大学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数据录入:数据录入的功能是将需要的数据进行录入,用于后面的各项操作。实现:用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入,选修课程数量亦然。2. 数据修改:数据修改的主要功能是为修改数据输入出现

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

5、,达到删除的目的。6平均值计算:平均值计算的主要功能是求平均值,再对其进行排序,实现:用公式进行计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。7. 列出不及格学生清单:这部分的主要功能是列出不及格学生清单,实现:用一个判断语句,当分数小于60时,即输出相应的学生信息即可。五、系统框图六、系统流程图七、 界面设计系统运行界面(部分)如下: 图1主界面 图2主菜单图3录入数据 图4修改数据 图5插入数据图6数据查询 图7计算平均成绩 图8不及格学生统计八、程序代码#include#include#include#include main() int i,w=0,

6、u/*被选中学生的下标*/,f/*科目数量*/。int o=0/*学生总数*/,p=0,g50/*每个学生的选修课程数量*/,a,x,b/*新增学生个数*/,xx/*当前学生班级*/。char xm50/*当前学生姓名*/,h10。char oo/*判断是否继续*/,q。float s50/*平均成绩*/,max,al50。long qq。 struct student int i。/*班级*/ long j。/*学号*/ char m30。/*姓名*/ char n10。/*性别*/ int x。/*年龄*/ c50。 struct score int q。/*课程编号*/ char w50

7、。/*课程名称*/ float e。/*学分*/ float r。/*考试成绩*/ float t。/*平时成绩*/ double y。/*综合成绩*/ z5010。 printf(nn*nnn 欢 迎 进 入nn 学生成绩管理系统nnn 设计者:剽悍的小白兔 090909XXXXnn 指导教师:TZnn XX大学 信息科学与工程学院 电气09XX班nnn 2010年7月nnn*n Press Enter to Continue)。 getchar()。system(CLS)。 while(1) system(CLS)。 printf(nn*n 系统主菜单nn1.录入数据nn2.修改数据nn3

8、.插入数据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。ab。a+) printf(n请输入第%d个学生的基本信息:nn班级 学号 姓名 性别 年龄n,a+1)。 scanf(%d %ld %s %s %d,&co+a.i,&co+a.j,&

9、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,&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

10、 if(strcmp(h,y)=0) system(CLS)。 else if(i=2)/*2.修改数据*/ printf( 修改数据n)。 if(o=0) printf(n系统内没有学生信息)。 else while(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。

11、 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(%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(

12、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请输入要修改的数据的当前选修课程编号: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)。 el

13、se if(xx=2) scanf(%s,&zui.w)。 else 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,&h)。 if(strcmp(h,n)=0) break。 else if(strcmp(h,y)=0) system(C

14、LS)。 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( 插入数据)。 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+)

15、 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=f。 printf(n请分别输入该学生选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n)。 for(i=0。i=0。u-) cu+1=cu。 for(i=0。igu。i+) zu+1i=zui

16、。 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(n请分别输入该学生选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n)。 for(i=0。if。i+) scanf(%d %s %f %f %f,&z0i.q,&z0i.w,&z0i.e,&z0i.r,&z0i.t)

17、。 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( 数据查询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)。

18、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 考试成绩:%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

19、=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(请输入要查询学生的姓名:n)。 scanf(%s,&xm)。w=0。 for(a=0。ao。a+) if(

20、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) printf(此姓名不存在!n)。 else if(p=4) break。 else printf(输入错误!n)。 printf(nn是否返回数据查询界面y/

21、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。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) pri

22、ntf(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)。 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。uo。u+) if(su

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

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