大一的时课设,这是简单的1.0版本,可供参考框架和思路。那时候喜欢用拼音做变量名函数名,介意的望海涵。
还不会上传资源,完整代码在最后。
功能全面升级的完整版我过几天会整理上来。
实现功能:
具体实现:
1、头文件、结构体和函数如下:
#include <iostream>
#include<cstring> //包含字符串函数处理头文件
#include<process.h> //包含access函数的头文件
#include<io.h>
#include<cstdlib>
#include<windows.h>
#include<conio.h>
#include<fstream>
#define N 9999 //定义最多的航班数
#define PRINT s[i].num<<"\t\t"<<s[i].start<<"\t\t"<<s[i].over<<"\t\t星期"<<s[i].time<<"\t\t"<<s[i].count<<endl //宏定义输出格式
using namespace std;
struct air //定义航班信息结构体数组
{
int num; //定义航班号
char start[20]; //航班起始站
char over[20]; //终点站
char time[10]; //飞行时间
int count; //机票数量
}s[N];
int i,a,m=0; //定义全局变量
char ii[10];
void add(); //函数声明增加航班信息函数
void print(); //显示航班信息
bool search(); //查找航班信息
void dingpiao(); //订票业务
void tuipiao(); //退票
void Read(); //读取文件
void save(); //保存文件
void output(); //输出格式
void paixu(); //航班排序
void chushihua(); //系统初始化
void build(); //建立数据文件
void paixu1(); //按航班号从小到大排序
void paixu2(); //从大到小
int head (); //进入订票系统
要点:
宏定义输出格式:可以让代码方便简洁
结构体数组:保存多组信息
2、主函数
int main() //主函数
{
int j;
system("color b0"); //这里可以调整颜色
chushihua(); //系统初始化判断是否存在原始数据文件
system("cls");
head(); //打印出系统主界面
system("cls");
do
{
cout<<"================================================================================ ";
cout<<"\n\t\t\t\t1.增加航班信息\n\t\t"
"\t\t2.浏览航班信息\n\t\t"
"\t\t3.查找航班信息(按航班号)\n\t\t"
"\t\t4.航班排序(按航班号)\n\t\t"
"\t\t5.订票业务\n\t\t"
"\t\t6.退票业务\n\t\t"
"\t\t0.退出\n";
cout<<"================================================================================ " ;
cout<<"\n请在0-6中选择以回车键结束: " ;
cin>>j ;
switch(j)
{
case 1: add(); system("cls"); //调用增加航班函数
break;
case 2:print(); system("cls");//调用显示模块
break;
case 3:search();system("cls"); //调用查找模块
break;
case 4:paixu(); system("cls"); //调用排序函数
break;
case 5:dingpiao();system("cls"); //调用订票模块
break;
case 6:tuipiao();system("cls"); //调用退票模块
break;
case 0: //退出系统
save();system("cls");
cout<<"\n\n\n\t\t\t\t\n\n\t谢谢使用,再见! ";
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n";
break;
}
}while(j!=0); //判断是否调用其他函数
}
要点:
打印主界面,选择后跳转各个功能函数。
3、建立数据文件
用于保存航班信息
void build() //定义建立数据文件函数
{
FILE *fp; //定义文件指针
if((fp=fopen("hangban.dat","wb"))==NULL) //打开文件并判定是否出错
{
cout<<"创建文件失败! " ; //打印出错提示
getchar();
return;
}
cout<<"请依次输入航班信息(以回车键结束):\n" ; //打印提示信息
cout<<"-------------------------------------------------------------------------- \n" ;
for(i=0;i<N;i++)
{
cout<<"请输入航班号: " ;
cin>>s[i].num ; //输入航班号
cout<<"请输入起始站: " ;
cin>>s[i].start ; //输入起始站
cout<<"请输入终点站: " ;
cin>>s[i].over ; //输入终点站
cout<<"请输入时间(星期几 : " ;
cin>>s[i].time ; //输入时间
cout<<"请输入机票数: " ;
cin>>s[i