《C语言-学生成绩管理 .docx》由会员分享,可在线阅读,更多相关《C语言-学生成绩管理 .docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结C 语言课程设计报告标题:同学成果治理系统学号:姓名:年级专业: 09 电子信息工程指导老师:完成日期: 2021/6/28目录一、 课题要求二、 课题分析与设计三、 程序介绍四、 源程序代码与调试五、 设计 NS图可编辑资料 - - - 欢迎下载精品名师归纳总结六、 心得与体会七、 参考书目要求一、课题可编辑资料 - - - 欢迎下载精品名师归纳总结有 N 个同学,每个同学的数据包含学号(不重复)、姓名、三门课的成果及平均成果,试设计一同学成果治理系统,使之能供应以下功能:(1) 主菜单同学成果治理系统1、 成果录入2、 成果查询3、 成果统计4、 成果排名5、 退出(2)
2、各菜单项功能成果录入:输入同学的学号、姓名及三门课的成果。成果查询:查询不及格同学的记录。成果统计:l运算同学的平均分。2依据同学的平均分高低,对同学的数据进行排序后输出。(3) 设计要求1、 用 C 语言实现系统。2、 利用结构体数组实现同学成果统计治理的数据结构设计。3、 系统具有增加,查询,排序等基本功能。4、 系统的各个功能模块要求用函数的形式实现。二、课题分析与设计程序是数值运算型算法设计,设计出了同学成果治理系统的基本功能,并设计了简洁的界面。本程序主要考察对自定义函数的熟识程度,本程序主要使用的是结构体的相关操作,包括结构体数组的输入、输出、查找、删除、修改、运算等。这个同学成果
3、治理系统也初步实现了同学成果信息的显示、删除、查找、添加、修改等必要的功能。三、程序介绍同学成果治理系统由8 个函数组成,包括main 函数、 input函数、 display函数、可编辑资料 - - - 欢迎下载精品名师归纳总结look函数、 delete函数,其中 change 函数又包括一个 sumandave 子函数, paixu函数。main 函数主要是打印选择界面,选择并调用其他几个函数。input函数是输入同学信息函数(包括姓名、学号、性别、5 门学科的成果)。完成后调用 display函数并返回界面选择。display函数的功能是对输入同学的信息进行界面输出。完成后返回main
4、 函数进行下一个功能的选择。并返回界面选择。look函数的功能是查找。按提示信息输入学号和姓名两种方式可实现查找。完成后调用display函数输出结果。并返回界面选择。delete函数的功能是删除同学的信息,依据想删除的学号进行删除功能,删除的结果会显示在屏幕上。然后再调用display函数显示结果。并返回界面选择。Change 函数功能是实现同学成果的修改,其中对于每个想修改的工程(学号、性别、名字、分数)都有是否修改的提示。选择并完成后再调用display函数输出修改后的结果。Sumandave函数是运算每个同学成果的总分、平均分。完成后调用display函数输出所求结果。并返回界面选择。
5、Paixu 函数是将全部同学成果的总分降序排列,再是调用display函数。并返回界面选择。四、源程序代码与调试1. 程序代码#include#include #include struct student char num10 。char name20 。char sex5。int grade5。float v。int sum 。stu50。int k=0。可编辑资料 - - - 欢迎下载精品名师归纳总结void input。 void display。void look。 void change。void delete。void sumandave 。void paixu。 void ma
6、inint a。doprintfnn*n。printf *。 printfttwelcome enter the student management system 。 printft*。 printfn*n。printf *。 printft 1.Access student information。printftttt*n。printf *。 printft 2.look student information。printftttt*n。printf *。 printft 3.Change student information。printftttt*n。printf *。 printft
7、 4.delete student information。printftttt*n。printf *。 printft 5.By sum Sort student information and output。 printftt*n。printf *。 printft 6. exit 。printftttttt*n。printf*n。printf Enter you choice : 。scanf%d,&a。switcha可编辑资料 - - - 欢迎下载精品名师归纳总结case 1:printfn。input。break 。case 2:printfn。look。break 。case 3:
8、printfn。change 。break 。case 4:printfn。delete。break 。case 5:printfn。paixu。break 。case 6:printfn。exit0。break 。default:printfnThe choice is between 1 to 6.n。whilea.=0。void input int j。char ch20。printfnenter student information:n。do printfnnum: 。scanf%s,stuk.num。printfnname: 。scanf%s,stuk.name。printfnse
9、x: 。scanf%s,stuk.sex。forj=0。j5 。j+ printfngrade%d: ,j+1。scanf%d,&stuk.gradej。 k+。printfnif want continue input student informationy/n: 。scanf%s,ch。whilestrcmpch,y=0|strcmpch,Y=0。sumandave。display。void display int i。printf the student information is:n。fori=0。ik 。i+可编辑资料 - - - 欢迎下载精品名师归纳总结 printf%-10s
10、 %-10s %-5s %2d %2d %2d %2d %2d%5d%5fn,stui.num,stui.name,st ui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v。printfn。 void sumandave int i,j。fori=0。ik 。i+ stui.sum=0。forj=0。j5 。j+ stui.sum=stui.sum+stui.gradej。stui.v=stui.sum/5.0。 void look int i。char a20。printfnen
11、ter you want look student num:。scanf%s,a。fori=0。ik 。i+ifstrcmpstui.num,a=0 printf%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,stui.name,st ui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v。printfnenter you want look student name:。scanf%s,a。fori=0。ik 。i+ifst
12、rcmpstui.name,a=0 printf%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,stui.name,st ui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v。 display。void change int i,j。char a20,ch10。printfnenter you want change student num:。scanf%s,a。可编辑资料 - - - 欢迎下载精品名师归纳总结fori=0
13、。ik 。i+ifstrcmpstui.num,a=0 printfnyou sure want change student numy/n: 。scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0 printfnnum:。 scanf%s,stui.num。 printfnyou sure want change student namey/n: 。scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0 printfnname:。 scanf%s,stui.name。 printfnyou sure want change student sex
14、y/n: 。scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0 printfnsex:。 scanf%s,stui.sex。 printfnyou sure want change student gradey/n: 。scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0 forj=0。j5 。j+ printfngrade%d: ,j+1。scanf%d,&stui.gradej。 stui.sum=0。forj=0。j5 。j+ stui.sum=stui.sum+stui.gradej。stui.v=stui.sum/5.0。displa
15、y。void delete int i,j。char ch10,c20。printfnyou sure want delete student informationy/n: 。scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0 printfnenter you want delete num: n。printfnum:。scanf%s,&c。fori=0。ik 。i+可编辑资料 - - - 欢迎下载精品名师归纳总结ifstrcmpc,stui.num=0 break。forj=i。j=2 。j+ stuj=stuj+1。printftttyou had delete
16、 %sn,c。k- 。 display。void paixu struct student T。int i,j。fori=0。ik-1 。i+forj=i+1。jk 。j+ifstui.sumstuj.sumT=stui。stui=stuj。stuj=T。 display。2. 程序调试以下是程序运行时主要部分截屏图主菜单界面( 1-6 选项分别对应6 个功能)进行同学信息输入查找同学信息(两种方式)修改同学信息(每步都有是否确定修改)按平均分进行排序删除同学信息(显示删除后结果)五、程序设计 NS图可编辑资料 - - - 欢迎下载精品名师归纳总结1. 同学信息的输入Main 函数调用 inp
17、ut函数()For ( i=0 。 i5 。i+ ) 依次输入同学 5 门课成果输入多个同学信息(学号、姓名、性别)完成后返回 display()函数输出结果可编辑资料 - - - 欢迎下载精品名师归纳总结2. 同学信息的输出调用 display函数()For ( i=0 。 i5 。i+ )可编辑资料 - - - 欢迎下载精品名师归纳总结输出同学信息( 学 号、 姓名 、 性 别 、 成 绩、 总分、平均分)2. 同学成果的求和与排序调用 sumandave()函数For ( i=0 。 ik 。i+ )forj=0。j5 。j+累计同学 5 门课成果并求平均完成后返回 display()函
18、数输出结果4. 查找同学信息可编辑资料 - - - 欢迎下载精品名师归纳总结调用 look ()函数按学号查找按姓名查找fori=0。ik 。i+比较字符串ifstrcmpstui.num,a=0ifstrcmpstui.name,a=0输出所查同学信息可编辑资料 - - - 欢迎下载精品名师归纳总结5. 修改同学信息6.调用 change()函数删除可编辑资料 - - - 欢迎下载精品名师归纳总结输入需要修改的同学学号学Fori=0。ik 。i+生ifstrcmpstui.num,a=0信输入想修改的学号、姓名、性别、分数、并在每步修息改之前确认修改,并输入相应信息。完成后调用 displa
19、y()函数输出修改结果调用 delete ()函数确认修改比较字符串 scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0输入需要删除的同学学号Fori=0。ik 。i+可编辑资料 - - - 欢迎下载精品名师归纳总结ifstrcmpc,stui.num=0 break。forj=i。 j=2 。j+stuj=stuj+1。/* 以后一个同学信息取代前一个*/完成后调用 display()函数输出结果7. 按平均分的排序调用 paixu ()函数fori=0。ik-1 。i+forj=i+1。jk 。j+ifstui.sumstuj.sum T=stui。stui=st
20、uj。 /*交换次序 */stuj=T。完成后返回 display()函数输出结果六、心得与体会C 语言是一种运算机程序设计语言,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语 言,编写不依靠运算机硬件的应用程序。因此,它的应用范畴广泛,不仅仅是在软件开发上,而且各类科研都需要用到C 语言。它把高级语言的基本结构和语句与低级语言的有用性结合起来,功能齐全,因此进展极其快速。在这次的课程设计的实践中,更加深了对c 的明白,对 c 的一些基本的把握,比如它的基本结构、关键字、数组、函数的调用等,学习一种语言,确定要做到脚踏实的,认真细心,切忌浮躁,在开头可编辑资料 - - - 欢迎下载精品名师归纳总结的阶段,学习该课程并不是要求能用C 设计一个复杂的东西, 最主要是把握一种结构化设计的编程思想,对编程不再惧怕陌生,该课程的学问点通俗的讲解要易懂,这样才能一步步学得更多更深。七、参考书目1 谭浩强, C程序设计教程,清华高校出版社, 2007 年2 赵永哲,李雄飞,戴秀英编著, C 语言程序设计,科学出版社, 2003 年3 夏宽理,赵子正编著,C 语言程序设计,中国铁道出版社, 2006 年4 谭浩强编著, C程序设计,清华高校出版社, 1991 年可编辑资料 - - - 欢迎下载