C语言程序设计程设计指导书(晓庄)
C语言程序设计
课程设计任务书
南京晓庄学院数学与信息技术学院
2011-9-20
一、C语言程序设计课程设计的目的说明
1)复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握;
2)利用所学知识,理论和实际结合锻炼学生分析解决实际问题的能力
3)培养学生
二、课程设计要求
要求实验室配备微型电子计算机80台,配置为奔腾PII以上,安装Windows2000以上操作系统,及 vc 6.0以上版本的开发环境。
对同学们的要求包括:
要充分认识C语言程序设计课程设计的重要性,认真做好各项准备工作,包括复习C语言基础的工作;
要结合课题,独立思考,努力钻研,勤于实践,勇于创新,遇到困难时借助搜索引擎或者同学、老师查找解决问题的方法;
收集资料,自学相关知识,拓宽知识面,根据课题的基本要求,自行完成设计任务。
要按时、独立完成规定的工作任务,不弄虚作假,不抄袭他人;
严格遵守学习和劳动纪律,不无故缺席,不迟到早退,不懈怠,不拖拉,要积极主动;
严格要求自己,树立严肃、严密、严谨的科学态度,按时、按质、按量完成。
三、课程设计的步骤
C语言程序设计课程设计的步骤如下:
选题与搜集资料:根据分组,选择课题,合理分工,进行需求分析与系统调查,搜集相关资料,了解涉及的理论基础知识。
系统分析与预设计:根据课题要求及搜集的资料,进行系统功能划分,分析数据流程,进行模块设计。
指导教师检查每位学生的预设计结果,确定是否可以进入下一步。
程序设计:预设计通过的学生进入实验室,运用VC++6.0集成环境,编写程序,实现所设计的模块功能。
调试与测试:自主调试程序,或同课题、同组成员交叉测试,并记录测试情况。
成果验收:指导教师对每位同学设计的成果进行验收,打成果成果成绩。
布置设计成果通过验收的同学撰写C语言程序设计课程设计报告。
C语言程序设计课程设计答辩。
结合每位学生的软件成果、工作态度、设计报告等,评定综合成绩。
四、设计课题
设计课题包含两部分:第一部分为基础题目;第二部分为设计题目。每人在基础题目中选一个小题目,再在设计题目中选一个大题目完成课程设计内容:
第一部分:基础题目:
在以下三个基础题目中任选一个完成:
题目1:实现顺序表各种基本运算的算法。这些算法包括:初始化顺序表;释放顺序表;判断顺序表是否为空表; 返回顺序表的元素个数; 输出顺序表; 获取顺序表的第i个元素;在顺序表中查找某个给定的元素; 在顺序表的第i个位置上插入元素;删除顺序表的第i个元素;
题目2:实现单链表各种基本运算的算法。这些算法包括:初始化单链表;释放单链表;判断单链表是否为空表; 返回单链表的元素个数; 输出单链表; 获取单链表的第i个元素;在单链表中查找某个给定的元素; 在单链表的第i个位置上插入元素;删除单链表的第i个元素;
题目3:实现双链表各种基本运算的算法。这些算法包括:初始化双链表;释放双链表;判断双链表是否为空表; 返回双链表的元素个数; 输出双链表; 获取双链表的第i个元素;在双链表中查找某个给定的元素; 在双链表的第i个位置上插入元素;删除双链表的第i个元素;
以上每个题目均需要做到:
完成代码编程,在VC6.0上编译,连接通过;
编写一个main()主程序,测试你设计好的每个算法(每个算法对应一个调用函数,每题共9个算法);
如果你参考的某个范例,请务必理解这个例子;
第二部分:设计题目:
下面提供的设计课题,涉及面有大有小,难度有深有浅,考察的知识点、体现的设计目的也有所不同。同学可根据自身情况任选一个设计课题。每题限最多6人选。
(一)成绩管理
1.设计要求
由于同学们已经学习了指针、链表、文件读写等基本知识,为了与后续课程,如数据结构、数据库系统等有一个知识体系上的衔接,特设置一个信息管理类的课题《成绩管理系统》,其它诸如人事管理、学籍管理、图书管理、通讯录管理等,结构类似,仅管理对象有所不同。
管理内容包括:
学号、姓名、班级、五门课成绩。
主要功能有:
添加、修改、删除、读出、写入、查找、排序、计算总分、平均分、分类汇总等。
编写代码,运行程序后,显现下面的参考界面:
成绩管理
============
1.输入学生成绩
2.修改学生成绩
3.删除学生成绩
4.计算每位学生的总分
5.计算每位学生的平均分
6.按学号或姓名查询学生成绩
7.按班级查询学生成绩
8.成绩排序
9.按班级统计学科总分、平均分等
请选择(1~9,0:退出):选择一个菜单后,显示结果。
(二)最短路径
1.图概念
图是一种复杂的非线性结构在人工智能、工程、数学、物理、化学、生物和计算机科学等领域有着广泛的应用。图G由两个集合V和E组成,记为:??????? G=(