学号: 09050011
c语言课程设计。
设计说明书。
课程管理系统。
起止日期: 2010 年 06 月 21 日至 2024年 06 月 27 日。
学生姓名陈奕江
班级: 09级通信工程(1)班
成绩。指导老师(签字罗健平
电子信息工程系。
2024年6月21日。
天津理工大学中环信息学院。
目录。一、设计目的3
二、总体设计3
三、详细设计3
四、调试与测试4
五、核心源程序清单8
六、仍存在的问题34
七、心得体会34
一、设计目的。
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计学生选修课程系统,使之能提供以下功能:
1、课程信息录入功能(课程信息用文件保存)
2、课程信息浏览功能。
3、排序:按开课学期排序。
4、查询功能:
按课程名称查询。
5、课程修改、删除(可选项)
二、总体设计(程序设计组成框图、流程图)
三、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)
1. 宏定义,文件包含,定义结构体变量;
2. 从主函数进入;
3. 显示程序进入界面;
4. 调用函数一(录入课程详细信息):键盘上输入课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。
5. 调用函数二(浏览课程详细信息):在键盘上输入课程名,显示对应课程的详细信息。
6. 调用函数三(排序:按开课学期排序):
7. 调用函数四(查询课程详细信息):显示所有输入的课程信息;
8. 退出;
四、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
完成每一个函数后,进行单独调试,对测试结果有错的,逐个修改,最后合并在一起进行调试,修改,直到正确无误为止。测试过程中,在函数四(查找课程信息)中无法将输入信息同已有信息进行比较,经同学指点顺利解决;
1 主函数模块(主菜单)
是为了定义一个菜单函数,其功能在于供使用者选择输出菜单功能选择。
其运行结果如下图:
运行正常。2 课程信息录入功能。
是为了输入课程的详细信息包括课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。
其运行结果如下图。
运行正常。3课程信息浏览功能为了让使用者能浏览所有课程详细信息。
其运行结果如下图。
运行正常。4排序:按开课学期排序为了让使用者按开课学期排序所有课程详细信息。
其运行结果如下图。
运行正常。5查询功能:按课程名称查询是为了使用者按课程名来查询课程详细信息。
其运行结果如下图:
运行正常。6退出。
是为了使用者退出程序所作的功能。
其运行结果如下图:
运行正常。调试方法:
先将主函数完毕,在分别加入录入函数、输出函数、查找函数、保存等模块后再调试。无错之后编译运行。
遇到的主要问题及解决方法:
1)忘记加分号。
2)忽略了“+”与“++的区别及与n的区别。
3) scanf ( d%d", a, &b);输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:6,9输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键。
4)switch 语句中漏写break 语句。
五、核心源程序清单和执行结果:
#include"标准输入、输出头文件*/
#include"" 包含字符串函数处理头文件*/
#include"包含动态存储与释放函数头文件*/
struct subinf
int num定义课程编号*/
char name[20课程名称*/
char feat[20课程性质*/
int ttime定义总学时*/
int ltime定义授课学时*/
int etime定义上机学时*/
float score学分*/
int term开课学期*/
void index()
void sub_add课程信息录入*/
void sub_view信息浏览*/
void taxis排序*/
void search对课程名称查询*/
void quit退出系统*/
int input输入*/
char input_1;
doif (input==5)
while(input!=1&&input!=2&&input!=3&&input!=4&&input!=5&&input!=6);
switch (input
void sub_add()
void index();
void sub_add();
int i=0,j;
int inp;
file *fp;
char input;
struct subinf subs;
struct subinf sub_taxis[100];
printf("\t课程信息录入。
printf("\t请输入课程信息");
printf("\t课程编号:")
scanf("%d",&
printf("\t课程名称:")
scanf("%s",printf("\t课程性质:")
scanf("%s",printf("\t总学时:")
scanf("%d",&
printf("\t授课学时:")
scanf("%d",&
printf("\t实验或上机学时:")
scanf("%d",&
printf("\t学分:")
scanf("%f",&
printf("\t开课学期:")
scanf("%d",&
if ((fp=fopen(""rb"))null)
while(!feof(fp));
fclose(fp);
for (j=0;j<=i;j++)
if ( printf("\t!该编号已经被使用");
printf("\t按任意键重录入。
input=getchar();
input=getchar();
sub_add();
break;
if ((fp=fopen(""rb"))null)
课程设计说明书
材料化学。涂装工艺。班级 材料化学081 姓名。学号。指导教师。时间 二 一一年七月八日 19 09 56 目录。表面工程课程设计任务书 1 1 概况 2 1.1 设计任务书及目标 2 1.2 设计任务书 2 1.3 设计单位概况 2 1.4 设计原则 4 1.5 设计范围 4 1.6 设计技术标准...
课程设计说明书
一 题目 离合器接合叉零件加工工艺规程 及车 25外圆及端面夹具设计 二 时间 自年月日至年月日止。三 要求 1 编制离合器接合叉加工工艺规程一套。2 绘制离合器接合叉零件图一张。3 绘制夹具结构装配图一张。4 绘制夹具体图一张。5.编写设计说明书一份。目录。序言1 第一章零件分析2 1.零件的作用...
课程设计说明书
河南科技学院。机电一体化课程设计。模块化生产系统设计 无杆缸传送站。学生姓名 王坤朋。所在院系 机电学院。所学专业 机电技术教育。导师姓名 胡楠李海波。完成时间 2018 年6月22日。摘要。模块化生产系统主要模拟工业生产过程中完成零件钻孔加工和装配的系列过程,该系统共有八个工作站,分别为上料检测站...