c语言实验题目数的大小排序,C语言实验学生成绩管理系统中南大学

《C语言实验学生成绩管理系统中南大学》由会员分享,可在线阅读,更多相关《C语言实验学生成绩管理系统中南大学(27页珍藏版)》请在人人文库网上搜索。

1、X X大学c s uc语言程序设计实践报告题 目学生成绩管理系统学生姓名剽悍的小白兔指导教师L2学 院信息科学与工程学院专业班级 电气信息类xxxx班完成时间20XX年X月、设计目的通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和査找资料的能力,解 决一定程度的复杂的结构化程序设计问题,加深对所学知识的理 解与掌握,增强学生我们利用自己所学知识解决实际问题的能力, 为以后的程序开发打下基础。二. 系统分析随着科学技术的不断发展,对人们的工作水平要求也越来越 高,然而计算机就成了帮助人们解决这个问题的。

2、工具,熟练的运 用计算机,它能为人们解决许多工作上的难题。对与一个管理人 员来说,快而迅速的了解各种信息是很关键的。使用计算机在C 语言环境下编写相关的管理系统就能达到对相关信息的录入、显 示;对记录的査询极其修改等目的。基于同样的C语言环境,对其提供的头文件切 (stdiOeh,stdlibh,stringh,malloch,memh,ctypeh,conioh 等)的 不同组合,能为我们解决许许多多的问题,因此,用它来编写成 绩管理管理系统是可行的。三、学生成绩管理系统主要功能数据的录入:如录入学生的基本信息,以及该学生选修课程的 基本信息;数据的修改:如修改指定学号、或者指定姓名的学生信。

3、息,或 者修改其选修课程信息;数据的插入:插入某个学生信息;数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生及其选修 课程信息;平均成绩的计算:计算每个学生各门功课的平均成绩,并按平 均成绩从高到低的次序输出学生信息;列出不及格学生清单(学号、姓名、不及格的课程和成绩)。四、功能的实现与要求1. 数据录入:数据录入的功能是将需要的数据进行录入,用于后面的各项操作。实现:用输入函数对数据进行录入,先确定学生的个:,再用一个循环进行输入,选修课程数量亦然。2. 数据修改:数据修改的主要功能是为修改数据输入出现的错误,实现:先指定该生的学号,找到该生,再输出该生。

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

5、:平均值计算的主要功能是求平均值,再对其进行排 序,实现:用公式进行计算求平均值,之后便是排序问题,求最大值, 然后依次输出各最大值,即实现了排序功能。7. 列出不及格学生清单:这部分的主要功能是列出不及格学生清 单,实现:用一个判断语句,当分数小于60时,即输出相应的学生 信息即可。五、系统扌匡图査询学生基本信息录入修改班机信息管理输入修改学生课程管理査询输入修改学生成绩管理査询退出系统六、系统流程图七、界面设计系统运行界面(部分)如下:欢迎进入学生成绩管理系统设计者090909指导教师:夫学信息科学与工程学院电气09班2010年?月Pvess Fntev to Continue图1主界面系。

6、统主菜卑(.录入数据2. 修改数据3. 插入数据4-数据查询5.删除数据6 平均成绩计算人列出不及裕学注清单8.退出系统请输入一个数字来选择目录:图2主菜单1 1 fi M 18请输入此学生选修课程数量:1请输入该学生第1门选修课程信息:课程编号谍程名称学分考试成绩平时成绩1 Math 2 80 90请输入第2个学生的基本信息: 班级学号姓名性别年龄2 2 B F 18请输入此学生选修课程数量:1请输入该学生第丄门选修课程信息:课程编号谍程名称学分考试成绩平时成绩1 Math 2 30 60是否继续输入y/n?图3录入数据修改数据请输入要修改数据的学生的学号:#学生当前信息:班级次学号:1姓名。

7、:a性别年龄:18卜班级2学号45 年龄6 选修课程信息请输入修改后数据: 是否继续修改此学生信息n?图4修改数据3 C M 18是否要将豔皺到笫一个位置是否添加该学生的选修课程信息n?y请输入此学生选修课程数量:1请分别输入该学生选修课程信息:课程编号课程名称学分考试成绩平吋成绩1 Math 2 45 6?是否继续插入下一学生信息n?图5插入数据数据查询1 显示全部数据2. 按学号查询3. 按姓名查询4. 返回主菜单请输入一个数字来选择目录:图6数据査询fez,安平均成次序输岀学生信息:7 10 1 6 6 :号:号 责扁责扁 成程成程 均谍均课C 0 B 0 名:2名:2 姓分姓分 学: 。

8、ulpthDIPth 学Ma学Ma性别汕年龄记&等试成宛45.0平吋成绩:&7-0综合成绩516 性别:F年龄考试成绩:30.0平时成绩:60-0综合成绩390 是否返回王目录y/n?图7计算平均成绩列岀不及格学生清单不及格学生清单:学号:3姓名:C不及愴课程:Math绻合成绩:51.6学导:2姓名:B不及榕课程:Math综合成绩是否返回主目录Wn?图8不及格学生统计八、程序代码#include#include#include#include main()ini i.w=0,u/*被选中学生的下标忆依科目数虽臥in( o=0严学生总数*/.p=O,g|5O/*每个学生的选修课程 数*Aa.x.。

9、b/*新増学生个数Axx/*li前学生班级叽char xm50/*p!前学生姓名*/.h10o char oo/套判断是否 继续如。float s|50/*平均成绩*/,max,al(50o longqqostruct studentint io产班级引long j o严学号char m30。八姓名勺char n|10o严性别勺int Xo戶年龄引)c50ostruct scoreintqc /气果程编号*/ char w50o严课程名称 float e. 学分时 float rc /水考试成绩勺float to严平时成绩对 double y。严综合成绩勺)z|50|10|o欢迎进入nn学生成。

