C课程设计说明书
软件学院c课程设计
软件学院c 课程设计一、课程目标知识目标:1. 让学生掌握软件工程的基本原理,理解软件开发流程和项目管理方法;2. 培养学生运用面向对象设计思想进行软件设计和分析的能力;3. 使学生了解软件测试的基本方法和策略,并能运用到实际项目中。
技能目标:1. 培养学生运用UML图进行软件设计和分析的能力,提高学生的团队合作与沟通能力;2. 让学生掌握至少一种编程语言,能够运用所学知识完成小型软件项目的开发;3. 培养学生运用软件测试方法对软件进行质量保证的能力。
情感态度价值观目标:1. 培养学生热爱软件事业,树立正确的专业观念;2. 培养学生具备良好的职业道德和团队协作精神,尊重他人的知识产权;3. 培养学生具备问题解决意识,面对困难和挑战时保持积极态度,勇于克服困难。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成软件需求分析、设计、编码和测试等环节;2. 学生能够运用所学知识解决实际问题,具备一定的软件项目开发经验;3. 学生能够在团队合作中发挥积极作用,与他人共同完成项目任务;4. 学生能够认识到软件工程在现代社会的重要性,具备持续学习的热情和动力。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 软件工程基本原理:讲解软件工程的概念、软件开发流程、项目管理方法等,对应教材第一章。
2. 面向对象设计:介绍面向对象的基本概念、UML图、设计模式等,对应教材第二章。
3. 编程语言:以Java或C++为例,讲解编程基础、面向对象编程、异常处理等,对应教材第三章。
4. 软件测试:介绍软件测试的基本方法、策略、自动化测试等,对应教材第四章。
5. 软件项目实践:结合实际案例,让学生参与软件需求分析、设计、编码、测试等环节,培养实际操作能力。
教学内容安排如下:第一周:软件工程基本原理第二周:面向对象设计第三周:编程语言基础第四周:面向对象编程第五周:软件测试第六周:项目实践与总结在教学过程中,将结合教材章节内容,确保教学内容的科学性和系统性。
C语言课程设计说明.
课程设计说明一、评分原则《C语言课程设计》单独考核,最后评分分为五档:优、良、中、及格、不及格。
总评的成绩由以下三个方面综合决定:1、五天课程设计时间,没有特殊情况的不许迟到、早退或缺席。
2、课程设计的考核实行逐个考核。
考核内容包括:运行程序和接受教师提问。
基本要求是:代码的行数须200行以上,程序能够无错误无警告地运行,并用“课程设计报告”解释说明程序。
3、考核验收时,每个同学都要上交自已的课程设计报告和代码文件。
课程设计报告的格式,请参考另一个文件(课程设计报告格式.DOC文件,主要是介绍你所编写的代码的结构和每一块的功能等。
由于本课程设计全部要求在Turboc C下进行,因此代码文件是后缀为.c 的文件。
上交方式:新建一个文件夹,以“班级+姓名”命名,例如“本机032班陈俊杰”,文件夹存放“课程设计报告”和“代码文件”两个文件。
如果“课程设计报告”和“代码文件”明显不一致的,总评为不及格!所以请同学们一定要根据自已所编写的程序,编写“课程设计报告”!如有雷同,复制者和被复制者的总评都为不及格!因此,希望同学们自觉主动地独立完成课程设计。
二、供选题目及要求本次课程设计的供选题目主要有以下三个类型:管理系统、设计动画,也可以根据自已的爱好选题。
各类型题目的要求如下:(一、管理系统1、学生成绩管理系统要求:(1采用模块化程序设计方法设计一个功能完善的系统,要有封面最好设计一个小动画,配背景音乐、有功能菜单(至少设计一个简单的选择式菜单或下拉式菜单。
(2本系统应具有:成绩录入、修改、删除、查询、排序、统计、输出等项功能。
(3本系统要具有通用性、界面美观、操作方便。
要考试系统安全问题。
2、通讯录管理系统具体题目可以是“机械041班通讯录”、“计算机032班通讯录”、“我所有朋友的通讯录”等,每个记录至少包含以下信息:姓名、学号、班级、性别、移动电话、宿舍电话、电子邮箱、QQ号、现在的联系地址、家庭联系地址。
C语言课程设计(说明书)
C语言课程设计-猜数游戏(说明书)班级:20111461学号:2011146111姓名:完成日期:2012年6月20日目录:1.题目要求(设计任务)2.设计思路3.设计流程4.设计小结5.参考文献6.附录(源程序)1.题目要求(设计任务)猜数游戏(掌握程序结构及随机函数应用)程序说明及要求:游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。
程序可实现连续猜数,直到游戏者退出。
程序输出要求:累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“I can bet you can do it better.”;当n>=15时,用exit(0)库函数退出程序。
附:随机数发生器函数 random()用法函数原型: int random(int num);程序例:#include <stdlib.h> /*包含库函数random()的头文件*/#include <stdio.h>/* prints a random number in the range 0 to 99 */int main(void){ int n;randomize(); /*初始化随机数发生器*/n= random (100); /*产生一个0-100的随机数。
*/printf("Random number in the 0-99 range: %d\n",n);2.设计思路1.利用所学知识,百度及学长帮助收集足够多的资料2.根据老师要求的线索加上自身因素将程序分为几块,逐个解决3.步骤:主程序-封面-登陆界面-主菜单-小程序4.主要利用所学的for,switch,if等循环3.设计流程1. 封面设计2.登陆界面设计3.主菜单设计4.主游戏介绍5.游戏介绍6.游戏帮助7.关于游戏4.设计小结本次课题为:猜数游戏。
C语言课程设计说明书
一问题描述与分析假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开学学期等信息,学生可按要求(如总学分不得少于60)自由选课。
试设计学生选修课程系统,使之能提供以下功能:1.课程信息录入功能(课程信息用文件保存)2.课程信息浏览功能3.排序:按总学时排序4.查询功能:按开学学期查询5.课程修改,删除(可选项)二总体设计根据题目要求,定义结构体类型如下:struct subjects{char no[10];char name[20];char kind[20];int stime; /*总学时*/int ttime; /*授课学时*/int etime; /*实验或上机学时*/float score;int term;}sub[N];三详细设计1)存储结构的选择在这个程序中,我们选择用结构体数组来存储课程,即顺序存储结构Struct subjects sub[N]2)系统初始化这个模块的主要功能是得到初始的课程。
为了实现“一次输入,多次使用”,我们用文件来保存课程。
第一次运行本程序需从键盘输入所有课程并保存到文件中,以后运行就可以从文件中读取数据,直接使用了。
这样既可以减少输入的麻烦,更重要的是使本程序可以连续运行,每次运行都可以使用上一次保存的结果。
void newfile(){int i;FILE *fp;if((fp=fopen("sub.dat","wb"))==NULL){printf("文件建立失败!请重新运行程序。
\n");exit(0);}printf("请输入课程门数");scanf("%d",&num);for(i=0;i<num;i++){printf("请输入第%d门课程的编号:",i+1);getchar();gets(sub[i].no);printf("课程名称:");gets(sub[i].name);printf("课程性质:");gets(sub[i].kind);printf("总学时:");scanf("%d",&sub[i].stime);printf("授课学时:");scanf("%d",&sub[i].ttime);printf("实验或上机学时:");scanf("%d",&sub[i].etime);printf("学分:");scanf("%f",&sub[i].score);printf("开学学期:");scanf("%d",&sub[i].term);printf("\n");fwrite(&sub[i],1,sizeof(struct subjects),fp);}fclose(fp);printf("你刚才输入的数据共有%d门课程,详情数据为:\n",num);output();}3)课程浏览功能按课程编号进行浏览void read1(){FILE *fp;num=0;fp=fopen("sub.dat","r");if(fp==NULL){printf("文件打开失败!请重新运行程序。
C语言课程设计说明书
本课程设计的源程序具有可读性强、文件大小及内容可灵 活改变和适用范围广等诸多优点!
三、C语言程序功能示例:
利用本课程设计对字符串(内容为右侧表格中的数 据)“sdwfzcl925”和“140 155 136 153 133 156 147 198 205 202”进行加密和解密运算,截图如下所示: 加密: 明文:sdwfzcl925 密文:140 155 136 153 133 156 147 198
一、系统功能分析
1.1设计目的 本课程设计的目的是为了保证个人数据资料不被他人非法 窃取使用,保护个人的隐私及重要文件! 1.2功能描述 本程序主要是对已知文件(为英文字符)通过一定的算法 将其转换成非本身的其他英文字母以达到文件加密的目的。整 个系统由以下几大功能模块组成。 1.2.1主控选择模块 此模块是主程序操作界面,供用户进行选择。用户可选择 执行加密或解密操作。 1.2.2加密模块 加密模块主要是完成对字符串的加密操作。从输入字符串 中读入任意一个字符并将它加密并显示出来! 1.2.3解密模块 解密模块是完成对字符串的解密工作,将密文转换为可被 识别的明文。从输入字符串中读入任意一个字符并将它解密并 显示出来!
虽然在课程设计过程中修改了很多次,但程序还是很不完 美,有一些问题未能解决。比如说程序的界面不够美观,不够 人性化。我将在以后的时间里继续努力,不断充实自己。 总体来说,这次C语言程序设计实验还是比较成功的,虽 然最终程序还存在一些不足,但能取得这样的成绩我还是比较 高兴的。 最后,要感谢学校为我们提供这次实验机会,也要感谢老 师的指导,帮助与支持。
目
录
前 言· · · · · · · · · · · · · · · · · · · · · · · ·1 1. 系统功能分析· · · · · · · · · · · · · · · · · · · ·1 1.1 设计描述· · · · · · · · · · · · · · · · · · · ·1 1.2 功能描述· · · · · · · · · · · · · · · · · · · ·1 1.2.1 主控选择模块· · · · · · · · · · · · · · · 1 1.2.2 加密模块· · · · · · · · · · · · · · · · ·1 1.2.3 解密模块· · · · · · · · · · · · · · · · ·1 2. C语言源程序编写· · · · · · · · · · · · · · · · · ·1 2.1 程序流程图· · · · · · · · · · · · · · · · · · ·1 2.2 程序源代码· · · · · · · · · · · · · · · · · · ·2 3. C语言程序功能示例· · · · · · · · · · · · · · · · · 4 4. 设计总结· · · · · · · · · · · · · · · · · · · · · ·7 5. 参考文献· · · · · · · · · · · · · · · · · · · · · ·8
C语言课程设计说明书
break;
}
③删除模块
【需求分析】
该模块的功能是删除通讯录里原有的记录。
删除模块的流程图如图五所示。
图五删除模块流程图
【程序】
/******************************删除模块***********************************/
ch=getch(); /*获得输入字符*/
if(ch=='y') Data_Save();
fclose(fp); /*关闭record.txt文件*/
exit(0); /*退出程序*/
default: printf("Please choose1-4\n"); /*输入的如果不是数字1-4,让其重新输入*/
{ i++;
Data_Input(i);
printf("Please press Enter again to continue\n");
}
if(i==p)printf("\n\tThe data is full\n");
} /*记录完后显示通讯录已满*/
break;}
②显示模块
【需求分析】
该模块的功能是显示所有通讯录里的记录。显示模块的流程图如图四所示。
《C语言程序设计》
课程设计
通讯录管理系统
指导教师:
设计人:
班级:
学号:
设计时间:2010年6月12日
一、题目要求----------------------------------------3
C语言课程设计说明书
1面向过程程序设计(C 语言)课程设计设计说明书学生宿舍管理系统起止日期: 2010 年 01 月 10 日 至 2010 年 01 月 17 日学生姓名 黄庆清 班级 计本091班 学号 09408100103 成绩指导教师(签字)计算机与通信学院2010年 01 月 20日学生宿舍管理系统一、程序设计要求综合运用C语言程序设计课程的主要知识,设计一个用于学生宿舍管理的程序,设计指标由程序的功能要求和技术要求具体说明。
1.功能要求学生宿舍管理程序至少具有以下功能:1)显示功能:能显示宿舍学生的全部记录,在显示时能提供下列5种显示方式:①按记录创建(学生入住)的顺序显示。
②按姓名升序显示。
将字符串(姓名)从小到大排列后输出。
③按学号升序显示。
将字符串(学号)从小到大排列后输出。
④按房号升序显示。
将字符串(房号)从小到大排列后输出。
⑤班按级号升序显示。
将字符串(班级号)从小到大排列后输出。
注:“显示顺序”栏的信息不属于记录的信息,它是连续的自然数,若记录个数不变,则“显示顺序”栏的信息不变。
2)修改功能:能修改学生记录除创建顺序以外的信息。
让用户输入需要修改的旧记录,再检查该记录是否存在,若存在则用户可对记录进行修改。
3)查询功能:能查询宿舍学生的记录。
提供以下5种查询方式。
①按姓名查询。
用户输入学生姓名,系统则检索记录,找到含有该姓名的全部记录,显示到屏幕上,并计算、显示找到的记录个数。
若找不到,则提醒用户:该记录不存在。
②按学号查询。
原理同上所述。
③按房号查询。
原理同上所述。
④按班级号查询。
原理同上所述。
⑤综合查询。
用户输入学生的姓名、学号、房号和班级号,系统自动检索,若找到和和用户输入的信息完全一致的记录,则显示到屏幕上。
该记录若存在,则是唯一的,这是由入住(新建)功能决定的。
4)删除功能:能以某些方式删除宿舍学生的信息。
删除时以记录为单位,既能一次删除一条记录,也能一次删除多条记录。
该程序提供以下7种删除方式:①按姓名删除。
《C语言程序设计课设》课程设计指导书
《C语言程序设计课设》课程设计指导书一、课程设计的目的(1)加深对讲授内容的理解,尤其是一些语法规则。
(2)熟悉C语言程序设计的结构化编程的思想,掌握数据的基本类型、自定义类型、函数、文件和指针等知识,能运用这些知识进行综合编程,熟练应用。
(3)能够综合运用所学知识,编程解决实际问题。
(4)培养团队分工合作的意识,最终使学生提高编程技能和解决实际问题的能力。
二、课程设计基本要求2.1.组织管理1.由院、系指派经验丰富的专业教师担任指导教师。
2.课程设计实行课程负责人与指导教师共同负责制。
3.课程负责人主要进行课设的命题、指导教师的考核、技术把关和全面管理。
4.指导教师全面负责所承担班级的课程设计指导、管理和考核评定工作。
2.2设计要求1.自选题目、小组管理、团队合作、小组评测。
2.模块化程序设计。
3.锯齿型书写格式。
4.必须上机调试通过。
三、选题要求:每个题目限定1-2人,每人必须负责一部分功能,并独立完成,推举出一个组长,负责任务分工,汇总到班长处,然后交给指导教师。
四、设计报告格式及要求:1、题目2、设计目的3、总体设计(程序设计组成框图、流程图)4、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)5、运行结果及分析6、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施7、课程设计心得及体会8、源程序清单和执行结果:清单中应有足够的注释五、课程设计成绩评定5.1基本要求:(1)每个人必须有程序运行结果;(2)每个人必须交《C语言课程设计》报告5.2、成绩评定和打分标准由指导教师对学生在课程设计期间的表现,所完成的设计报告的质量、设计结果的验收和答辩情况进行综合考核。
具体评定标准如下:(1)上机考勤:注重平时上机考勤与遵守纪律情况20%(2)结果验收:学生能运行、讲述或调试自己的程序,回答教师提问,每个人必须有程序运行结果40%(3)小组自评成绩结果10%(4)设计报告:每个人必须交《C语言课程设计》报告和《C语言课程设计》日志30%以上四项缺一不可,否则不能到得相应学分依据上述考核内容,最后采用优(>90分)、良(80~89分)、中(70~79分)及格(60~69分)、不及格(<60分)五级记分制评定学生课程设计成绩。
C 课程设计说明书
江苏大学编程及软件应用实践课程设计说明书五子棋游戏学生姓名:黄小宝学号: 3070302019年级专业:2007级测控技术与仪器班级:测控 0701 班指导老师:张世庆学院:机械工程学院江苏·镇江提交日期:2009年7月五子棋游戏黄小宝(江苏大学,中国,镇江212013)摘要:该游戏软件在Windows系统为玩家提供传统五子棋游戏的基本功能,在这简单的五子棋中,玩家通过鼠标进行两个人的游戏。
游戏中包含姓名输入、开始/重新开始、悔棋、是否同意和回放等功能,游戏的主战场为15行15列的棋盘。
游戏结束,如果有输赢,则输出谁胜,否则,输出平局的信息框。
关键词:五子棋;视窗操作系统;游戏;MFCThe Game of GobangXiaobao Huang(Jiangsu University, China, Zhenjiang 212013)Abstract:To provide a traditional Gobang game, this game software in the Windows system, is for players with the basic functions in this simple Gobang, the audiences through a mouse for a two-person game.You can enter your names included in the game, it has a start / restart, Hui Qi, agree or not and playback functions, the main battlefield of the game for 15 to 15 of the chessboard. The end of the game, if a win or lose, who wins and output, or output tie the information box.Keywords: Gobang; Windows System; Game;MFC目录课程设计任务书 (1)一、课程设计题目:五子棋游戏 (1)二、目的与要求: (1)1、目的: (1)2、基本要求: (1)3、创新要求: (1)4、写出设计说明书 (1)三、设计方法和基本原理: (1)四、设计中涉及到的重要内容: (1)五、程序设计和调试: (2)六、答辩与评分标准: (2)1 前言 (3)2 需求分析 (3)系统概述 (3)概述 (3)系统运行环境 (3)运行环境 (3)功能需求描述 (3)功能需求 (3)3 总体设计 (4)开发与设计的总体思想 (4)屏幕的组成 (4)形状的组成 (4)形状的统一 (4)4 概要设计 (5)系统流程图 (5)4.2 系统功能模块 (5)5 详细设计 (6)5.1.界面的设计 (6)游戏中棋盘的形成 (6)游戏下子功能代码 (8)判断功能代码 (9)设置项目中的功能代码 (11)悔棋功能代码 (12)回放功能代码 (13)6 测试分析 (15)7 心得体会 (15)参考文献 (15)致谢 (16)课程设计任务书一、课程设计题目:五子棋游戏二、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和C++调试技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
c语言课程设计说明书
苏州市职业大学课程设计说明书名称计算机语言C课程设计——职工信息管理系统设计院系 .班级 .姓名 .学号 106302202 .系主任 .教研室主任 .指导教师 .目录一、课程设计的目的与要求 (3)1.1目的 (3)1.2 要求 (3)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1总体思想 (5)3.2软件模块结构图 (5)3.3系统流程图 (6)3.3.1主函数 (6)3.3.2显示函数 (7)3.3.3录入函数 (7)3.3.4查询函数 (8)3.3.5删除函数 (9)3.3.6排序函数 (10)四、详细设计和系统实施 (11)4.1数据结构设计 (11)4.1.1定义数组 (11)4.1.2定义结构体 (11)4.1.3函数功能描述 (11)4.2界面设计 (12)4.2.1用户登录界面 (12)4.2.2 主界面 (13)4.2.3显示界面 (15)4.2.4录入界面 (16)4.2.5信息查询界面 (17)4.2.6删除界面 (19)五、遇到的问题及解决办法 (20)六、课程设计总结 (21)七、参考文献 (22)附录(源程序代码) (23)一、课程设计的目的与要求1.1目的1.掌握C语言编程的基础知识较熟练的编写C语言应用程序。
2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。
3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。
1.2 要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3.画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言对文件的各种操作。
C 课程设计说明书
江苏大学编程及软件应用实践课程设计说明书五子棋游戏学生姓名:黄小宝学号: 3070302019年级专业:2007级测控技术与仪器班级:测控 0701 班指导老师:张世庆学院:机械工程学院江苏·镇江提交日期:2009年7月五子棋游戏黄小宝(江苏大学,中国,镇江212013)摘要:该游戏软件在Windows系统为玩家提供传统五子棋游戏的基本功能,在这简单的五子棋中,玩家通过鼠标进行两个人的游戏。
游戏中包含姓名输入、开始/重新开始、悔棋、是否同意和回放等功能,游戏的主战场为15行15列的棋盘。
游戏结束,如果有输赢,则输出谁胜,否则,输出平局的信息框。
关键词:五子棋;视窗操作系统;游戏;MFCThe Game of GobangXiaobao Huang(Jiangsu University, China, Zhenjiang 212013)Abstract:To provide a traditional Gobang game, this game software in the Windows system, is for players with the basic functions in this simple Gobang, the audiences through a mouse for a two-person game.You can enter your names included in the game, it has a start / restart, Hui Qi, agree or not and playback functions, the main battlefield of the game for 15 to 15 of the chessboard. The end of the game, if a win or lose, who wins and output, or output tie the information box.Keywords: Gobang; Windows System; Game;MFC目录课程设计任务书 (1)一、课程设计题目:五子棋游戏 (1)二、目的与要求: (1)1、目的: (1)2、基本要求: (1)3、创新要求: (1)4、写出设计说明书 (1)三、设计方法和基本原理: (1)四、设计中涉及到的重要内容: (1)五、程序设计和调试: (2)六、答辩与评分标准: (2)1 前言 (3)2 需求分析 (3)2.1系统概述 (3)2.1.1概述 (3)2.2系统运行环境 (3)2.2.1运行环境 (3)2.3功能需求描述 (3)2.3.1功能需求 (3)3 总体设计 (4)3.1开发与设计的总体思想 (4)3.1.1屏幕的组成 (4)3.1.2形状的组成 (4)3.1.3形状的统一 (4)4 概要设计 (5)4.1系统流程图 (5)4.2 系统功能模块 (5)5 详细设计 (6)5.1.界面的设计 (6)5.2游戏中棋盘的形成 (6)5.3游戏下子功能代码 (8)5.4判断功能代码 (9)5.5设置项目中的功能代码 (11)5.6悔棋功能代码 (12)5.7回放功能代码 (13)6 测试分析 (15)7 心得体会 (15)参考文献 (15)致谢 (16)课程设计任务书一、课程设计题目:五子棋游戏二、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和C++调试技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
C语言课程设计说明书
苏州市职业大学课程设计说明书名称计算机语言C课程设计-通信录 . 2011 年 6月20 日至 2011年6 月26 日共1 周院系计算机工程系 .班级 XXXXXXXX .姓名 XXXXXX .学号 XXXXXXXXXX .系主任 .教研室主任 .指导教师 XXXXXX .目录目录 (2)一、课程设计的目的与要求 (3)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1.软件模块结构图 (5)3.2.系统流程图: (6)四、详细说明 (12)4.1 主界面 (12)4.2新建并输入通讯录 (13)4.3添加记录 (15)4.4按姓名查找通讯地址 (17)4.5删除一个人的记录 (19)4.6显示通讯录 (21)五、遇到的问题和解决方法 (23)六、课程设计总结 (24)七、参考文献 (25)附录(源程序代码) (26)一、课程设计的目的与要求利用《计算机语言C》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助掌握编程、调试的基本技能。
本人根据选题表确定的题目为:通讯录。
1课程设计步骤:(1)明确程序功能;(2)设计合理的程序结构;(3)编程简练,程序功能齐全,能正确运行,能解释代码;(4)说明书、流程图要清楚;(5)课题完成后必须按要求提交课程设计说明书,回答教师提问。
在课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。
认真编写课程设计报告。
课程设计一般由一位同学独立完成。
经向教师申请并认可,可以由2名左右同学合作完成一个课题。
全体成员应共同协作完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。
整个设计期间,组长负责协调工作。
各小组成员明确自己的任务后,应独立完成各自模块的设计、编码和调试,独立完成课程设计说明书。
C语言程序课程设计说明书.
C语言程序课程设计说明书一、设计任务与要求《C语言程序课程设计》是计算机科学与技术各专业本科生在完成《C语言程序设计》课程学习后进行的一门专业实践课程,是培养学生综合运用所学知识解决专业相关问题的重要环节,是对学生实际工作能力的具体训练和考察过程。
本次课程设计的题目均设想采用C语言来开发。
希望题目简单到学生可以独立完成,又可以达到锻炼学生编写复杂程序的课程设计目的。
最重要的是希望能避免抄袭,让学生真正锻炼自我。
要求每个学生必须参加,并完成如下各项课程设计任务:1. 要求每个学生认真阅读本C语言课程设计说明书,理解课程设计的目的和任务。
2. 要求学生通过自学理解和掌握本说明书附录2中给出的程序实例,读懂其中程序的设计功能,设计思想,设计结构,设计技巧,设计的不足等情况,提高阅读较大并且较为复杂程序源代码的能力,也可以通过实例理解本次课程设计要求的设计任务的规模和难度。
3. 要求每个学生根据自己的实际情况选择一个题目,实际动手完成这个题目,编写出程序代码,并调试通过。
4 每个同学选择一个题目,原则上不允许多名同学选择同一个题目。
多名同学选择同样题目时,独立完成,程序代码不可相同。
5. 要求每个学生完成课程设计后撰写《C语言程序课程设计报告》,可以按照任务书后面附带的课程设计报告模版的格式实际撰写。
6.要求每位学生必须在上机前做好充分准备,每次上机必须目的明确,必须事先编写好程序代码,然后在规定的时间和地点上机调试。
二、学生选题原则1 题目分四大类,根据学生自身情况选择其中一类题目,抽取其中一道题,作为课程设计选题,每个同学有两次选题机会,最终确定题目。
2 允许学生在给出可供选择题目之外自己选择题目,但要经指导教师同意。
三、课程设计实施过程1在课程设计开始时,公布此课程设计说明书。
2.教师根据需要安排合适的时间、地点进行答疑。
3.教师要认真检查学生完成的程序进展情况。
4 教师要指导学生撰写符合规范的《C程序课程设计报告书》。
C语言课程设计任务书(18份)详细版
C语言课程设计任务书详细版(18份)C语言课程设计任务书1题目:某学院教学信息管理系统功能:1、每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。
2、输入功能:可以一次完成若干条记录的输入。
3、显示功能:完成全部教师记录的显示。
4、查找功能:完成按姓名或课程查找教师的相关记录,并显示。
5、排序功能:按职工号或教学效果综合评分进行排序。
6、插入功能:按教学效果综合评分高低插入一条教师记录。
7、将教师记录存在文件中。
8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!要求:1、用C语言实现系统;2、利用结构体数组实现教学信息的数据结构设计;3、系统具有增加,查询,插入,排序等基本功能;4、系统的各个功能模块要求用函数的形式实现;5、将教学信息存在文件中。
课程设计的最后成果是实验报告一份,内容包括:1、预习报告(题目、流程图、程序的设计思想等);2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。
C语言课程设计任务书2题目:酒店房间登记与计费管理系统功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。
2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。
3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。
3、进一步要求:完成计费和费用查询功能。
要求:1、用C语言实现系统;2、函数功能要划分好(结构化程序设计);3、界面友好(良好的人机交互),加必要的注释;4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
c语言课程设计报告书3篇
c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
C语言课程设计说明书
C语言课程设计说明书班级档案管理系统指导教师:于晓敏设计者:胡彩云王海芳依婷婷邱赞飞专业班级:食安081班设计时间:2009.10.1~2009.10.5《C语言程序设计》课程设计任务书适用专业:食品安全设计题目:班级档案管理系统一、已知技术参数或设计前提1、班级有10个人。
2、每个学生都有学号、姓名、性别、年龄、备注。
3、学生基本信息录入、显示、保存、删除、修改(要求先输入密码)、查询。
二、设计内容及要求1、基本功能要求:1)、实现录入学生资料2)、实现修改学生基本信息3)、实现修改学生基本信息4)、实现查询学生基本信息(按学号、姓名,性别,年龄查询基本信息)5)、实现删除学生基本信息0)、退出档案系统2、要通过文件记录班级档案信息。
设计要求1、根据所选题目难易程度可以分组或独立完成,小组成员不得超过4人,不得跨班分组,各小组题目不准重复,每组要有一名组长,负责总体的设计及任务分配。
2、程序代码应不少于300行,应遵照C语言的命名规则、加入适当的注释。
3、所设计的程序必须能够满足实际使用要求,并能编译运行。
4、在规定时间内,到指定的实验室完成设计。
5、设计说明书内容包括:系统的软硬件环境、需求分析、系统总体框架图、模块功能实现、程序的使用说明、结束语、成员分工、程序源代码和参考文献等。
6、提交内容(每组一份):设计说明书打印稿一份(用A4幅面的纸打印,左侧装订并加塑料封皮),存有源程序及设计说明书的软盘或光盘一张。
三、课程设计工作计划1、确定题目,成立设计小组,做用户需求分析(0.5天)2、查阅资料,进行问题分析,制定方案,确定成员分工(1天)3、根据方案编写程序并进行调试(2.5天)4、撰写设计说明书,完成设计(1天)5、提交设计内容,答辩四、相关教材及参考书目1、C语言程序设计高等教育出版社2 谭浩强.C程序设计.清华大学出版社.2005年7月指导教师签字:系主任签字:年月日班级档案管理系统一、需求分析班级档案管理系统是一项繁琐的业务,用计算机实现自动化管理既可以减轻人员的劳动强度,又可以提高学校管理效率。
c课程设计产品说明书
c课程设计产品说明书一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生运用C语言进行程序设计的能力。
具体分解为以下三个层面:1.知识目标:学生需要掌握C语言的基本语法、数据结构(如数组、链表、树等)和常见算法(如排序、查找等)。
2.技能目标:学生能够运用C语言独立完成简单的程序设计任务,具备基本的编程能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,增强其自主学习和解决问题的能力。
在制定上述目标时,已充分考虑课程性质、学生特点和教学要求,以确保目标的具体性、可衡量性,方便学生和教师了解课程预期成果。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法:数据类型、运算符、表达式、语句等。
2.数据结构:数组、链表、栈、队列、树等。
3.算法:排序算法(冒泡、选择、插入等)、查找算法(线性、二分等)、常用算法分析。
4.程序设计原则:模块化、代码重用、调试与优化等。
5.实际编程案例:利用C语言解决实际问题,如计算器、文本编辑器等。
以上内容将按照教学大纲进行与安排,确保内容的科学性和系统性。
三、教学方法为实现教学目标,本课程将采用以下教学方法:1.讲授法:用于讲解基本概念、语法和算法。
2.讨论法:鼓励学生提问、分享心得,促进师生互动。
3.案例分析法:通过分析实际编程案例,使学生更好地理解理论知识。
4.实验法:安排上机实验,让学生动手实践,巩固所学知识。
多样化的教学方法有助于激发学生的学习兴趣和主动性。
四、教学资源为实现教学目标,本课程将充分利用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程、在线编程练习等。
4.实验设备:计算机、网络环境、编程调试工具等。
以上教学资源将支持教学内容和教学方法的实施,丰富学生的学习体验。
C语言课程设计说明书正文范本
目录摘要 (1)1 引言 (2)2 系统分析 (3)2.1功能需求 (4)2.2数据需求 (5)3 详细设计与实现 (6)3.1功能模块的设计与实现 (6)3.2 程序的详细设计过程 (8)4 系统测试 (18)4.1设计测试数据 (18)4.2 测试结果及分析 (18)总结 (28)致谢 (29)参考文献 (30)摘要在现代教学中,学生管理系统的设计非常重要,因为随着教育事业的逐步提升,受教育的学生日渐增多,也就使对其相关信息的管理变得相对复杂。
由于学生信息多样化,而且信息随时变化多,不得不要求我们找出一套既简单又方便完善管理系统来对学生进行管理。
而目前我们自学习过如何使C语言来进行编程,同时运用文件、结构体、指针,而要想完成一个比较复杂的编程,就必须使用各种函数才能发完成,,所以学习好C语言非常重要。
关键词:文件、结构体、指针、相关函数……1 引言以前的操作系统等系统软件主要是由汇编语言编写的(包括UNIX操作系统在内)。
由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。
为了提高可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如,对内存地址的操作、位操作等)。
人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。
于是,C语言就在这种情况下应运而生了。
1.1设计目的考察我们对结构体,指针,文件的操作,以及C语言算法的掌握。
从而让我们把书上学习到的东西与实际情况联系起来,让我们对用C语言进行编程有进一步的了解和深刻的认识。
1.2 设计要求要求使用C语言进行编程,并且尽可能学习其他语言来穿插在程序中,使程序进一步简单而使用、方便。
要求在程序中使用结构体,指针,文件等操作,并且能完整显示出其各种功能。
所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。
如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。
C语言课程设计说明书模版
C语言课程设计
--万年历说明书
学号:
班级:
姓名:
序言(标题楷体二号)正文(仿宋四号)
1. 经过上一个学期对《C程序设计》的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。
通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。
2 . 课程设计题目:万年历
要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。
指导老师:赵晓敏
程序说明(标题楷体二号)正文(仿宋四号)
一.功能说明:
1.程序的具体功能设计
本程序是一个万年历程序,可以输出公元年月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。
该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。
2.运行及相关操作(功能验证)
二.算法分析说明:(变量的含义、函数的功能、模块的设计、程序的结构)
1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。
然后判断输入的年是否为定义年,若是..........
2.月份的算法设计:
总结(标题楷体二号)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中北大学数据结构课程设计说明书一、设计目的假定民航机场共有n个航班,每个航班有一航班号,确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额,设计一民航订票系统,使之能提供下列服务:1:航班信息录入功能(航班信息用文件保存)2:航班信息浏览功能3:查询航班(至少一种查询方式):a:按航班号查询 b:按起点站查询 c:按终点站查询 d:按飞行时间查询提示:(1)需求分析:航班信息用文件保存;航班信息浏览功能需要提供显示操作;要查询航线需要提供查找功能,可提供按上述四种方式查询;另外要提供键盘式选择菜单以实现功能选择。
(2)建立航班结构体,结构体成员包括航班号、起始站、终点站、飞行时间(星期几)、预售票总数、已售票数。
2.设计内容和要求要求:假定民航机场共有n个航班,每个航班有一航班号,确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额,设计一民航订票系统,使之能提供下列服务:1:航班信息录入功能(航班信息用文件保存)2:航班信息浏览功能3:查询航班(至少一种查询方式):a:按航班号查询 b:按起点站查询 c:按终点站查询 d:按飞行时间查询3. 本设计所采用的数据结构根据题目要求和提示,首先是建立航班结构体,结构体名称为flight_type,由于航班的数目不止一个,所以要将变量名定义成数组,为flight[N],然后定义结构体成员: char flight_num[20]; /*航班号*/char start_add[20]; /*起始站*/char end_add[20]; /*终点站*/int week_day; /*飞行时间*/int All_amount; /*预售票数*/int Free_amount; /*已售票数*/下面是各个函数的数据结构:第一个是input函数。
由于要设置密码保护,所以定义一个字符数组并初始化, 内容由用户自己设定,作为密码;再预设一个长度为20个字符的字符数组,供用户录入密码。
经判断,密码正确程序才继续运行;否则提示用户继续还是退出。
定义三个整型变量,一个用来控制循环,,第二个的作用是当用户输入的星期超出范围时控制内嵌do—while循环让用户重新输入,第三个用来供用户输入选择继续运行程序还是退出。
第二个是save函数,首先定义一个整型变量控制循环,然后定义文件指针(FILE *fp),最后创建文件message保存录入的航班信息即可。
第三个是scan函数,定义两个整型变量,一个用来控制输出循环,第二个的作用是在完成此项功能后供用户选择接下来要做什么时输入。
由于要浏览文件message中的信息,所以要定义文件指针*fp。
最后是打开文件,把文件里包含的所有信息显示到屏幕上面。
下一个是search函数,由于用户要选择查询方式,所以要设计一个菜单供用户选择。
定义三个整型变量,第一个是供用户选择查询方式时输入,第二个是当用户输入的数字超出范围时控制一个do—while循环让用户重新输入,第三个的作用是在完成此项功能后供用户选择接下来要做什么时输入。
下面四个函数(flight_search函数(即按航班号查询函数)、start函数(即按起始站查询函数)、end函数(即按终点站查询函数)、time函数(即按飞行时间查询函数))的数据结构基本相同。
定义两个整型变量,一个用来控制输出循环,另一个的作用是完成此项功能后供用户选择接下来要做什么时输入。
还要定义两个数组,一个是长度为20的字符数组,供用户查询信息的时候输入航班号;另外一个数组的作用是在浏览航班信息时将其赋值。
如果信息库中有用户所需要的航班信息,则在读文件时,读到与用户所需要的信息不相符的时候就将此数组的那一个元素赋值为0。
如果是客户所需要的信息,则不赋值。
这样,读完信息以后,将此数组中所有元素的值相加,如果为0,则说明信息库中没有用户所需要的信息,就输出“对不起,无此航班!”。
所以还要多定义一个整型变量,以便将数组中元素的和赋给它。
所以共定义了三个整型变量。
另外还要定义文件指针*fp,然后打开文件,如果文件里面有用户需要的信息,则将其显示到屏幕上面;如果没有则显示无此信息,然后让用户选择接下来要做什么。
其中的time函数有两点不同,第一个就是当用户输入的星期超出范围时,要让用户重新输入,所以需要多定义一个整型变量,控制一个do—while循环让用户重新输入。
第二个就是time函数里面不需要定义数组,因为它的输入是星期几,所以只需要再多定义一个整型变量。
下面一个是menu函数,menu函数的作用就是为显示一个菜单供用户选择自己需要的功能,所以定义两个整型变量,一个是供用户输入选择功能,另一个是在用户输入的数字超出范围时控制一个do—while循环让用户重新输入。
最后一个是main函数。
这个函数比较简单,直接调用menu函数即可,所以不需要定义任何数据类型。
这就是整个程序的数据结构设计。
4.功能模块详细设计4.1 详细设计思想实际上,在上面设计算法和数据结构时模块设计就包括在里面了。
整个程序大体上分为以下几个模块。
第一个是信息录入模块。
此模块包含了两个函数,一个是input函数,供用户录入信息;第二个是save函数,用来保存用户录入的信息。
第二个是信息浏览模块。
此模块比较简单,只有一个scan函数。
第三个是信息查询模块。
此模块包含了五个函数:search函数、flight_search函数、start函数、end函数和time函数. search函数提供选择菜单供用户选择查询方式,后面四个函数分别提供了四种不同的信息查询方式。
第四个模块是设计菜单模块。
这个模块也只有一个函数,即menu函数。
第五个模块是程序中不可缺少的,即main函数。
这个模块最简单,是直接调用menu 函数。
4.2 核心代码#include"stdio.h"如有帮助,欢迎下载支持#include "string.h"#define N 4void save();void search();void input();void scan();void flight_search();void start();void end();void time();int menu();struct flight_type /*建立航班结构体*/ {char flight_num[20]; /*航班号*/char start_add[20]; /*起始站*/char end_add[20]; /*终点站*/int week_day; /*飞行时间*/int All_amount; /*预售票数*/int Free_amount; /*已售票数*/}flight[N];void input() /*录入航班信息函数*/{int a,j,w;char b[10];char u[10]={"liuyf"};printf("请输入密码:");scanf("%s",b);if(strcmp(b,u)==0){for(j=0;j<N;j++){printf("请输入航班号:");scanf("%s",flight[j].flight_num);printf("请输入起始站(如:beijing):");scanf("%s",flight[j].start_add);printf("请输入终点站(如:wuhan):");scanf("%s",flight[j].end_add);printf("请输入飞行时间(1~~7):");do{scanf("%d",&flight[j].week_day);if(flight[j].week_day<1||flight[j].week_day>7){w=1;p rintf("\n对不起!您输入的飞行时间超出范围,请重新输入!\n\n"); p rintf("注意范围(1~~7之间):");}else w=0;}while(w == 1);printf("请输入预售票数:");scanf("%d",&flight[j].All_amount);printf("请输入已售票数:");scanf("%d",&flight[j].Free_amount);save(); /*调用保存航班信息函数*/ printf("\n\n信息已录入并保存!\n\n\n现在您想做什么?\n1:退出\n2:返回主菜单\n");printf("\n请输入:");scanf("%d",&a);if(a==1)exit(0);else menu(); /*调用选择菜单函数*/ }else printf("\n对不起,您无权使用此功能!\n\n\n");printf("现在您想做什么?\n\n1:退出\n\n2:返回主菜单\n\n");printf("请输入:");scanf("%d",&a);if(a==1){printf("\n谢谢使用!\n");exit(0);}else menu(); /*调用选择菜单函数*/ }void save() /*保存航班信息函数*/{FILE *fp;int i;if((fp=fopen("message","wb"))==NULL){printf("无法打开文件!\n");return;for(i=0;i<N;i++)if(fwrite(&flight[i],sizeof(struct flight_type),1,fp)!=1)printf("文件打开出错!\n");fclose(fp);}void scan() /*浏览航班信息函数*/ {int a,c;FILE *fp;if((fp=fopen("message","rb"))==NULL){printf("无法打开文件!\n");menu();}printf("\n航班号起始站终点站飞行时间预售票数已售票数\n\n");for(c=0;c<N;c++){fread(&flight[c],sizeof(struct flight_type),1,fp);printf("\n");printf("%-5s %-8s %-8s %-d %-3d %-3d\n\n",flight[c].fli ght_num,flight[c].start_add,flight[c].end_add,flight[c].week_day,flight[c].All_ amount,flight[c].Free_amount); 注意:原程序中此处是一行}fclose(fp);printf("\n\n信息库中所有航班信息已输出!\n\n\n现在您想做什么?\n\n 1:退出\n\n 2:返回主菜单\n\n");printf("\n请输入:");scanf("%d",&a);if(a==1){printf("\n谢谢使用!\n");exit(0);}else menu();}void search() /*查询航班信息函数*/ {int d,w;printf(" *****************************查询方式****************************** \n");注意:原程序中此处是一行 printf(" 1:按航班号查询\n");printf(" 2:按起始站查询\n");printf(" 3:按终点站查询\n");printf(" 4:按飞行时间查询\n\n");printf("******************************************************************* \n");注意:原程序中此处是一行printf("\n请选择(1~~4):");do{scanf("%d",&d);if(d<1||d>4){w=1;printf("\n对不起!您的输入超出范围,请重新输入!\n");p rintf("\n注意范围(1~~4):");}else w=0;}while(w == 1);switch(d){case 1:flight_search();break; /*调用按航班号查询函数*/case 2:start(); break; /*调用按起始站查询函数*/case 3:end(); break; /*调用按终点站查询函数*/case 4:time();break; /*调用按飞行时间查询函数*/ }}void flight_search() /*按航班号查询航班信息函数*/ {FILE *fp;int a,f,A[N],m=0;char e[20];printf("请输入您要查询的航班号(如CA1826):");scanf("%s",e);if((fp=fopen("message","rb"))==NULL){printf("无法打开文件!\n");menu();}for(f=0;f<N;f++){fread(&flight[f],sizeof(struct flight_type),1,fp);if(strcmp(flight[f].flight_num,e)!=0)A[f]=0;else A[f]=1;}for(f=0;f<N;f++)m+=A[f];if(m==0)printf("\n\n对不起!无此航班!\n");else{printf("\n航班号起始站终点站飞行时间预售票数已售票数\n\n");for(f=0;f<N;f++){fread(&flight[f],sizeof(struct flight_type),1,fp);if(strcmp(flight[f].flight_num,e)==0)printf("%-5s %-8s %-8s %-d %-3d %-3d\n\n",flight[f].fli ght_num,flight[f].start_add,flight[f].end_add,flight[f].week_day,flight[f].All_ amount,flight[f].Free_amount); 注意:原程序中此处是一行}}fclose(fp);printf("\n\n现在您想做什么?\n\n 1:退出\n\n 2:返回查询菜单\n\n 3:返回主菜单\n\n");printf("请输入:");scanf("%d",&a);if(a==1){printf("\n谢谢使用!\n");exit(0);}if(a==2)search();else menu();}void start() /*按起点站查询航班信息函数*/ {int a,h,B[N],x=0;char g[8];FILE *fp;printf("请输入起始城市(城市的全拼):");scanf("%s",g);if((fp=fopen("message","rb"))==NULL){printf("无法打开文件!\n");menu();}for(h=0;h<N;h++){fread(&flight[h],sizeof(struct flight_type),1,fp);if(strcmp(flight[h].start_add,g)!=0)B[h]=0;else B[h]=1;}for(h=0;h<N;h++)x+=B[h];if(x==0)printf("\n\n对不起!无此航班!\n");else{printf("\n航班号起始站终点站飞行时间预售票数已售票数\n\n");for(h=0;h<N;h++){fread(&flight[h],sizeof(struct flight_type),1,fp);if(strcmp(flight[h].start_add,g)==0)printf("%-5s %-8s %-8s %-d %-3d %-3d\n\n",flight[h].fli ght_num,flight[h].start_add,flight[h].end_add,flight[h].week_day,flight[h].All_ amount,flight[h].Free_amount); 注意:原程序中此处是一行}}fclose(fp);printf("\n\n现在您想做什么?\n\n 1:退出\n\n 2:返回查询菜单\n\n 3:返回主菜单\n\n");printf("请输入:");scanf("%d",&a);if(a==1){printf("\n谢谢使用!\n");exit(0);}if(a==2)search();else menu();}void end() /*按终点站查询航班信息函数*/ {int a,n,C[N],y=0;char m[8];FILE *fp;printf("请输入终点城市(城市的全拼):");scanf("%s",m);if((fp=fopen("message","rb"))==NULL){printf("无法打开文件!\n");menu();}for(n=0;n<N;n++){fread(&flight[n],sizeof(struct flight_type),1,fp);if(strcmp(flight[n].end_add,m)!=0)C[n]=0;else C[n]=1;}for(n=0;n<N;n++)y+=C[n];if(y==0)printf("\n\n对不起!无此航班!\n");else{printf("\n航班号起始站终点站飞行时间预售票数已售票数\n\n");for(n=0;n<N;n++){fread(&flight[n],sizeof(struct flight_type),1,fp);if(strcmp(flight[n].end_add,m)==0)printf("%-5s %-8s %-8s %-d %-3d %-3d\n\n",flight[n].fli ght_num,flight[n].start_add,flight[n].end_add,flight[n].week_day,flight[n].All_ amount,flight[n].Free_amount); 注意:原程序中此处是一行}}fclose(fp);printf("\n\n现在您想做什么?\n\n 1:退出\n\n 2:返回查询菜单\n\n 3:返回主菜单\n\n");printf("请输入:");scanf("%d",&a);if(a==1){printf("\n谢谢使用!\n");exit(0);}if(a==2)search();else menu();}void time() /*按飞行时间查询航班信息函数*/ {int s,t,w,a,D[N],z=0;FILE *fp;printf("请输入日期(星期几)(1~~7之间)!\n");printf("星期");do{scanf("%d",&s);if(s<1||s>7){w=1;printf("\n对不起!您输入的飞行时间超出范围,请重新输入!\n");printf("\n注意范围(1~~7之间):");}else w=0;}while(w==1);if((fp=fopen("message","rb"))==NULL){printf("无法打开文件!\n");menu();}for(t=0;t<N;t++){fread(&flight[t],sizeof(struct flight_type),1,fp);if(s!=flight[t].week_day)D[t]=0;else D[t]=1;}for(t=0;t<N;t++)z+=D[t];if(z==0)printf("\n\n对不起!无此航班!\n");else{printf("\n航班号起始站终点站飞行时间预售票数已售票数\n\n");for(t=0;t<N;t++){fread(&flight[t],sizeof(struct flight_type),1,fp);if(s==flight[t].week_day)printf("%-5s %-8s %-8s %-d %-3d %-3d\n\n",flight[t].fli ght_num,flight[t].start_add,flight[t].end_add,flight[t].week_day,flight[t].All_ amount,flight[t].Free_amount); 注意:原程序中此处是一行}}fclose(fp);printf("\n\n现在您想做什么?\n\n 1:退出\n\n 2:返回查询菜单\n\n 3:返回主菜单\n\n");printf("请输入:");scanf("%d",&a);if(a==1){printf("\n谢谢使用!\n");exit(0);}if(a==2)search();else menu();}int menu() /*键盘式选择菜单*/{int k,w;do{printf("\n\n");printf("*******************************MENU******************************** \n"); 注意:原程序中此处是一行!printf(" 1.录入航班信息!\n");printf(" 2.浏览航班信息!\n");printf(" 3.查询航班信息!\n");printf(" 4.退出!\n\n");printf("******************************************************************* \n");注意:原程序中此处是一行printf("请选择(1~4):");scanf("%d", &k);if(k<1||k>4){w=1;printf("\n对不起!您的输入超出范围,请重新输入!\n");p rintf("\n注意范围(1~~4):");}else w=0;}while(w==1);switch(k){c ase 1:input();break; /*调用录入函数*/c ase 2:scan(); break; /*调用浏览函数*/c ase 3:search(); break; /*调用查询函数*/c ase 4:exit(0); /*退出*/}return 0;}main() /*主函数*/{menu(); /*调用选择菜单函数*/}六:结果分析设计时我预先设定只录入四个航班信息。