《C语言课程设计方案-学生成绩管理系统 .docx》由会员分享,可在线阅读,更多相关《C语言课程设计方案-学生成绩管理系统 .docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结课程设计学院:运算机工程学院班级:运算机科学与技术 1 班姓名:王 定 龙学号: 2021404010114课程: C语言设计题目:同学成果治理系统2021 年 6 月 1 日可编辑资料 - - - 欢迎下载精品名师归纳总结目录一、设计任务书2二 、 功 能 设 计 3三、程序介绍3四、程序代码设计4五 、 运 行 结 果 图 7六、 C 语言程序设计总结13七、源程序代码15参考书目15一、设计任务书题目背景在如今的高校日常治理当中,同学成果治理系统就是其中特殊重要的一环,特殊是当前同学规模大,课程门类多,校区分散等实际情形,同学成果治理系统更具有特殊大的实际应用意义。但是,
2、我们看到,其实我们学校的同学成果治理系统在许多方面做的并不是很完善,功能方面也有欠缺,用户界面不够直观。成果治理成为学校教案治理中特殊重要又相当复杂的治理工作之一,单纯的接受传统的手工处理已经不符合训练和治理的要求,而运算机具有运算速度快,处理才能强等特点,很自然的进入到这一应用领中。因此为了保证学校的信息流畅,工作高效,有必要设计一个同学成果治理系统。这不但能使教务人员从复杂的成果治理中解脱出来,而且对于推动教案的进展也起到特殊重要的作用。学校同学成果治理工作都是接受传统的手工治理,这各传统人工的治理方式存在着许多缺点,如:率低,保密性差,一方面导致老师,同学成果情形不明白,老师对成果治理工
3、作倍感头痛,由于时间一长将产生大量的文件和数据,这对于查找,更新和爱护都带来了不少的困难,耗费大量劳动力,难于防止错误的产生。题目要求可编辑资料 - - - 欢迎下载精品名师归纳总结有 N 个同学,每个同学的数据包含学号(不重复)、姓名、三门课的成果及平均成果,试设计一同学成果治理系统,使之能供应以下功能:(1) 主菜单同学成果治理系统1、 成果录入2、 成果查询3、 成果统计4、 成果排名5、 退出(2) 各菜单项功能成果录入:输入同学的学号、姓名及三门课的成果。成果查询:查询不及格同学的记录。成果统计:l运算同学的平均分。2依据同学的平均分高低,对同学的数据进行排序后输出。(3) 设计要求
4、1、 用 C 语言实现系统。2、 利用结构体数组实现同学成果统计治理的数据结构设计。3、 系统具有增加,查询,排序等基本功能。4、 系统的各个功能模块要求用函数的形式实现。二、功能设计程序是数值运算型算法设计,设计出了同学成果治理系统的基本功能,并设计了简洁的界面。本程序主要考察对自定义函数的熟识程度,本程序主要使用的是结构体的相关操作,包括结构体数组的输入、输出、查找、删除、修改、运算等。这个同学成果治理系统也初步实现了同学成果信息的显示、删除、查找、添加、修改等必要的功能。三、程序介绍同学成果治理系统由8 个函数组成,包括main 函数、 input函数、 display函数、look函数
5、、 delete函数,其中 change 函数又包括一个 sumandave 子函数, paixu函数。main 函数主要是打印选择界面,选择并调用其他几个函数。input函数是输入同学信息函数(包括姓名、学号、性别、5 门学科的成果)。完成后调用 display函数并返回界面选择。display函数的功能是对输入同学的信息进行界面输出。完成后返回main 函数进行下一个功能的选择。并返回界面选择。look函数的功能是查找。按提示信息输入学号和姓名两种方式可实现查找。完成后调用display函数输出结果。并返回界面选择。delete函数的功能是删除同学的信息,依据想删除的学号进行删除功能,删除
6、的结果会可编辑资料 - - - 欢迎下载精品名师归纳总结显示在屏幕上。然后再调用display函数显示结果。并返回界面选择。Change 函数功能是实现同学成果的修改,其中对于每个想修改的工程(学号、性别、名字、分数)都有是否修改的提示。选择并完成后再调用display函数输出修改后的结果。Sumandave函数是运算每个同学成果的总分、平均分。完成后调用display函数输出所求结果。并返回界面选择。Paixu 函数是将全部同学成果的总分降序排列,再是调用display函数。并返回界面选择。四、程序设计 NS 图1. 同学信息的输入Main 函数调用 input函数()For ( i=0 。
7、 i5 。i+ ) 依次输入同学 5 门课成果输入多个同学信息(学号、姓名、性别)完成后返回 display()函数输出结果可编辑资料 - - - 欢迎下载精品名师归纳总结2. 同学信息的输出调用 display函数()For ( i=0 。 i5 。i+ )可编辑资料 - - - 欢迎下载精品名师归纳总结输出同学信息( 学 号、 姓名 、 性 别 、 成 绩、 总分、平均分)3. 同学成果的求和与排序调用 sumandave()函数可编辑资料 - - - 欢迎下载精品名师归纳总结For ( i=0 。 ik 。i+ )forj=0。j5 。j+累计同学 5 门课成果并求平均完成后返回 dis
8、play()函数输出结果4. 查找同学信息调用 look ()函数按学号查找按姓名查找fori=0。ik 。i+比较字符串ifstrcmpstui.num,a=0ifstrcmpstui.name,a=0输出所查同学信息可编辑资料 - - - 欢迎下载精品名师归纳总结5. 修改同学信息6.调用 change()函数删除可编辑资料 - - - 欢迎下载精品名师归纳总结输入需要修改的同学学号学Fori=0。ik 。i+生ifstrcmpstui.num,a=0信输入想修改的学号、姓名、性别、分数、并在每步修息改之前确认修改,并输入相应信息。完成后调用 display()函数输出修改结果可编辑资料
9、- - - 欢迎下载精品名师归纳总结调用 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=stuj。 /*交换次序 */stuj=
10、T。完成后返回 display()函数输出结果五、程序代码#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 mainint a。doprintfnn*n。printf *。欢迎进
11、入同学治理系统 。printft*。printfn*n。printf *。 printft 1.拜望同学信息 。printftttt*n。printf *。 printft 2.查找同学信息 。printftttt*n。printf *。 printft 3.修改同学信息 。printftttt*n。printf *。 printft 4.删除同学信息 。printftttt*n。printf *。 printft 5.通过学号输出同学信息 。printftt*n。printf *。 printft 6. exit 。printftttttt*n。可编辑资料 - - - 欢迎下载精品名师归纳总
12、结printf*n。printf Enter you choice : 。scanf%d,&a。switchacase 1:printfn。input。break 。case 2:printfn。look。break 。case 3: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。ch
13、ar ch20。printfnenter student information:n。do printfnnum: 。scanf%s,stuk.num。printfnname: 。scanf%s,stuk.name。printfnsex: 。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。suman
14、dave。display。可编辑资料 - - - 欢迎下载精品名师归纳总结void display int i。printf the student information is:n。fori=0。ik 。i+ 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。printfn。 void sumandave int i,j。fori=0。
15、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。printfnenter 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,stu
16、i.grade2,stui.grade3,stui.grade4,stui.sum,stui.v。printfnenter you want look student name:。scanf%s,a。fori=0。ik 。i+ifstrcmpstui.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。
17、可编辑资料 - - - 欢迎下载精品名师归纳总结void change int i,j。char a20,ch10。printfnenter you want change student num:。scanf%s,a。fori=0。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
18、/n: 。scanf%s,ch。ifstrcmpch,y=0|strcmpch,Y=0 printfnname:。 scanf%s,stui.name。 printfnyou sure want change student sexy/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+ printfng
19、rade%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。 display。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
20、: 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 %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。六丶运行结果图可编辑资料 - - - 欢迎下载精品名师归纳总结七、言,编写不依靠运算机硬件的应
21、用程序。因此,它的应用范畴广泛,不仅仅是在软件开发上,而且各类科研都需要用到C 语言。它把高级语言的基本结构和语句与低级语言的有用性结合起来,功能齐全,因此进展极其快速。在这次的课程设计的实践中,更加深了对c 的明白,对 c 的一些基本的把握,比如它的基本结构、关键字、数组、函数的调用等,学习一种语言,确定要做到脚踏实的,认真细心,切忌浮躁,在开头的阶段,学习该课程并不是要求能用C 设计一个复杂的东西, 最主要是把握一种结构化设计的编程思想,对编程不再惧怕陌生,该课程的学问点通俗的讲解要易懂,这样才能一步步学得更多更深。参考书目1. 任正云, C 语言程序设计2. 谭浩强, C 语言课程设计教程3. 黄超,新编 C 语言程序设计可编辑资料 - - - 欢迎下载精品名师归纳总结4. 明日科技, C 语言从入门到熟知可编辑资料 - - - 欢迎下载