c语言航班信息查询系统实验报告.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
15
积分
还剩页未读,继续阅读
关键词:语言
航班信息
查询
系统
实验
报告
资源描述:
软件学院大作业任务书
题 目:航班信息查询系统
专 业:
班 级:
姓 名:
学 号:
完成人数:
起讫日期:
任课教师: 职称: 讲师
部分管主任:
完成时间:
说 明
1. 本任务书由任课教师填写后,下达到学生。
2. 任务完成后,任课教师需填写小结表。
3. 任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。
4. 另附一份全班大作业总结
大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等)
请根据本学期所学C语言的内容,完成一个完整的C语言程序,程序的名称、内容和功能,可以自己根据需要进行自定义,但不能过于简单,代码行数最低要求在200行以上,且所设计的程序满足如下要求:
1. 要求采用结构化程序设计;
2. 程序中要具备结构体类型的数据操作;
3. 程序中要具备文件读取和写入的操作;
4. 要求程序具备简单的菜单功能,根据用户的输入,执行相应的操作;
5. 在菜单界面,必须显示程序的名称、版本信息,开发者的名字、班级、学号等信息。
最终提交的作业,除提交完整的程序工程代码外,还必须以大作业报告的形式说明程序的流程、结构以及设计、实现过程。
作业评分将以完成的程序质量和复杂程度为基础,并根据大作业报告进行综合评分。
教师小结:
成绩:
教 师 签 名:
教研部负责人:
学生姓名:
NANCHANG UNIVERSITY
高级语言程序设计课程设计
题 目: 航班信息查询系统
学 院:
专 业:
班 级:
完成人数:
成 员:
起讫日期:
任课教师:
完成时间:
填表日期:
目 录
一、需求分析- 1 -
1.1项目介绍- 1 -
1.2功能需求- 1 -
二、系统分析- 1 -
2.1本程序需解决的关键技术问题- 1 -
2.2程序流程- 1 -
三、程序设计与实现- 1 -
3.1程序设计- 1 -
3.2程序实现- 2 -
四、系统测试- 2 -
五、个人小结- 2 -
六、参考文献- 2 -
一、 需求分析
1.1 项目介绍
一个简易的航班信息查询系统,将航班信息录入进去,就可以查询到航班的信息
1.2 功能需求
1. 所有航班信息
2. 航班查询
3. 输入新的航班信息
4. 删除航班信息
二、 系统分析
2.1 本程序需解决的关键技术问题
使用了struct结构体
多次使用了if语句 for循环语句
用到了指针的内容
2.2 程序流程
1,了解问题。要解决问题,必须先了解每个细节。
2 ,确定解决问题的流程,确认输入输出内容即内部需要做的操作。
输入:用户的选择指令。
输出:程序的运行结果。
操作:对信息读入,存储,删除
3,设计操作算法。得出数据流图。
对每块的操作流程做设计。如何对信息读入,存储,删除等。
4 编写代码。
将算法实体化,形成C代码。
5 测试并解决问题。
编译运行,尝试输入多组数据,测试结果是否与预期相同。如果不同,那么查找问题并修改代码。最终形成合格的程序。
三、 程序设计与实现
3.1 程序设计
#include#include#include#include#define N 15
#define M 20
#define LEN sizeof(struct fly)
typedef struct fly{
int no;/*航班号*/
char startpoint[M];
char finalpoint[M];
int banqi[M];
char startime[M];
char finaltime[M];
char tipe[M];
float price;
};
struct fly f[N];
void in();
void all();
void show(int i);
void order(int); /*排序*/
void find(); /*查询系统*/
void search(); /*编号查询系统*/
void menu();
void startpoint(); /*起点站查询系统*/
void finalpoint(); /*达到站查询系统*/
void startime(); /*起点时间查询系统*/
void finaltime(); /*到达时间查询系统*/
int main()
{
int n;
menu();
scanf("%d",&n);
while(n)
{
switch(n)
{
case 1:
all();
break;
case 2:
find();
break;
case 3:
in();
break;
default:break;
}
getch();
menu();
scanf("%d",&n);
}
}
void menu()
{
system("cls");
printf("\n\n\n\n\n");
printf("\t\t|--------------航班信息查询系统----------------|\n");
printf("\t\t| 0.退出 |\n");
printf("\t\t| 1.所有航班 |\n");
printf("\t\t| 2.航班查询 |\n");
printf("\t\t| 3.输入新的航班信息 |\n");
printf("\t\t| 4.删除航班信息 |\n");
printf("\t\t|----------------------------------------------|\n\n ");
printf("\t\t\t 选择(0-4):______");
}
void all()
{
int i,m=0;
char ch[2];
FILE *fp;
if((fp=fopen("data","ab+"))==NULL)
{
printf("不能打开文件\n");
return;
}
while(!feof(fp))//feof()是文件结束检测函数,如果没有结束,返回值是0,结束了是1
{
if(fread(&f[m],LEN,1,fp)==1)
m++;
}
fclose(fp);
if(m==0)
printf("没有航班记录\n");
else
{
system("cls");
/*system就是调用DOS命令,CLS命令的意思是清除屏幕上所有的文字*/
for(i=0;i5)printf("输入错误!");
else switch(n)
{
case 0:return;
case 1:
search();
break;
case 2:
startpoint();
break;
case 3:
finalpoint();
break;
case 4:
startime();
break;
case 5:
finaltime();
break;
default:break;
}
}
void search() /*编号查询系统*/
{
FILE *fp;
int snum,i,m=0,x=0;
char ch[2];
if((fp=fopen("data","ab+"))==NULL)
{
printf("不能打开文件\n");
return;
}
while(!feof(fp))
if(fread(&f[m],LEN,1,fp)==1);
m++;
if(m==0)
{
printf("没有记录");
return;
}
printf("请输入编号----");
scanf("%d",&snum);
for(i=0;i