C语言课程设计报告6

合集下载

c语言课程设计报告详细版

c语言课程设计报告详细版

c语言课程设计报告详细版一、课程目标知识目标:1. 掌握C语言的基本语法和结构,包括变量声明、数据类型、运算符、表达式和语句。

2. 理解并能运用控制结构,如顺序、选择和循环结构进行程序设计。

3. 学会使用数组、函数和指针进行程序开发,并能理解它们在解决复杂问题中的应用。

4. 熟悉基本的输入输出操作,文件操作以及简单的错误处理机制。

技能目标:1. 能够编写简单的C程序,解决实际问题,展现出逻辑思考和问题解决的能力。

2. 能够阅读和分析C程序代码,理解程序的结构和执行过程。

3. 能够使用调试工具检查和修正程序中的错误,提高程序的稳定性和可靠性。

4. 能够通过小组合作,完成一个综合性的项目,培养团队协作和项目管理的初步技能。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究计算机科学的热情,形成主动学习和终身学习的习惯。

2. 培养学生的创新思维和批判性思维,鼓励尝试不同的解决方案,勇于面对编程中的挑战。

3. 增强学生的信息意识和责任感,理解程序在现实生活中的应用和影响,认识到编程对社会发展的贡献。

4. 通过项目实践,培养学生的集体荣誉感,加强沟通能力,形成良好的团队合作精神。

课程性质分析:本课程为高年级的C语言程序设计,旨在通过项目驱动的教学方法,使学生在实践中掌握C语言的编程技能,并能够在日常生活和学习中应用。

学生特点分析:学生具备一定的逻辑思维能力,对计算机编程有一定兴趣,但个体差异较大,需要针对不同层次的学生设计不同难度和类型的教学活动。

教学要求:1. 结合实际案例进行教学,强调理论知识与实践操作的结合。

2. 注重培养学生的实际编程能力和问题解决能力,鼓励学生自主探索和协作学习。

3. 通过形成性评价和总结性评价相结合的方式,全面评估学生的学习成果。

二、教学内容1. C语言基础- 变量与数据类型- 运算符与表达式- 输入输出函数- 顺序结构程序设计2. 控制结构- 选择结构(if-else)- 循环结构(for、while、do-while)3. 函数与数组- 函数定义与调用- 数组的使用- 二维数组4. 指针与字符串- 指针的概念与使用- 指针与数组- 字符串处理函数5. 文件操作与错误处理- 文件的打开与关闭- 文件的读写操作- 简单错误处理6. 综合项目实践- 项目需求分析- 功能模块划分- 编程实现与调试- 项目展示与评价教学内容安排与进度:第一周:C语言基础第二周:控制结构第三周:函数与数组第四周:指针与字符串第五周:文件操作与错误处理第六周至第八周:综合项目实践教材章节关联:《C程序设计》第一章至第五章,涵盖课程教学内容中的所有知识点,为综合项目实践打下基础。

c语言课程设计设计报告

c语言课程设计设计报告

c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

(]1.2 实验要求在报告中记录建立、保存C程序实习过程。

1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。

第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。

()(2)通过编程进一步理解和掌握运算符的确切含义和功能。

2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。

(2)完成典型题目,分析遇到的困难和实验中的收获。

2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。

C语言课程设计报告—范例

C语言课程设计报告—范例

XX学院C语言课程设计报告课程名称: C语言课程设计课程编号:报告题目:学生姓名: 学号:专业成绩: 任课教师:评阅日期:C语言课程设计报告一、 C语言课程设计的目的C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。

具体来说:1.进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程设计开发文档的能力(书写课程设计报告);二、课程设计报告正文(1)课程设计题目的原文;假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。

试设计一民航订票系统,使之能提供下列服务:航班信息录入功能(文件保存)完成航班信息浏览功能;查询航线(至少一种查询方式)。

(2)题目的分析(需求分析);任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中)浏览:航班信息浏览功能需要提供显示操作;查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。

