《2022年成绩管理系统C语言课程方案 .pdf》由会员分享,可在线阅读,更多相关《2022年成绩管理系统C语言课程方案 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、个人资料整理仅限学习使用计算机文化基础(C 语言 程序设计报告指导教师* 学号* 学生姓名* 专业测控班级* 电话* 成绩二九年七月十日一设计题目精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页个人资料整理仅限学习使用题目编号: C10难度系数 C+)题目名称:在 C 语言环境下实现成绩管理二题目的意义1.用 C 语编辑一个成绩管理系统,要求输入一个班学生的学号和各门功课的成绩,应用结构体数组保存输入的信息,求出每个学生的平均成绩;再按平均成绩排序,并输出排序的结果。通过对该程序的编辑,有效的掌握结构体数组的应用,以及常用的排序方
2、法,提高自身的程序的理解和读程序的能力。2.提高自身独立思考和解决问题的能力,有助于自身思考问题能力的提升。三程序设计功能图程序由 7 个功能模块组成,功能模块图如下:main Introduction Input Average Sort Output 系统结束运行提示0 学生分数floataverage 0 0 学生平均分2.模块名称main模块功能主控函数模块说明初始化、输入,排序,输出类型变量名初值值域变量说明int i 0 0-10 循环变量,代表课程数int j 0 0-100 循环变量,代表学生数int k 0 0 循环变量Int sum 0 0 学生总分int OrderN 0
3、 0-100 排序时引用的代表数组元素下脚标四详细设计精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页个人资料整理仅限学习使用程序设计流程图:1.程序运行介绍模块,包括注意事项等printf(*System Introduction*nn。/* 提示以下部分为程序运行注意事项*/printf(t|1.The NO you write in must be more than zero|n。/*输入数据必须大于 0*/printf(t|2.The score you write in must be more than zero|n
4、。/*输入分数大于 0*/printf(*Message End*n。/*提示程序使用注意事项结束*/printf(nn 。2.数据输入模块: 0&x0&y 。system(pause。i=0,i 。/*输入课程数量 */scanf(%d,&x 。printf(Please input the number of student: 。/*输入学生数量 */scanf(%d,&y 。printf(student number:%dn,y。/输出用户输入数据,确认是否有错*/printf(Class number:%dn,x。3 数据输入及选择模块 0&x0&y/* 当用户输入数据满足条件才执行下
5、面程序*/ for(i=0。i printf(nInput records of student %d:n,i+1 。 printf(NO: 。/*输入学生学号 */ scanf(%s,stui.num。 for(j=0。j printf(score %d:,j+1 。 scanf(%d,&stui.scorej 。/*输入学生分数 */ else printf(please input the right number:n。/*当用户输入数据不符合运行条件时,跳出,并提示用户确认*/ system(pause 。4.求平均数模块 :Average for(i=0。i sum=0。/*变量初始
6、化 */ orderi=i。 for(j=0。j sum+=stui.scorej。/*求和函数 */ stui.average=sum/x。/*求平均数函数 */5 排序模块 sort. for(i=0。i/* 变量控制语句 */ for(j=i+1 。j/* 变量控制语句 */if(stuorderi.average/*循环体 */k=orderi 。/*满足条件则将 orderi的值赋给 k*/ orderi=orderj 。/*将 orderj的 值赋给 orderi*/orderj=k 。/*将 k 的值赋给 orderj*/ 精选学习资料 - - - - - - - - - 名师归
7、纳总结 - - - - - - -第 4 页,共 8 页个人资料整理仅限学习使用6,output printf(NO Sco1 Sco2 Sco3 Sco4 Sco5 Sco6 Sco7 Sco8 Sco9 Sco10 Averagen 。/*输出名称 */for(i=0。i printf(%-11s,stuorderi.num 。/*输出学生学号,位于对应的NO 下*/for(j=0。j printf(%-6d,stuorderi.scorej 。/*输出分数 */printf(%-8.1fn,stuorderi.average 。/*输出平均分 */ 五程序运行界面1.程序开始运行界面:
8、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 8 页个人资料整理仅限学习使用3.输入成绩为 10门功课, 4 名学生的程序运行界面:六调试、分析及总结序号遇到问题解决措施精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页个人资料整理仅限学习使用1 数 组 元 素 个数 不 能 用 变量 定 义 , 但是 在 不 用 链表 处 理 的 前提 下 , 无 法达 到 程 序 具有 可 扩 充 性的目的!1. 一个两个全局变量,在主函数运行时,输出提示语句,让用户输入所要处理的数据
9、的课程数和学生数量2. 定义一个结构体变量,因为程序用于处理一个班的成绩,数量不大,所以定义一个元素个数为 100 的结构体数组,当用户输入的学生数大于 100时则中止运行,返回主界面。未参考资料!)2 数 组 元 素 小于 100 时,未 被 赋 值 的数 组 元 素 也会 输 出 , 从而 难 以 观 察输出结果。1.运用之前定义的全局变量x,y,运用循环程序使输入的x,y 小于最大值时,只输出用户输入的学生学号和成绩信息。未赋值的分数输出0. 参考 C 语言程序设计哈工程版)3 程 序 运 行 时无 法 输 出 学生 成 绩 , 系统显示为 0单步运行,跟踪数据的出入,最终发现问题在于输
10、入数据时,数据的储存位置有误,原本应该储存在scorei 的分数,储存到stui, 从而导致成绩结果为0. 参考百度关于常见C 语言编程问题处理方法)4 程 序 运 行 时无 法 按 照 正确 的 顺 序 输出 , 没 有 进行 排 序 , 而编译无错单步运行,发现求平均数的函数出错,程序运行到求平均数程序段时自动跳过,重写求平均数函数,更换变量,通过运行可行5 程 序 编 译 时出 错 , 提 示statement minssing,检查 程 序 无错。误删一个分号,添加后程序编译无错。6 通过对本次程序的编辑,思考,培养了自身的独立思考的能力,同精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页个人资料整理仅限学习使用时认识到了 C 语言在处理程序问题的便利以及局限性,同时掌握了部分相应的处理方法。七参考资料1. C程序设计教程,哈尔滨工程大学版。2. C语言帝国网站: http:/ 3. C语言程序设计精品网站:http:/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页