学生成绩管理系统课程设计报告
软件设计基础
课程设计报告
班级:网络工程08-X班 姓名: XXX 学号: 082********
2009年07月03日
目 录
1 课程设计的目的……………………………………………………1 2 课程设计的时间……………………………………………………1 3 课程设计的内容……………………………………………………1 3.1 基本要求题目…………………………………………………1 3.1.1 题目名称及要求……………………………………………1 3.1.2 程序…………………………………………………………1 3.1.3 执行结果……………………………………………………2 3.2 综合训练………………………………………………………2 3.2.1 设计题目……………………………………………………2 3.2.2 设计要求……………………………………………………2 3.2.3 系统各模块(函数)组成…………………………………3 3.2.4 流程图………………………………………………………3 3.2.5 各变量的定义和作用 ……………………………………11 4 课程设计遇到的问题及解决过程 ………………………………11 5 课程设计心得体会 ………………………………………………11 6 参考文献 …………………………………………………………11 7 附录 ………………………………………………………………12
2
1 课程设计的目的
通过C语言课程设计的实际锻炼,进一步深刻学习C语言的精髓,掌握C语言的基本编程方法。通过对程序的编写,锻炼自己的动手能力和解决问题的能力,能够体会到发现问题、解决问题的过程的幸苦。
通过本次的课程设计,更深一步磨练自己克服困难的意志,体会C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高的特点,从而培养自己程序汇编语言的思想,深刻理解结构化程序设计方法以及模块化设计的思想。 课程设计目的的基本要求:
1 通过课程设计,进一步熟悉掌握以下知识:数据类型、分支控制、循环控制、函数的定义及调用、结构体及数组、指针等。
2 通过课程设计,达到系统理解、综合运用课程知识的学习目标。 3 通过课程设计,学会用C语言程序解决实际问题的方法。
2 课程设计时间 6月22日——7月3日 3 课程设计内容
3.1 基本要求题目 3.1.1 题目名称及要求
请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。(数组维数用宏定义)
3.1.2 程序
运行程序环境 Turbo C++ 6.0
#include "stdio.h" #define M 4 #define N 5 void main() {
int fun(int a[M][N]);
int num[M][N]={{7,8,9,4,5},{4,5,6,3,1},{4,5,6,3,2},{7,9,6,5,2}}; int b;
b=fun(num);
1
printf("数组的外围元素之和是\n%d\n",b); }
int fun(int a[M][N]) {
int i,j,sum=0; for(i=0;i<M;i++) for(j=0;j<N;j++) {
if(i==0||j==0||i==M-1||j==N-1) sum=sum+a[i][j]; }
return (sum); }
3.1.3 执行结果
通过宏定义,已经定义数组维数,并在主函数给定数组。 程序在Turbo C++ 6.0环境下运行结果为: 数组的外围元素之和是: 73
3.2 综合训练
3.2.1 设计题目
学生成绩管理(结构体数组、函数、指针、算法及流程结构等的综合应用)程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统
3.2.2 设计要求
(1) 主菜单
(2) 各菜单项功能
1.成绩录入:输入学生的学号、姓名及三门课的成绩; 2.成绩查询:
按学号查询学生成绩。 查询不及格学生的成绩。 3.成绩统计:
计算学生的平均分;
根据学生的平均分高低,对学生的数据进行排序后输出; 对学生单科成绩排序,输出学生姓名与该科成绩;
2
4.退出系统:退出整个系统(即主菜单)。 3.2.3 系统各模块(函数)组成
系统通过宏定义,定义了全局变量,即学生人数,学科门数,以及定义了数组,以供输入学生学号的取用。本系统通过主函数main,调用主菜单,通过主菜单的选择语句,继续调用成绩录入函数、成绩查询函数、成绩统计函数,执行完各个函数后,再次返回主菜单函数,通过主菜单,实行退出,以上描述可参见下图,以便观看:
图3-2-3模块关系图
3.2.4 流程图 本程序流程图如下:
3
图3-2-4-1 主函数流程图
图3-2-4-2 菜单函数流程图
4
图3-2-4-3 成绩录入函数流程图
5
图3-2-4-4 成绩查询函数流程图
6
7
8
9
图3-2-4-5 成绩统计函数流程图
10
3.2.5 各变量的定义和作用
主函数:定义整型变量,作为以下子函数的使用。
主菜单:定义了整型变量,用于判断,从而进行选择。
成绩录入函数:定义整型变量i,j,用于循环,进行多人成绩,姓名的录入。 成绩查询函数:定义整型变量no和字符变量name,用于对所查学生的姓名以及循环的使用。
成绩统计函数:定义整型变量i,j,为了能够在对成绩的求平均值以及冒泡法排序实现循环做铺垫;定义了浮点型变量Average,分别表示学生的单科平均成绩和总平均成绩;定义了浮点型temp变量,实现平均值的代替;定义了字符型temp1,temp2,实现对学生名字的代替。.
4 课程设计遇到的问题及解决过程
1. 在引用库函数的时候出现警告,通过咨询指导老师以及查阅书籍,通过加入头文件,解决了警告问题。
2. 对宏定义知识点认识不足,通过同学讨论、问老师,对宏定义有了进一步了解,掌握了宏定义的应用方法,实现了在程序中正确应用宏定义的方法。
3. 起初无法实现对调用子函数后返回主菜单的方法,通过网上学习,用getch()解决了这类问题。
4. 运行程序过程中,无法对调用后的清屏工作进行处理,通过查找书籍,运用“cls”解决了此类问题。
5 课程设计心得体会
通过本次课程设计,锻炼了自己的意志,在探索中发现问题,在实践中解决问题,并在思考中完善问题。这次课程设计,让我真正的了解了C语言的思想所在,也让我感受到了程序汇编语言的魅力,知道了它简单的一面和它难的一面。既看见了探索的重要,也懂得了团队精神的可贵。
通过这次实际的操作,也让我看到了我自身的不足之处,深知自己的水平的浅显,了解了C语言,以及科学的严谨,看见了科学的伟大,并且树立了对科学的探索目标。 这次课程设计也同样让自己有了对自己本专业深层次的认识,并对自己以后的专业课的学习有了新的目标,对自己的以后的学习规划有了更进一步的想法。
6 参考文献
[1] 谭浩强著.C程序设计(第三版).北京:清华大学出版社,2005
11
7 附录:
+++++++++++++++++++++++++++++++++++++++++ fun函数源程序详细信息
+++++++++++++++++++++++++++++++++++++++++ #include "stdio.h" #define M 4 #define N 5 void main() {
int fun(int a[M][N]);
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