(3)整体设计与模块划分;根据需求分析,该程序可分为以下四大模块:(4)代码设计;包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等;A.主函数(1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。

c语言课程设计报告

c语言课程设计报告

c语言课程设计报告一、课程目标知识目标:1. 让学生掌握C语言的基本语法,包括变量声明、数据类型、运算符、控制结构等;2. 培养学生运用C语言进行程序设计的能力,学会编写简单的程序解决实际问题;3. 使学生了解C语言中的数组、函数和指针等高级概念,并能够灵活运用。

技能目标:1. 培养学生熟练使用C语言编程环境,如Turbo C或Visual Studio等;2. 提高学生的编程技巧,使其能够编写具有逻辑性和可读性的代码;3. 培养学生独立分析问题、设计程序解决问题的能力。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动探索、自主学习的精神;2. 培养学生严谨、细心的学习态度,使其认识到编程过程中细节的重要性;3. 强调团队协作和交流分享,提高学生的沟通能力和团队意识。

分析课程性质、学生特点和教学要求:1. 课程性质:C语言课程属于信息技术学科,具有实践性和应用性强的特点;2. 学生特点:学生为初中生,具有一定的逻辑思维能力和计算机操作基础,但编程经验不足;3. 教学要求:结合学生特点,注重理论与实践相结合,以实例教学为主,引导学生动手实践。

1. 熟练运用C语言编写简单的程序;2. 掌握C语言的基本语法和编程技巧;3. 提高编程兴趣,形成自主学习、团队协作的良好习惯。

二、教学内容1. C语言基础知识:- 变量与常量的概念及其声明- 数据类型:整型、浮点型、字符型- 运算符:算术、关系、逻辑、赋值运算符- 控制结构:顺序结构、选择结构、循环结构2. 函数与数组:- 函数的定义、声明和调用- 数组的定义、初始化和使用- 一维数组、二维数组的操作3. 指针与字符串:- 指针的概念、声明与使用- 指针与数组的关系- 字符串的基本操作4. 编程技巧与实践:- 编程规范与命名规则- 代码调试与优化- 简单算法的实现(如排序、查找)5. 综合案例分析与编程实践:- 结合实际案例,运用所学知识进行程序设计- 针对不同案例,分析问题、设计算法、编写程序- 案例包括:计算器、成绩管理系统、小游戏等教学内容安排与进度:1. C语言基础知识(2周)2. 函数与数组(2周)3. 指针与字符串(2周)4. 编程技巧与实践(1周)5. 综合案例分析与编程实践(3周)教材章节关联:1. C语言基础知识:教材第1-3章2. 函数与数组:教材第4-5章3. 指针与字符串:教材第6章4. 编程技巧与实践:教材第7章5. 综合案例分析与编程实践:教材第8章及课后习题、拓展案例三、教学方法1. 讲授法:- 对于C语言的基本语法、概念和理论,采用讲授法进行教学,确保学生能够系统地掌握知识;- 讲授过程中注重条理清晰、深入浅出,结合实际案例,提高学生的理解和记忆;- 定期进行知识巩固,通过讲解经典例题,帮助学生深化理解。

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。

二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。

同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。

五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。

总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

2、查询模块:可用stu *lookdata(stu *p1)来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。

3、插入模块:可用insert( )函数来实现。

其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。

主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。

c语言课程设计报告范例

c语言课程设计报告范例

c语言课程设计报告范例一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程思想,培养学生编写简单程序的能力。

具体分为以下三个部分:1.知识目标:使学生了解C语言的发展历程、基本语法、数据类型、运算符、控制结构等基础知识。

2.技能目标:培养学生使用C语言进行编程的能力,使学生能够编写简单的输入输出程序、控制流程程序和函数程序。

3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高学生分析问题和解决问题的能力,培养学生团队合作的精神。

二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言的发展历程和特点:介绍C语言的起源、发展过程以及其在计算机编程领域的地位和作用。

2.基本语法和数据类型:讲解C语言的基本语法规则、数据类型、变量、常量等。

3.运算符和控制结构:介绍C语言的运算符分类、用法以及条件语句和循环语句的实现。

4.函数的定义和调用:讲解函数的定义、声明、调用以及函数的参数传递和返回值。

5.简单的输入输出程序:演示如何使用C语言进行输入输出操作,如打印输出、输入控制等。

三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构等知识点。

2.案例分析法:通过分析典型程序案例,使学生理解程序设计的基本思路和方法。

3.实验法:让学生动手编写程序,巩固所学知识,提高编程能力。

4.讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。

四、教学资源为了支持教学内容的实施,本节课将准备以下教学资源:1.教材:选用权威、实用的C语言教材,如《C程序设计语言》等。

2.参考书:提供相关的C语言参考书籍,以便学生课后自主学习。

3.多媒体资料:制作精美的PPT课件,直观展示C语言的语法和编程思想。

4.实验设备:准备计算机实验室,让学生进行编程实践。

五、教学评估为了全面、客观地评估学生的学习成果,本节课采用以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和兴趣。

c语言课程设计总结8篇

c语言课程设计总结8篇

c语言课程设计总结8篇c语言课程设计总结(一):经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。

透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

c语言课程设计总结(二):经过一个学期的学习,我对C语言有了必须的了解。

C 语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。

在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。

但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。

课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。

在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。

只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。

另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。

同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。

课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。

C语言课程设计实验报告

C语言课程设计实验报告

扬州大学信息工程学院课程设计报告课程名称《C语言程序设计》设计题目学生成绩管理系统1 学生姓名班级学号指导老师目录一、课题内容和要求 (3)二、总体设计 (4)三、详细设计 (5)数据结构设计 (5)系统各功能模块设计 (6)四、系统调试与测试 (7)程序在调试过程中遇到的主要问题及采取的解决措施 (7)系统的测试数据及运行结果 (7)五、用户手册 (8)六、课程设计小结 (8)七、参考文献 (8)八、附录 (9)一、课题内容和要求设计和实现一个“学生成绩管理系统”,满足以下要求:1.系统以菜单方式工作;2.使用链表或结构数组对学生成绩进行管理和维护;3.使用二进制文件在磁盘上保存学生记录信息;4.链表中各结点或结构数组中各元素包括“学号、姓名、语文、数学、外语、平均分”基本字段;5.实现如下基本功能:(1)查看所有学生信息(2)查找学生(查找指定学号的学生,显示该学生的学号、姓名、所有课程成绩)(3)删除学生(删除指定学号的学生)(4)排序(按学号由小到大排序)(5)添加学生记录(新增学生记录,将其添加到链表或结构数组中)(6)插入学生记录(在链表或结构数组已按学号有序的提下,将学生记录插其中合适的位置)(7)计算平均分(计算每位学生每门课程的平均分)(8)将学生记录保存到文件(将链表或结构数组中的数据以文件的形式存盘)(9)从文件中读出学生记录(将已经存盘的文件读入内存,进行管理)6.创新部分(1)将数据保存为*.csv文件,可用Excel等软件直接打开,方便数据的管理二、总体设计三、详细设计数据结构设计:系统各功能模块设计:个人设计部分创建空表函数所调用的listCreatList函数:该函数创建一个带头尾结点的链表,并返回链表的头指针;排序函数所调用的listSort函数:该函数接受一个链表头指针,并参照elementcmp函数所指定的标准进行排序操作.执行正常则返回值0;打印函数所调用的listWalk函数:该函数接受一个链表头指针和一个walk方法函数,将链表遍历并用指定的函数进行操作(如输出到屏幕),执行正常则返回值0;插入函数所调用的listInsert函数:该函数接受一个链表头指针和一个学生结构体,随后在链表头部创建新节点,并在其数据域中赋值.执行正常则返回值0;按序插入函数所调用的listInsertInRange函数:该函数接受一个链表头指针和一个学生结构体,先按序找到指定位置,在其后创建新节点,并在其数据域中赋值.执行正常则返回值0;删除函数所调用的listDel函数:该函数接受一个链表头指针和一个整型变量x,先按x找到删除的前一位置,随后进行删除操作.执行正常则返回值0;查找函数所调用的listFind函数:该函数接受一个链表头指针和一个整型变量x,按x返回所在元素的指针.四、系统调试与测试1.程序在调试过程中遇到的主要问题(1)变量名称不恰当,指针使用不灵活(2)采取的解决措施:查阅参考书2.系统的测试数据及运行结果>lNo Name Chinese Math English average10 uu 78.00 89.00 68.00 78.33>wPlease enter the file name:yyyList has been saved as yyy.csv.>rPlease enter the file name:yyyLoading completed.>lNo Name Chinese Math English average10 uu 78.00 89.00 68.00 78.33>dPlease enter the No to delete one student:10The data of No.10 student has been deleted.>lNo Name Chinese Math English averageEmpty!五、用户手册C 创建一个新的列表;W 保存当前数据为一个表格文件;R 读取表格文件到当前列表;L 列出所有学生数据;D 通过学号删除某个学生的数据;I 插入某个学生的数据;I(大写) 按顺序插入某个学生的数据;S 按学号排序;H 给予帮助;E 退出程序.六、课程设计小结由于是第一次参与编写实验课程设计,我学会了团队合作,很多东西还是不懂,所以要反复翻阅课本,查阅资料,及时与小组成员进行沟通交流,单凭个人的力量很难完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言小组作业设计报告航班管理系统小组参与人员:专业班级:项目负责人:一、小组参与人员[姓名:][学号:][专业班级:计算机][分工:项目负责人,构思计划,编写框架,算法优化][姓名:][学号:][专业班级:计算机][分工:编写函数,文件处理,调试,]二、内容:1)概述:我们做了一个关于机场航班信息管理系统的程序。

