一、课程设计的目的。
c语言程序设计课程设计是计算机科学与技术(信息安全、电子商务)专业一门重要的专业技术基础课程,也是一门核心课程。本课程设计的目的是为了配合c语言程序设计课程的开设,使学生能够较熟练地掌握c语言的基本内容及程序设计的基本方法与编程技巧,并能够培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机的专业知识打下基础。
二、课程设计的基本要求。
设计中要求学生能够综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题。通过分析、设计、编码、调试等各环节的训练,使学生了解c语言的基本概念、语法、语义和数据类型的使用特点;掌握最基本算法的设计与实现方法;掌握用c语言开发应用程序的一般步骤和方法及编程技巧;掌握调试程序的基本方法及上机操作方法;能够利用所学的基本知识和技能,独立完成一个综合应用程序的开发,提高学生分析问题和解决问题的能力。
除此以外,还应达到以下几点要求:
1、 充分认识课程设计的重要性,认真做好设计前的各项准备工作。
2、 既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、 独立按时完成规定的工作任务,不弄虚作假,不抄袭他人内容。
4、 严格遵守学校的学习和劳动纪律、规章制度,按时出勤。
5、 在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
6、 小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。
学生可自定1个题目,但所选题目要有一定难度,要符合1周的工作量要求(200行以上**)。同一班级同一题目最多不超过三人。
如有雷同都不及格。
三、课程设计的主要内容。
1. 学生成绩管理系统。
1)设计要求:
按照软件开发的一般步骤进行设计:首先进行需求分析,然后进行系统设计和编码调试、综合测试。在系统设计和编码实施阶段的主要工作有:
系统结构的总体设计
决定系统的总体结构,包括整个系统分哪些部分,各部分之间有什么联系以及已确定的需求对这些组成部分如何分配等方面。
.数据结构定义。
定义软件处理的对象——数据的基本结构、存储技术,定义数据处理流程。
详细设计。
对各功能模块的功能定义,说明模块之间的调用关系与接口(参数)。
编码及调试。
根据详细设计的要求,按照统一的要求和编码规范,用c语言进行编程,每个模块的独立调试等。
综合测试。
软件开发的后期是软件装配和综合测试。软件测试一般由专业的测试人员进行,通过发布使用试用版(体验版)等方式让用户体验、测试。在多次测试改进后,才正式发布。
2)系统功能需求:
输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩;
显示全部学生各科成绩信息;
对各科成绩统计分析(总分、平均分、最高分、最低分、及格率等);
统计各科各分数段人数;
按学号或姓名查找并显示某个学生的各科成绩;
按课程成绩或总分由高到低排序显示;
更新某个学生的基本信息或课程成绩;
将学生的成绩信息保存到一个文件中;
读入在文件中保存的学生信息。
3)系统功能模块划分:
主函数:调用其它功能模块。
窗口操作:预定义一些常用的窗口及信息提示函数供其它模块调用。
主菜单:显示菜单,选择功能项。
数据输入:输入学生的基本信息(学号、姓名、性别等)和各课成绩。
全部显示:显示全部学生各科成绩及平均分信息。
条件查询:学号或姓名查找并显示某个学生的各项成绩及平均分。
排序输出:按课程成绩或总分由高到低排序显示。
成绩统计:对各科成绩统计分析(总分、平均分、最高分、最低分、及格率等)
分数段统计:统计各科各分数段人数。
数据读取与存储:把学生的成绩信息保存到一个文件中,或读入文件中保存的学生信息。
4)设计步骤:
创建学生基本信息结构体和学生信息数组。
typedef struct student
int num学号 */
char name[11]; 姓名 */
char sx性别(f:男,m:女)*/
float score[kc_n];/各科成绩 */
student ;
student st[stud_n共 stud_n 个学生 */
创建课程信息数组。
char kc[kc_n][20] /kc_n 门课程的名称 */
编写能够完成一定功能的自定义函数。
按照功能模块的划分,完成所有函数的编写。例如:
建立菜单函数:
程序可以通过屏幕菜单选择具体操作方式。如果在ucdos系统调试程序,菜单可用汉字,不支持汉字的菜单用英文表示也可以。
struct menu菜单定义 */
char text[20]; 菜单名称 */
int x左上角坐标(x,y)*/
int y;
int bcolor菜单背景色 */
int fcolor菜单字符色 */
int sbc光条背景色 */
int sfc光条文本色 */
int n菜单项数 */
int w菜单项宽度 */
char item[item_n][item_w];/菜单项集合 */
mainmu;
要将mainmenu定义为全局变量。
void creatmnu( )
strcpy("学生成绩管理系统");菜单名称 */
25左上角坐标(10,6)*/
5red; 菜单背景红色 */
15; /菜单字符黄色 */
3red光条背景蓝色 */
14光条文本白色 */
10菜单项数 */
22菜单宽度(光条)*/
strcpy(" 1: 输入成绩信息 ")
strcpy(" 2: 显示成绩信息 ")
strcpy(" 3: 成绩统计分析 ")
strcpy(" 4: 分数段统计 ")
strcpy(" 5: 查询学生成绩 >"
strcpy(" 6: 成绩排序显示 >"
strcpy(" 7: 更新学生成绩 ")
strcpy(" 8: 保存成绩信息 ")
strcpy(" 9: 读取成绩数据 ")
strcpy(" 0: 退出系统 ")
输入学生信息函数:
student *getstuinfo (int i)
student *p;
char sex;
p = student *)malloc (sizeof(student));
if (p ==null)
return null;
printf ("n===input %dth student's information===n", i+1);
printf ("no: "
scanf ("s", p->no);
printf ("name: "
scanf ("s", p->name);
fflush (stdin); 清除键盘缓冲区。
while ( 1 )
p->sex = sex ==m') man : female;
printf ("age: "
scanf ("d", p->age);
printf ("classno: "
scanf ("d", p->classno);
printf ("grade: "
scanf ("f", p->grade);
return (p);
对学生信息按分数从高到低排序的函数:
void sortstuinfo (student **pstu, int num)
student *p;
int i, j, k;
for (i = 0; i < num-1; i++)
k = i;
for (j = i+1; j < num; j++)
if (pstu[j]->grade > pstu[k]->grade)
k = j;
if ( k !=i)
p = pstu[i];
pstu[i] =pstu[k];
pstu[k] =p;
C语言程序设计课程设计指导书
c语言课程设计。指导书。赣南师范学院商学院。2014年9月。目录。第1章引言 1 1.1 c语言课程设计目的 1 1.2 c语言课程设计的意义 1 1.3 软件功能的验收标准 1 第2章课程设计涉及的知识点 4 一 学生成绩管理系统设计涉及的知识点 4 二 图书管理系统设计涉及的知识点 4 三 教职...
《C语言程序设计课程设计》指导书
c语言程序设计课程设计 指导书。c语言程序设计课程设计是为了加强学生对c语言的进一步理解和应用,为学生后续课程打下良好编程基础而开设的一门实践课。时间两周,2个学分。一 设计目的。1.熟悉vc6.0的开发环境,掌握基本的编程方法,熟悉用c语言完成一个应用程序的设计过程,掌握有关编辑和调试程序的方法和...
C语言程序设计课程设计指导书
c语言课程设计。指导书。赣南师范学院商学院。2014年9月。目录。第1章引言 1 1.1 c语言课程设计目的 1 1.2 c语言课程设计的意义 1 1.3 软件功能的验收标准 1 第2章课程设计涉及的知识点 4 一 学生成绩管理系统设计涉及的知识点 4 二 图书管理系统设计涉及的知识点 4 三 教职...