《C语言课程设计方案学生成绩管理系统88 .docx》由会员分享,可在线阅读,更多相关《C语言课程设计方案学生成绩管理系统88 .docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结苏州市职业高校连续训练学院课程设计说明书名称 C 语言程序设计课程设计2021 年 10 月 31 日至 2021 年 11 月 14 日共 2 周院 系运算机工程系班级 10Z 运算机网络学号 46姓名钱俊琦系 主 任李金祥指导 老师 陆公 正目 录1 前言 12 需求分析 12.1 要求 12.2 任务 12.3 运行环境 12.4 开发工具 13 概要设计与详细设计23.1 系统流程图 23.2 查询函数流程图 3 4 编码与实现 15可编辑资料 - - - 欢迎下载精品名师归纳总结4.1 分析 154.2 详细代码实现 16 5 课程设计总结 30参考文献 30致 谢
2、301 前言编写一个同学成果治理系统。先建立一个有三个同学的链表,每个结点包含:学号、姓名、三门考试成果(英语、数学、运算机)。要求利用菜单的形式进行治理。2 需求分析2.1 要求(1) 用 C 语言实现程序设计。(2) 利用结构体进行相关信息处理。(3) 画出查询模块的流程图。(4) 系统的各个功能模块要求用函数的形式实现。(5) 界面友好(良好的人机互交),程序要有注释。2.2 任务(1) 先建立一个有三个同学的链表,每个结点包含:学号、姓名、3 门考试成果。(2) 输入姓名查询该同学的信息,并显示在屏幕上。(3) 画出全部模块的流程图。(4) 编写代码。(5) 程序分析与调试。2.3 运
3、行环境(1) WINDOWS2000/XP 系统可编辑资料 - - - 欢迎下载精品名师归纳总结(2) TurboC2.0 编译环境2.4 开发工具C 语言3 概要设计与详细设计3.1 系统流程图如图 3.1 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结开头lurustruct student a函数paixustruct student a函数charustruct student a函数delstruct student a函数displaystruct student a函数cprintstruct student a,int m 函数chaxun1struct student
4、 a函数chaxun2struct student a函数输出终止3.2 查询函数流程图可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载
5、精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结4 编码与实现可编辑资料 - - - 欢迎下载精品名师归纳总结4.1 分析在程序的开头部分定义结构体类型和全局的结构体数组,用来存放和提取同学的信息。struct student /同学数据int num 。struct score f9。char name20。float ave。float sum。 。用输入函数 scanf来输入同学的信息放在程序中,在这个函数用 void 语句就能实现。void lurustruct student a 。 /录入函数void paixustruct student a。 /排序函数void
6、 charustruct student a。 /插入函数void delstruct student a。 /删除函数void displaystruct student a。/显示函数void cprintstruct student a,int m。/查询输出函数void chaxun1struct student a。/学号查询函数void chaxun2struct student a。/姓名查询函数可编辑资料 - - - 欢迎下载精品名师归纳总结void charustruct student apaixustruct student a调student a用 paixustruc
7、t可编辑资料 - - - 欢迎下载精品名师归纳总结struct student a。/存档函数在 main 函数中用 int 函数定义,然后再运用 printf ()函数就可以提取同学的成果了。而后可以依据不同的函数来删除、修改同学的成果信息。最终程序终止,完成同学成果信息的录入、修改、删除以及查询。4.2 详细代码实现可编辑资料 - - - 欢迎下载精品名师归纳总结#include #include #include struct score /各科成果float s。 。struct student /同学数据int num。struct score f9。char name20。floa
8、t ave。float sum。 。int i=0 。/统计个数struct student stu99。void lurustruct student a 。 /录入函数void paixustruct student a。 /排序函数void charustruct student a。 /插入函数void delstruct student a。 /删除函数void displaystruct student a。/显示函数void cprintstruct student a,int m。/查询输出函数void chaxun1struct student a。/学号查询函数void c
9、haxun2struct student a。/姓名查询函数void savestruct student a。/存档函数void main / 主函数开头int number。可编辑资料 - - - 欢迎下载精品名师归纳总结int x,y。fory=0 。y99。y+ /将全部成果清空forx=0 。x6。x+stuy.fx.s=NULL 。printf*n。printfttt欢迎使用 n。printfnttt同学成果治理系统 nn。printf*菜单*n。printf 请选择功能: nn0.退出n1.录入新同学成果数据 n2.显示同学成果数据 n3.按总成果排序 n4.插入同学成果数据 n
10、5.删除同学成果数据n6.按同学学号查询 n7. 按同学姓名查询 n8. 储存为 TXT 文件nn。printfn*n。doscanf%d,&number。printfn-n。switch numbercase 0:break。 /退出可编辑资料 - - - 欢迎下载精品名师归纳总结case 1:lurustu。break。 /录入新同学成果数据case 2:displaystu。break。 /显示同学成果数据case 3:paixustu。break。 /按总成果排序case 4:charustu。 break。 /插入同学成果数据case 5:delstu。break。 /删除同学成果数
11、据 n可编辑资料 - - - 欢迎下载精品名师归纳总结case 6:chaxun1stu。 case 7:chaxun2stu。break。 /按同学学号查询break。 /按同学姓名查询可编辑资料 - - - 欢迎下载精品名师归纳总结case 8:savestu。break。 /储存为 TXT 文件可编辑资料 - - - 欢迎下载精品名师归纳总结whilenumber.=0 。printf 感谢使用 . 。printfn 。void lurustruct student a /录入函数int m。int k。char b。float sum=0。printf 请输入科目数 最多 6 科: 。
12、scanf%d,&m 。printf 请输入同学信息 n。doprintf 学号: 。scanf%d,&ai.num 。printf 姓名: 。scanf%s,ai.name。fork=0 。km。k+可编辑资料 - - - 欢迎下载精品名师归纳总结printf 请输入第 %d 科目成果 :,k+1 。float temp。scanf%f,&temp 。ai.fk.s = temp 。/运算总分 ai.sum=0。 fork=0 。km。k+ai.sum=ai.sum+ai.fk.s 。/运算平均分ai.ave=0。ai.ave=ai.sum/m 。i+。printf 是否连续录入同学数据 .
13、nY/N 。fflushstdin。/刷新标准输入缓冲区scanf%c,&b 。whileb=Y|b=y 。displaya。void displaystruct student a /显示函数int k,m。systemcls。 /清屏printf 学号t 姓名t 第 1 科t 第 2 科t 第 3 科t 第 4 科t 第 5 科t 第 6科t 总分t 平均分n。printfn-可编辑资料 - - - 欢迎下载精品名师归纳总结-nn 。fork=0 。ki。k+printf%dt%st,ak.num,ak.name 。form=0 。m6。m+printf%.2ft,ak.fm.s。prin
14、tf%.2ft%.2fn,ak.sum,ak.ave 。printfn-nn 。printf 请选择功能: n0.退出t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询 t8.存档nn。void paixustruct student a /排序函数int j,k 。struct student temp。fork=0 。ki。k+forj=0 。ji-k 。j+ifaj.aveaj+1.avetemp=aj。aj=aj+1 。aj+1=temp 。可编辑资料 - - - 欢迎下载精品名师归纳总结printf 按总分排序后的同学数据如下 n。displaya。voi
15、d charustruct student a /插入函数int j,k,m,x 。struct student temp。forx=0 。x6。x+temp.fx.s=0 。/将 temp中的全部成果清除printf 请输入成果数目 :。scanf%d,&m 。printf 请输入同学信息 n。printf 学号: 。scanf%d,&temp.num。printf 姓名: 。scanf%s,temp.name。fork=0 。km。k+printf 请输入第 %d 科目成果 :,k+1 。float tt。scanf%f,&tt 。temp.fk.s = tt 。/运算总分可编辑资料 -
16、- - 欢迎下载精品名师归纳总结temp.sum=0。fork=0 。km。k+temp.sum=temp.sum+temp.fk.s。/运算平均分temp.ave=temp.sum/m。forj=0 。jj。k-ak=ak-1 。i+。aj=temp 。displaya。void delstruct student a /删除函数int k,j 。printf 请输入要删除的同学学号: 。scanf%d,&k 。forj=0 。ji 。j+ifk=aj.num / 记录要删除的同学的位置break。ifji可编辑资料 - - - 欢迎下载精品名师归纳总结fork=j 。ki-1 。k+aj=
17、aj+1 。i- 。printf 删除后的同学数据 n。displaya。elseprintfntt 没有您要删除的同学数据 nn-。printfn请选择功能: n0.退出 t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询 t8.存档nn。void cprintstruct student a,int m/ 查询输出函数int o。systemcls。 /清屏printf 学号t 姓名t 第 1 科t 第 2 科t 第 3 科t 第 4 科t 第 5 科t 第 6科t 总分t 平均分n。printfn-nn 。printf%dt%st,am.num,am.name
18、 。foro=0。o6。o+printf%.2ft,am.fo.s 。可编辑资料 - - - 欢迎下载精品名师归纳总结printf%.2ft%.2fn,am.sum,am.ave 。printfn-nn 。printfn请选择功能: n0.退出 t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询 t8.存档nn。void chaxun1struct student a/学号查询函数int m,t。printf 请输入要查询的学号 :。scanf%d,&t 。form=0 。m=i 。m+ifam.num=tcprinta,m。break。ifm=i&am.num.=
19、tsystemcls。 /清屏printfntt 没有查到您要找的同学资料 n 。printfn-n 。printfn请选择功能: n0.退出 t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询 t8.存档nn。可编辑资料 - - - 欢迎下载精品名师归纳总结void chaxun2struct student a/姓名查询函数int m。char t20。printf 请输入要查询的姓名 :。scanf%s,t。form=0 。m=i 。m+ifstrcmpam.name,t=0cprinta,m。break。ifm=i&strcmpam.name,t.=0sys
20、temcls。 /清屏printfntt 没有查到您要找的同学资料 n 。printfn-n 。printfn请选择功能: n0.退出 t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询 t8.存档nn。void savestruct student a/存档函数int k,m。FILE * fpFile 。fpFile = fopenstudent.txt, w 。可编辑资料 - - - 欢迎下载精品名师归纳总结fprintffpFile, 学号t 姓名t 第 1 科t 第 2 科t 第 3 科t 第 4 科t 第 5 科t 第 6 科t 总分t 平均分n。fpr
21、intffpFile,n-nn 。fork=0 。ki。k+fprintffpFile,%dt%st,ak.num,ak.name 。form=0 。m6。m+fprintffpFile,%.2ft,ak.fm.s。fprintffpFile,%.2ft%.2fn,ak.sum,ak.ave 。fprintffpFile,n-nn 。fclosefpFile。printf 已存到根目录 student.txt 文件。printfn-n。printfn请选择功能: n0.退出 t1.录入t2.显示t3.排序t4.插入t5.删除t6.学号查询 7.姓名查询 t8.存档nn。结果如以下图可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结5 课程设计总结通过这次课程设计我对C 语言的神奇功能更加佩服,我静静在心里宣誓确定要把 C 语言学好,而且将来我仍要想学习C+语言,娴熟的把握编程的方法。本次课程设计,我设计的是一个同学成果治理系统,本程序如完全靠现有的学问,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺当完成。可编辑资料 - - - 欢迎下载