功能有以下几点:1.航班信息的录入存储2.航班信息的查询(通过查询航班号获取此次航班全部信息)3.航班信息的及时更新修正4.航班信息的安全保护(有密码设置)2)程序总体结构:通过结构体数组以及打印、保存、从文件读取信息、打印、查询、读取、删除、订票、退票、修改模块程序实现系统功能首页我们考虑到了美化要求(此部分程序为简单输出,第一次运行成功)八个选项,首先进入第一个:输入航班信息避免篡改航班信息,采取了密码进入形式,保护用户安全。

下面是航班信息的录入过程:(此部分程序为简单输入、输出,第一次运行成功)将信息都录入结束后系统会自动将全部信息打在界面上:遗憾的是信息和题头不对齐的问题仍没有解决。

第二项菜单浏览航班信息:(此部分程序为简单输出,第一次运行成功)第三项菜单修改航班信息,依然有密码保护:第四项,查找航班信息,分为三个具体的类:航班号,终点站,航线查找:(此部分程序为简单输入、输出和分支选择结构采用switch语句第二次运行成功,第一次格式错误)第五项是删除不必要或已过时的信息,同样分成三小类(此部分程序仍需密码验证保证安全性,并采用switch语句调用read函数和循环语句删除,第三次运行成功)第六项是订票,用户可自主订票,同时这项包含第四项查找信息:(此部分程序采用strcmp函数查询航班并打印信息,第四次运行成功,前三次忘记将no赋值为0导致运行错误)最后一项退票,类似订票:3)程序详细设计:①:算法的主要思想是在主函数中通过switch调用各部分功能函数②:在文件读取信息与保存模块程序中应用指针打开文件并判断是否出错③:其他模块中均应用简单语句与函数进行功能实现4)总结:这个程序的优点是整体概况较为清晰直观,有信息保护作用,而且存储或更改信息时快捷简便易操作,查询信息方便。

