1、 主要的课程设计题目如下(学生也可自主选题): 1、 图书管理系统 2、 学生信息管理系统 3、 学生成绩管理系统 4、 学生通讯录管理系统 5、 职工信息管理系统 6、 设计简单的计算器 课程设计采用学生自主设计和指导老师辅导相结合的方式。 3、 设计要求与设计报告 设计要求: 1、 任选上述题目之一, 或自选题目。 2、 模块化的程序设计 3、 锯齿形的程序书写格式。 4、 必须通过编译连接运行 设计报告: 1、 设计目的和任务 2、 总体设计: 包括程序设计组成框图、 流程图。 3、 详细设计: 包括模块功能说明: 函数功能、 入口及出口参数说明, 函数调用关系描述等。 4、 调试与测试
2、: 包括调试方法, 测试结果分析与讨论, 测试过程中遇到的主要问题及采取的解决措施。 5、 源程序清单和执行结果: 清单中应有足够的注释。 设计目的和任务 (主要介绍设计的任务, 为什么要设计, 设计要达到什么样的目的。 ) 设计目的: (1) 基本掌握面向过程程序设计的基本思路和方法; (2) 达到熟练掌握 C 语言的基本知识和技能; (3) 能够利用所学的基本知识和技能, 解决简单的程序设计问题 程序功能: (1) . 学生基本信息及成绩所选科目成绩的录入。 (2) . 基本信息的查询(分系、 班级; 分科目) 与修改。 (3) . 对每系或每班各科成绩进行分析(即求单科平均成绩、 及格率
3、和优秀率) ; (4) . 对所开课程的成绩分析(求其平均成绩, 最高分和最低分) ; (5) . 对学生考试成绩进行排名; 目 录 一、 总体设计 - 4 - 二、 详细设计 - 4 - 三、 调试与测试 - 4 - 四、 源程序清单和执行结果 - 4 - 五、 建议和体会 - 4 - 六、 参考文献 - 5 - - 4 -一: 总体设计 设计流程图如下: 二、 详细设计 1 、 输入初始的学生信息: 其中包括学生的姓名、 学号和性别以及学生的语文、 数学、 英语和计算机等相关信息; 可用函数 cin(stu *p1 )来实现此操作。 2、 查询模块: 可用 stu *lookdata(st
4、u *p1 ) 来实现。 找到就输出此学生全部信息包括学生的语文、 数学、 英语和计算机等的成绩。 3、 插入模块: 可用 insert( )函数来实现。 其中通过学号的大小来比较的, 并且以此来排序。 4、 输出学生的信息以及成绩: 通过学生的姓名来查看学生的语文、 数学、 英语和计算机等相关成绩, 同时也可以分别通过 caverage() 、 maverage() 、 eaverage() 和comaverage() 来输出语文、 数学、 英语和计算机等成绩的平均分数、 最高和最低分数。 5、 退出系统: 可用一个函数 exit() 来实现, 首先将信息保存到文件中, 释放动态创建的内存空
5、间, 再退出此程序。 - 5 -三: 调试与测试 问题一、 学生初始信息模块: 六、 参考文献 指导教师的评语及评分 考核小组意见及评分 综合评分 - 6 -其中包括学生的姓名、 学号和性别以及学生的语文、 数学、 英语和计算机等相关信息;可用函数 cin(stu *p1 )来实现此操作。 当正确输入存在的学生学号, 系统进行判断时, 提示不存在此学生。 解决办法及步骤: 1 、 一个个输出所有的学生的学号, 检查文件中是否有此学生, 发现有。 2、 既然有此学生, 那么检查循环判断是否有此学生的语句发现没有错 3、 输出用于循环检查语句中的学生信息, 发现乱码 4、 仔细分析乱码的原因, 最
6、后发现是变量的类型错误, 错将学生类型的结构体指针变量定义为了其他类型的指针变量。 问题二、 查询模块: 可用 stu *lookdata(stu *p1) 来实现。 当正确输入查找信息时, 系统却不能够得到所要查找的学生信息以及学生的语文、 数学、 英语和计算机的成绩。 解决办法及步骤: 1 、 检查所编写的程序代码是否完全正确, 若不是, 则改之, 然后再继续正确输入查找信息看能否得到所要查找的学生信息以及学生的语文、 数学、 英语和计算机的成绩。 2、 检查当我们在输入查找信息时, 看是否我们输入的信息有误, 若是这样的话,我们应当仔细输入查找信息。 四: 源程序清单和执行结果 源程序如
7、下: #include stdio.h #include math.h #define N 30 struct student long int num; char name10; char sex3; int Chinese,Math,English,total,average; stuN=4001,lks,m,100,100,100,4002,lyt,w,99,63,89,4003,asd,w,60,70,80,4004,fgh,m,41,100,98, 4005,asd,m,74,74,87,4006,yt,m,85,58,78,4007,qwe,w,74,100,87,4008,dcs
8、,w,74,85,96, 4009,qfg,m,74,78,36,4010,gft,m,45,85,98,4011,mn,m,60,77,17,4012,yer,w,78,78,100,4013,lsd,m,100,89,85,s; int M=13; void modify(struct student stu) int t;long num;char z; t=search(stu)-400; printf(input num:); scanf(%ld,stut.num); printf(input name: scanf(%s,stut.name); printf(input sex:
9、- 7 - scanf(%s,stut.sex); printf(input score of Chinese: scanf(%d,stut.Chinese); printf(input score of Math: scanf(%d,stut.Math); printf(input score of English: scanf(%d,stut.English); stut.average=(stut.English+stut.Math+stut.Chinese)/3; stut.total=stut.English+stut.Math+stut.Chinese; printf(tNUMtN
10、AMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); printf(t%4ldt,stut.num); printf( %st,stut.name); printf(%st,stut.sex); printf(%4dt%4dt%4dt%4d%8dn,stut.Chinese,stut.Math,stut.English,stut.total,stut.average); printf(Next?y/n? scanf(%s,z); if(z=y) modify(stu); void output(struct student stu) int printf(
11、tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); for(i=0;iM;i+) printf(t%4ldt,stui.num); printf( %st,stui.name); printf(%st,stui.sex); printf(%4dt%4dt%4dt%4d%8dn,stui.Chinese,stui.Math,stui.English,stui.total,stui.average); void sort(struct student stu) int i,j,t; printf(1.an yingyu chengcheji pa
12、ixun2.an yuwen chengji paixun3.an shuxue chengji paixun4.an pingjue chengji paixun5.an zongfen paixun); scanf(%d,t); switch(t) case 1:iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.Englishstuj+1.English) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 2: i; - 8 - for(i=0;j+) if(stuj.Chinesestuj+1.Chinese) s=stuj; case 3:j+) if(stuj.Mathstuj+1.Math) s=stuj; case 4:j+) if(stuj.averagestuj+1.average) s=stuj; case 5:j+) if(stuj.totalstuj+1.total) s=stuj; - 9 -int search(struct st
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1