10、绩管理系统nnn 设计者:剽悍的小白兔090909XXXXnn 指导教师:TZnn XX大学信息科学与丄程学院 电气09XX班nnn2010 年 7 月Press Enter to Continue”)。getcharOo sys“m(CLS)。while( 1)系统主菜单nnl 录入数据nn2 修改数据nn3 插入数据nn4擞据査 system(HCLS)o*n询nn5 删除数据nn6.平均成绩计nn7.列出不及格学生清单nn8 退出系统nn”)。 printfC*请输入一个数字來选择目录:niT)。scanf(H%d&i)csystem(MCLS)cif(i=l)严1.录入数据*/prin。

11、tfC*录入数据 nn”)。whiled)(printtVn请输入要录入的学生个数:5“)。scanf(H%dM.&b)oif(bvl) prinlfC*n输入错误! ! n请输入要录入的学生个数n“) else if(b=l)for(a=()o a w=w+lif(w=O) printfC*输入错误! ”)。breakc while( 1)printfCAn请输入数字选择要修改的数彳处nl班级2学号3姓名4性别5年龄6选修课程信息Wscanf(M%d&i)cif(i!=6) printfCAn请输入修改后数据An”)。if(i=l) scanf(%(r&cui)。else if(i=2)el。

12、se if(i=3)else if(i=4)else if(i=5)else if(i=6)scanf(”kT&cuj)。 scanf(”s,&cu.m)。 scanf(%s”,&cu.n)o scanf(H%dM.&c(u|.x)oprintf(”n该学生选修课为前信息:”)。for(i=Oo ia. u-)cu+l=cuofor(i=0o i=()o u-)(cu+l=c|uofor(i=0o igu|o i+)zu+lix=zuig(u+l|=g|uoscanfC%d %ld %s %s %d“.&cOi,&cOj,&cOm,&cO.n,&cOx)。0=0+1 oprinifC是否添加该。

13、学生的选修课程信息y/nW.scanfC%sR,&h)oif(strcmp(hJyH)=O)(printf(Mn请输入此学生选修课程数址:2)。scanf(H%dM.&f)ogO=fcprimf(“n请分别输入该学生选修课程信息:nn课程编号课程名称学分考试成绩平时成绩ir)for(i=Oa iL i+)scanf(M%d %s %f %f %r&z(Oi.q,&zOi.w,&zO(i.e,&zOi.r&z0i)。printtVViAn是否继续插入下一学生信息y/nAn) scanfT%s”,&h)。if(strcmp(h.nM)=O) breakelse if(strcmp(h.MyH)=O。

14、) system(MCLSM)celse if(i=4)/*4.数据查询勺prinlfC*数据査询W)。for(a=Oc aOo a+)for(i=Oo igao i+)zai.y=zai.r*0.7+zai.t*03o)whiled)*nii 数据査询nnnl显示全部数据nn2按学号査询nn3按姓名査询nn4返回主菜讯”)。prinlf(Mjin请输入一个数字來选择目录:nn”)。 scanf(H%dM.&p)o if(p=l)fdr(a=Oo avn a+)prinlf(”班级:%d学号:%Id 姓名:%s性别:%s 年龄:diT,cai,caj,cam,can,cax)。for(i=Oo。

15、 igao i+)printfC*课程编号:d课程名称:s学分:%3.If考试成绩:%3.If平时成绩:3lf 综合成绩:%3Jfnz(ai.q,z(aiAv,zai.e,z(a(i.r,z|an.t,zai.y)。else if(p=2) primf(“请输入要查询学生的学号:W)。scanf(M%ldM.&qq)o w=0。fdr(a=Oo avn a+)Iif(qq=c(abj)primf(”班级:d学号:%Id姓名:s性别:%s年龄:diT,cai,caj,cam.can,cax)。for(i=()3 ig|alc i+)prinlfC课程编号咲d谀程名称:s学分:%3.1f考试成绩:。

16、%3.1f平时成绩:%3.if 综合成绩:%3lfn”.zai)qzaivvza|iezairzai2ai.y)。W=W+loif(w=0) primf(“此学号不存在! nM)oelse if(p=3)printf(”请输入要查询学生的姓名:n“)scanf(M%sH.&xm)o w=0ofor(a=0o avon a+)(if(slrcmp(xm.cam)=O)printfC*班级:d 学号:%Id 姓名:s 性别:%s年:%dn,c(a.i,ca.j,ca.m,c(a.n,ca).x)ofbr(i=Oo ig|a|c i+)printfC1课程编号:d课程名称:s学分:3.If考试成绩:。

17、3.1f平时成绩:%3.If 综合成绩%3.11nK,zai.q.z|ani.w,z|a|il.e.zai.nz(al|i.t,z|a|il.y)ow=w+lo)if(w=0) printf(H此姓名不存在! if)celse if(p=4)break aelse printf(H输入错误!! n”)printf(Mnn是否返回数据査询界面y/n?n)scanf(n%s&h)cif(slrcmp(h.HnM)=O) breakelse if(strcmp(h.MyH)=O) system(MCLS )oelse if(i=5)/*5.删除数据灯printff 删除数据”)。whiled)(pr。

18、imf(”n请输入要删除的学生的学号:if)cscanf(%ld&qq)。w=0ofor(a=Oc aoo a+)if(qq=c|a.j)Ifor(i=a。ioo i+)c|i=c|i+lotbr(u=0n ug|ila ii卄) ziu=zi+l(u. gi=g|i+l。)printf(Mii 已删除nnM) w=w+L0=0-1 o)if(w=0) prinlftAn 该学生不存在! n“)。 printf(Mnn是否继续册除学生数据y/nAn”)。 scanf(H%sH,&h)oif(strcmp(h,HnM)=O) break oelse if(strcmp(h.MyH)=O) sys。

19、iem(”CLS”)。)else if(i=6)/*6.平均成绩计算灯prinlfC*平均成绩计算”)。prinltVn按平均成绩从高到低的次序输出学生信息:。2兰冒 。二三zz+xw=z75 (+n。一EHVn oo=n)E oE=e(+E ovpdME)OJ(1)2三乡oeF二二ZZ+UF二二巨 ZUA 三zz)(+.os8vco=-OJ(+E OOVEoHE)OJOM三 Mz 二二ZZM二HZM二巨 ZAV 三Hzb 三一 E52富瞭 径如迷U&枣竦空E.A二?縣逗哲粟二空0綁p&oip甕圏杀)1记d(+一二 EOEvo)OJooczod邑Hu!E4sH【EH【eNMP% 曲題秦率遵妹裁。

20、2空即潞靂祭罢.8 -竦姿虫4kgK)(+E OOVEoHE)OJOXEW丄E 一S。_三5丄三SUXEUI)(XEWAHSU 一(+n oovn OEUnMEossmxbui(+e OOVEoHEroJscanf(H%sw,&h)oif(slrcmp(h.,yM)=O) breakelse if(strcinp(h.MnM)=O) syslem(”CLS”)。else if(i=7)/*7.列出不及格学生清单勺printfC*列出不及格学生清单)for(a=Oc aOo a+)for(i=On igao i+)Izai.y=za(i.r*0.7+zai.t*03owhiled)Iprintf。

21、C*nn不及格学生清单:niT)。x=0ofor(a=Oc aOo a+)Ifdr(u=On ug|ah u+)if(int)zau.y60)(printfC*学号:%Id姓名:%s不及格课程:加综合成绩:%3.1fnM,ca.jx(a.m,zau.w,zauJ.y)oX=X+lcif(x=O) printfC*所有学生成绩均及格”)。printf(Mnn是否返回主目录y/nTVn”)。scanf(H%s*&h)oif(slrcmp(h.,yK)=O) breakelse if(strcmp(h,MnM)=O) system(” CLS”)。else if(i=8)/*8.退出系统拿/brea。

22、koelse printf(输入错误!! K)o getcharOc 九、心得体会通过本次C程序课程设计,我觉得对自己提高很大:克服了的偷懒的毛病,这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了编程是一项非常烦琐周密的活动,他不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎。通过本次课程设计,我初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,这为以后的大学毕业设计论文打下了一个初步的基础使我收益最大的是享受到了一种成功的喜悦,在这两个星期之中从开始的确定论文题目,然后是上网和上图书馆査找资料,编写C语言原程序,然后是进行编译,这个环节是一个非 常痛苦和艰难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。由于所学的知识不多,自己的编程经验不足,仍存在一些错 误,按现有的知识水平有些东西暂时还无法解决,还有待于在以 后的学习中不断提高和改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值