我们的收获是学会了编程序和做事情一样要有始有终,要在程序中注意很多细节,比如程序的美观性,提示引导的直观性,信息的安全性等等。

三、程序代码清单#include<stdio.h>//标准输入、输出头文件#include<string.h>//包含字符串函数处理头文件#include<stdlib.h>//包含动态存储与释放函数头文件#define N10000struct air//定义结构体数组{int num;char start[20];char over[20];char time[10];int count;}s[N];int i;int m=0;#define PRINT"%-d%12s%12s%10s%12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //定义输出格式void input();//输入航班信息void print();//输出航班信息void save();//保存航班信息void read();//读取航班信息void search();//查找航班信息void shanchu();//删除航班信息void dingpiao();//订票信息void tuipiao();//退票信息void xiugai();//修改信息void main(){int j;printf("★---亲,欢迎进入L航班查询系统!---★\n");printf("=========================================================================== =====\n");do{printf("--------☆ 1.输入航班信息☆--------\n\n""--------☆ 2.浏览航班信息☆--------\n\n""--------☆ 3.修改航班信息☆--------\n\n""--------☆ 4.查找航班信息☆--------\n\n""--------☆ 5.删除航班信息☆--------\n\n""--------☆ 6.订票信息☆--------\n\n""--------☆7.退票信息☆--------\n\n""--------☆0.退出☆--------\n\n");printf("=========================================================================== =====\n");printf("请在0-7中选择以回车键结束:\n\n");scanf("%d",&j);switch(j){case1:input();//调用输入模块break;case2:print();//调用打印模块break;case3:xiugai();//调用修改模块break;case4:search();//调用查找模块break;case5:shanchu();//调用删除模块break;case6:dingpiao();//调用订票模块break;case7:tuipiao();//调用退票模块break;case0:;break;}}while(j!=0);//判断结束printf("亲~谢谢使用,再见!\n");}//主函数结束void input()//打印模块程序{char f[]="2008china";//设置密码int y;printf("亲~请输入密码并以回车键结束:\n\n");scanf("%s",f);//读取密码if(strcmp(f,"2008china")==0){printf("请依次输入航班信息(机票数位0结束输入):\n\n""完成输入信息请输入w以回车键结束\n\n");//打印提示信息printf("--------------------------------------------------------------------------\ n");for(i=0;i<N;i++){printf("请输入航班号:\n");scanf("%d",&s[i].num);//读取航班号printf("请输入起始站:\n");scanf("%s",s[i].start);//读取起始站printf("请输入终点站:\n");scanf("%s",s[i].over);//读取终点站printf("请输入时间:\n");scanf("%s",s[i].time);//读取时间printf("请输入机票数(机票数为0结束输入):\n",m);scanf("%d",&s[i].count);//读取机票数m++;printf("第%d个信息已经输完,请问您是否要继续?按任意键继续,输入0结束",m);scanf("%d",&y);if(y==0){save();//将结构体信息存盘print();//输出输入的航班信息break;}}}elseprintf("OMG!输入密码错误!您。

是谁?!请检查您的密码是否正确!谢谢!再见!\n\n"); }void save()//保存模块程序{FILE*fp,*fp1;//定义文件指针if((fp=fopen("chen.dat","wb"))==NULL)//打开文件并判断是否出错{printf("创建文件失败!\n\n");//打印出错提示getchar();return;}if((fp1=fopen("hao.dat","wb"))==NULL)//打开文件并判断是否出错{printf("创建文件失败!\n\n");//打印出错提示getchar();return;}for(i=0;i<m;i++)if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件写入数据,并判断是否出错printf("向文件输入数据失败!\n\n");fprintf(fp1,"%d",m);fclose(fp);//关闭文件fclose(fp1);//关闭文件}void read()//从文件读取信息模块{FILE*fp,*fp1;//定义文件指针if((fp=fopen("chen.dat","rb"))==NULL)//打开文件,并判断是否出错{printf("出错,请检查文件是否存在,按任意键返回主菜单");//打印出错提示getchar();}if((fp1=fopen("hao.dat","rb"))==NULL)//打开文件并判断是否出错{printf("创建文件失败!\n\n");//打印出错提示getchar();return;}fscanf(fp1,"%d",&m);fclose(fp1);//关闭文件for(i=0;i<m;i++){int air;fread(&s[i],sizeof(air),1,fp);//从文件中读取信息}fclose(fp);//关闭文件}void print()//打印模块{char w[10];read();//调用读取文件函数printf("航班号起始站终点站时间机票数\n");for(i=0;i<m;i++){printf(PRINT);//打印信息}printf("请按任意键回车键结束返回上层菜单以:\n");scanf("%s",w);}void search()//查询模块{char name1[20];char name2[20];char ii[10];int n,no;do{printf("请选择查找方式:\n\n");//打印查询方式菜单printf("1.按航班号查找\n\n""2.按终点站查找\n\n""3.按航线查找\n\n""0.返回\n\n");printf("请在0-3中选择:\n\n""按其他键以回车键结束返回主菜单:\n\n");scanf("%d",&n);//读取查找方式if(n==0)break;switch(n){case1:printf("请输入航班号:\n");scanf("%d",&no);//航班号break;case2:printf("请输入终点站名称:\n");scanf("%s",name2);//读取终点站break;case3:printf("请输入起始站名称:\n");scanf("%s",name1);//读取起始站printf("请输入终点站名称:\n");scanf("%s",name2);//终点站break;}read();//调用读取函数for(i=0;i<m;i++){if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)//按终点站起始站判断输出条件{printf("\n恭喜,查找航班信息成功啦!\n");printf("航班号起始站终点站时间机票数\n");printf(PRINT);//打印信息break;}if(s[i].num==no)//按航班号判断输出条件{printf("\n恭喜,查找航班信息成功啦!\n");printf("航班号起始站终点站时间机票数\n");printf(PRINT);//打印信息break;}}no=0;//将航班号赋值为0printf("没有您需要的信息或查找完毕:\n\n""是否继续查找?请键入yes或no以回车键结束\n");scanf("%s",ii);}while(strcmp(ii,"yes")==0);//判断结束}void shanchu()//删除模块{char name1[20];char name2[20];char ii[10];char f[]="2008china";//设置密码int no,n;printf("请输入密码并以回车键结束:\n\n");scanf("%s",f);//读取密码if(strcmp(f,"2008china")==0)//判断密码是否正确{do{printf("请选择删除以方式回车键结束:\n\n");//打印删除方式菜单printf("*1.按航班号删除\n\n""*2.按航线删除\n\n""*0.返回\n\n");printf("请在0-2中选择以回车键结束:\n");scanf("%d",&n);//读取删除方式if(n==0)break;//跳出循环switch(n){case1:printf("请输入航班号:\n");scanf("%d",&no);//读取航班号read();//调用读取函数break;//跳出循环case2:printf("请输入起始站名称:\n");scanf("%s",name1);//读取起始站printf("请输入终点站名称:\n");scanf("%s",name2);//读取终点站read();//调用读取函数break;//跳出循环}for(i=0;i<m;i++){if(s[i].num==no||strcmp(s[i].start,name1)==0&&strcmp(s[i].over, name2)==0)//判断输入信息是否存在{s[i]=s[m-1];m--;}}printf("查找完毕或没有这个信息\n\n");printf("是否继续删除\n");printf("请键入yes或no以回车键结束\n");scanf("%s",ii);//读取是否继续信息save();//调用读取函数if(!strcmp(ii,"yes"))//判断是否继续删除printf("请按任意键以回车键结束返回上层菜单:\n");break;}while(n!=1&&n!=2&&n!=3&&n!=4&&n!=0);//判断结束}elseprintf("对不起密码错误!您不是管理员哟,不能使用此项功能!谢谢!再见!\n\n");}void dingpiao()//订票模块{int n;char a[10];do{search();//调用查询模块printf("请输入您要订的机票数以回车键结束:\n");scanf("%d",&n);//读取所订机票数if(n<0){printf("请输入有效的机票数!\n");//判断机票数是否出错break;}if(s[i].count!=0&&s[i].count>=n)//判断是否出错{s[i].count=s[i].count-n;save();//调用保存函数printf("订票成功!\n\n");break;}if(s[i].count<n)//判断是否出错{printf("请输入有效的机票数:\n");break;}printf("是否继续?请输入yes或no以回车键结束:\n");//判断是否继续订票scanf("%s",a);}while(!strcmp(a,"yes"));//判断结束}void tuipiao()//退票模块{int n;char a[10];do{search();//调用查询模块printf("请输入您要退的机票数目:\n");scanf("%d",&n);//输入所退票数if(n<0)//判断票数是否有效printf("请输入有效的机票数!\n");s[i].count=s[i].count+n;save();//调用保存模块printf("退票成功!\n\n");printf("是否继续?请键入yes或no以回车键结束:\n\n");//判断是否继续退票scanf("%s",a);}while(!strcmp(a,"yes"));//判断并跳出循环getchar();}void xiugai()//修改模块{struct xiu//定义结构体{int no;char name1[20];char name2[20];char time[20];int count;}x[1];char j[10];char f[]="2008china";//设置密码int n;printf("请输入密码并以回车键结束:\n\n");scanf("%s",f);//读取密码if(strcmp(f,"2008china")==0)//判断是否出错{read();//调用读取模块do{printf("请选择修改方式:\n\n""*1,按航班号修改:\n\n""*2,按航线修改:\n\n");printf("请在1---2中修改以回车键结束:\n\n");scanf("%d",&n);//读取修改方式switch(n){case1:printf("请输入航班号:\n");scanf("%d",&x[0].no);//读取航班号break;case2:printf("请输入起始站:\n");scanf("%s",x[0].name1);//读取起始站printf("请输入终点站:\n");scanf("%s",x[0].name2);//读取终点站break;}for(i=0;i<m;i++){if(strcmp(s[i].over,x[0].name1)==0&&strcmp(s[i].over,x[0].name2) ==0)//判断输出条件{printf("航班号起始站终点站时间机票数\n");printf(PRINT);break;}if(s[i].num==x[0].no)//判断输出条件{printf("航班号起始站终点站时间机票数\n");printf(PRINT);break;}}x[0].no=0;//将结构体中的号为零printf("请输入新航班号、起始站、终点站、时间(星期几)、机票数:\n");scanf("%d%s%s%s%d",&x[0].no,x[0].name1,x[0].name2,x[0].time,&x[0].count);//定义输入格式s[i].num=x[0].no;//替换航班号strcpy(s[i].start,x[0].name1);//替换其始站strcpy(s[i].over,x[0].name2);//替换终点站strcpy(s[i].time,x[0].time);//替换时间s[i].count=x[0].count;//替换机票数save();//调用保存模块printf("是否继续?请键入yes或no以回车键结束:\n\n");scanf("%s",j);}while(strcmp(j,"yes")==0);//判断结束}elseprintf("对不起密码错误!您不是管理员,不能使用此项功能!谢谢!再见!\n\n"); }。

相关文档
最新文档