C语言机票订票管理系统源代码

时间:2019-05-14 03:13:42下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言机票订票管理系统源代码》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言机票订票管理系统源代码》。

第一篇:C语言机票订票管理系统源代码

#include //标准输入、输出头文件 #include //包含字符串函数处理头文件 #include

//包含access函数的头文件 #include #include #include #include #define N 9999

//定义最多的航班数 #define PRINT “%dtt%stt%stt星”,s[i].num,s[i].start,s[i].over,s[i].time,s[i].count

//宏定义输出格式

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];//定义结构体数组

//定义航班号 //航班起始站

//终点站

//飞行时间

//机票数量

期%stt%dn //定义全局变量

void add();//函数声明增加航班信息函数

void print();

//显示航班信息 void search();//查找航班信息 void dingpiao();//订票业务 void tuipiao();//退票 void read();//读取文件

void save();//保存文件 void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小 int head();//进入订票系统

int main()//主函数 { int j;

system(“color b0”);chushihua();//系统初始化判断是否存在原始数据文件

system(“cls”);

head();//打印出系统主界面

system(“cls”);do {

printf(“================================== ”);

printf(“1.增加航班信息n”

“t2.浏览航班信息n”

“tt3.查找航班信息(按航班号)ttn”

“ttt4.航班排序(按航班号)n”

“tttt5.订票业务n”

“ttttt6.退票业务n”

“tttttt0.退出n”);printf(“================================== ”);

printf(“请在0-6中选择以回车键结束: ”);scanf(“%d”,&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”);

printf(“nnnttttnnt谢谢使用,再见!”);

printf(“nnnnnnnnnnnnn”);

break;} }while(j!=0);//判断是否调用其他函数

void chushihua()//定义系统初始化函数 { if(access(“hangban.dat”,0)){

build();} else

read();}

void build(){

//定义建立数据文件函数

FILE *fp;//定义文件指针

if((fp=fopen(“hangban.dat”,“wb”))==NULL){

//打开文件并判定是否出错

printf(“创建文件失败!”);//打印出错提示

getchar();return;} printf(“请依次输入航班信息(以回车键结束):n”);

//打印提示信息 printf(“------------n”);for(i=0;i

printf(“请输入航班号: ”);

scanf(“%d”,&s[i].num);//输入航班号 printf(“请输入起始站: ”);scanf(“%s”,s[i].start);//输入起始站 printf(“请输入终点站: ”);scanf(“%s”,s[i].over);//输入终点站 printf(“请输入时间(星期几): ”);scanf(“%s”,s[i].time);//输入时间 printf(“请输入机票数: ”);scanf(“%d”,&s[i].count);//输入机票数 fwrite(&s[i],sizeof(struct air),1,fp);m++;printf(“添加完毕,是否继续添加?请键入y或n以回车键结束:”);scanf(“%s”,ii);if(strcmp(ii,“y”)!=0)//判断是否继续添加航班信息 { fclose(fp);

//关闭文件

return;} } }

void read()

//定义读取文件函数 { FILE *fp;if((fp=fopen(“hangban.dat”,“r”))==NULL){

} printf(“创建文件失败!”);getchar();return;} i=0;while(!feof(fp)){ fread(&s[i],sizeof(struct air),1,fp);

i++;m++;//计算存在航班数 } m--;fclose(fp);printf(“请稍候,正在初始化”);for(a=0;a<3;a++){

printf(“.”);

Sleep(600);} printf(“n”);

//逐块读取数据

void save()//定义保存函数 { FILE *fp;if((fp=fopen(“hangban.dat”,“wb”))==NULL)

{

printf(“创建文件失败!”);getchar();return;} for(i=0;i

//逐块保存数据

fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);printf(“正在保存数据并退出”);for(a=0;a<3;a++)

} {

printf(“.”);

Sleep(600);} printf(“n”);printf(“n”);void add(){ do{

//定义增加航班信息函数

printf(“请依次输入您要增加的航班信息(以回车键结束): n”);

//打印提示信printf(“------------n”);

printf(“请输入航班号: ”);

scanf(“%d”,&s[m].num);//读取航班号 printf(“请输入起始站: ”);scanf(“%s”,s[m].start);//读取起始站 printf(“请输入终点站: ”);scanf(“%s”,s[m].over);//读取终点站 printf(“请输入时间(星期几): ”);scanf(“%s”,s[m].time);//读取时间 printf(“请输入机票数: ”);scanf(“%d”,&s[m].count);//读取机票数 m++;

printf(“添加完毕,是否继续添加?请键入y或n以回车键结束:”);

scanf(“%s”,ii);}while(!strcmp(ii,“y”));//判断是否继续添加

printf(“正在保存,请稍候”);for(a=0;a<5;a++)

{

printf(“.”);

Sleep(600);

}

printf(“n”);}

void output()//定义输出格式函数 {

printf(“航班号tt起始站tt终点站tt时间tt机票数n”);//信息标题

for(i=0;i

} printf(PRINT);//打印出信息

void print()//定义显示航班信息函数 { printf(“正在加载,请稍候”);

for(a=0;a<5;a++)

{

printf(“.”);

Sleep(400);

}

printf(“n”);

system(“cls”);printf(“n目前我们有如下航班:nn”);output();

//调用输出格式函数

printf(“n请按回车键返回上层菜单 ”);getchar();getchar();}

void search()//定义查询函数 { int n;

do {

printf(“n请输入航班号: ”);

scanf(“%d”,&n);//输入查询的航班号

printf(“正在查询”);

for(a=0;a<5;a++)

{

printf(“.”);

Sleep(400);

}

printf(“n”);

for(i=0;i

{

if(s[i].num==n)//按航班号判定输出条件

{

printf(“n您所查找的航班信息为:n ”);

printf(“航班号tt起始站tt终点站tt时间tt机票数 nn”);

printf(PRINT);//显示信息

printf(“n查询完毕,按回车键继续”);

getchar();

getchar();

return;

} } printf(“n对不起,没有您需要的信息!n ”);printf(“是否重新查找?请键入y或n以回车键结束 ”);scanf(“%s”,ii);}while(!strcmp(ii,“y”));//判定是否重新查找

}

void dingpiao()//定义订票业务函数 { int n,x;char a[10]=“y”;do {

search();//调用查询模块

if(!strcmp(ii,“n”))

{

printf(“对不起!没有找到您所需要的航班,所以不能订票。n”);所需航班

printf(“n请按回车键返回上层菜单 ”);

getchar();

getchar();

strcpy(ii,“n”);

break;

}

do

{

printf(“请输入您要订的机票数(以回车键结束): ”);

scanf(“%d”,&n);//输入所订机票数

printf(“请稍候,正在订票”);

for(x=0;x<3;x++)

{

printf(“.”);

Sleep(600);

}

printf(“n”);

if(n<=0)

//判定机票数是否出错

//未查找到

{ printf(“输入错误!至少需订1张机票。n”);} else if(s[i].count==0)//判定机票是否售完 {

} printf(“对不起,你所选择的航班的机票已售完!n”);break;else if(s[i].count!=0&&s[i].count>=n)//判定机票数是否大于等于订票数 { s[i].count=s[i].count-n;printf(“订票成功!”);break;} else if(s[i].count

printf(“对不起,你所选择的航班只剩 %d张机票n”, s[i].count);

printf(“是否需要重新输入机票数?n请输入y或n以回车键结束: ”);//判定是否重新输入订票数

scanf(“%s”,a);

}

printf(“请稍候,正在订票”);

for(x=0;x<3;x++)

{

printf(“.”);

Sleep(600);

}

printf(“n”);

} }while(!strcmp(a,“y”));printf(“是否需要订其他航班的机票?n请输入y或n以回车键结束: ”);scanf(“%s”,a);}while(!strcmp(a,“y”));//判定是否继续订票

void tuipiao()//定义退票函数 { int n,x;char a[10];do {

search();//调用查询函数

if(!strcmp(ii,“n”))

{

printf(“对不起!没有找到您所需要的航班,所以不能退票。n”);printf(“n请按回车键返回上层菜单 ”);getchar();getchar();strcpy(ii,“n”);break;} printf(“请输入您要退的机票数目: ”);scanf(“%d”,&n);

//输入所退票数 printf(“请稍候,正在退票”);for(x=0;x<3;x++){

printf(“.”);

Sleep(600);} printf(“n”);if(n<=0)

//判定票数是否有效

printf(“输入错误!至少需退1张机票。”);else { s[i].count=s[i].count+n;printf(“退票成功!”);}

printf(“是否继续? 请键入y或n以回车键结束: ”);scanf(“%s”,a);

//判定是否继续退票

}while(!strcmp(a,“y”));//判定并跳出循环

}

void paixu()//定义排序函数 { int n;

printf(“n******************************************************************************** ”);

printf(“1.按航班号从小到大排序n”

“t2.按航班号从大到小排序n”);printf(“******************************************************************************** ”);

printf(“请在1-2中选择以回车键结束: ”);scanf(“%d”,&n);//输入排序方式

switch(n){

case 1:paixu1();//调用从小到大排序函数

break;

case 2:paixu2();//调用从大到小排序函数

break;} printf(“排序后的航班信息为:n”);output();

//显示排序后航班信息

printf(“n请按回车键返回上层菜单 ”);

getchar();getchar();/*for(a=0;a<5;a++)

{

printf(“.”);

Sleep(400);

}

printf(“n”);*/ }

void paixu1()//定义从小到大排序函数 { int k,j;struct air t;for(i=0;i

{

k=i;

for(j=i+1;j

if(s[k].num>s[j].num)

k=j;

if(i!=k)

{

t=s[k];

s[k]=s[i];

s[i]=t;

} } printf(“正在排序,请稍后”);

for(a=0;a<5;a++)

{

printf(“.”);

Sleep(400);

}

printf(“n”);}

void paixu2()//定义从大到小排序函数 { int k,j;struct air t;for(i=0;i

k=i;

for(j=i+1;j

if(s[k].num

k=j;

if(i!=k)

{

t=s[k];

s[k]=s[i];

s[i]=t;

} } printf(“正在排序,请稍后”);

for(a=0;a<5;a++){

printf(“.”);

Sleep(400);} printf(“n”);}

int head()

//进入订票系统

{ printf(“===================n”);printf(“*

*n”);

printf(“*

欢迎使用机票订票管理系统

*n”);printf(“*

*n”);printf(“*

此处可以适当的加点文字

*n”);printf(“*

*n”);printf(“===================n”);printf(“请按回车键进入界面”);getchar();printf(“正在进入系统选项”);for(a=0;a<3;a++){ printf(“.”);Sleep(600);

} } printf(“n”);return 0;

第二篇:c语言实现机票管理系统源代码

/*

1、用户和管理员及航班信息请以英文字母或数字输入*/ /*

2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/ /*

3、部分文件读写为二进制读写,所以打开文件时会看到乱码*/

#include #include #include #include #define N 1000

void zhujiemian();//主界面函数

void verify();//用户及管理员登录选择 void loginmanager();//管理员登录 void loginuser();//用户登录

void loginflightm();//管理员登录机票系统 void loginflightu();//用户登录机票系统 void creatfile();//创建用户信息模块

void saveuser();//用户信息保存模块程序

void input();//输入航班信息

void print();//输出航班信息

void save();//保存航班信息

void read();//读取航班信息

void paixu();// 对所有航班按航班号排序 void search();//查找航班信息

void dingpiao();//订票信息

struct users

//管理员/用户信息结构体,管理员可以修改航班信息 {

char Name[20];//管理员/用户姓名

char sexual[10];//用户性别

char ps[8];

// 用户密码

int age;

//用户年龄

long Number;

//用户身份证号码

int power;

//power为1是管理员登录,为0是用户登录 }user[N],up,mg;//up为键盘输入用户信息,user[N]为文件保存的用户信息,mg为管理员结构体

int n;//所有用户个数,初始化为0 struct air //航班信息结构体

{

int num;

//航班号

char start[20];//出发地

char over[20];//目的地

char time[10];//时间

int count;

//票数

int prize;

//票价 }s[N],fnew;int i;

int m=0;//所有航班个数 #define

PRINT “%-d%12s%12s%10s%12d%10dn”,s[i].num,s[i].start,s[i].over,s[i].time,s[i].count,s[i].prize //定义输出格式

void main()//主函数 { zhujiemian();} void zhujiemian()//主界面函数 { int j;

printf(“#=====#n”);

printf(“#

欢迎进入机票管理系统

#n”);printf(“#

1、登录系统

#n”);printf(“#

2、新用户注册

#n”);printf(“#

0、退出

#n”);

printf(“#=====#n”);printf(“请在1-2中选择以回车键结束:nn”);

scanf(“%d”,&j);

switch(j)

{

case 1:verify();//进入机票系统

break;

case 2:creatfile();//进入用户注册系统

break;

case 0:;

break;

} }

void verify()//验证用户及管理员信息模块 { int j;system(“cls”);printf(“#=====#n”);printf(“#

1、管理员登录

#n”);printf(“#

2、用户登录

#n”);printf(“#

0、返回主界面

#n”);

printf(“#=====#n”);scanf(“%d”,&j);

switch(j)

{

case 1:loginmanager();//进入管理员登录界面

break;case 2:loginuser();//进入用户登录界面

break;case 0: system(“cls”);

zhujiemian();//进入主界面

break;

} }

/********管理员登录确定函数**********/ void loginmanager(){ FILE * fp=NULL;//定义文件指针

char DataFile[20]=“manager.txt”;//存储管理员信息的文件名

int i=0,j=1;

char relogin;

//是否重新登录

int success=0;

//登录成功的标志

printf(“n---管理员登录---n”);

fp=fopen(DataFile,“r”);if(fp==NULL)//如果当前文件不存在,初始化根用户名为boss,密码为123,权限为管理员

{

printf(“首次使用该系统!n”);

printf(“管理员账户为:boss 密码为:123n”);

fp=fopen(DataFile,“a”);//以追加方式打开文件

user[0].Number=0;

strcpy(user[0].Name,“boss”);

strcpy(user[0].sexual,“male”);

user[0].age=22;

user[0].power=1;

strcpy(user[0].ps,“123”);

fwrite(&user[0],sizeof(user),1,fp);

fclose(fp);

} else fclose(fp);again: printf(“请输入管理员姓名:”);

scanf(“%s”,up.Name);//输入用户名

up.Name[19]='';

printf(“请输入管理员密码:”);

fflush(stdin);

for(i=0;i<7;i++)//输入密码,以*在屏幕显示 { up.ps[i]=getch();

up.ps[i+1]='';//字符要以''结尾

if(up.ps[i]=='b')

{

i--;

up.ps[i]='';//清除前一个字符

i--;//接收前一个字符

printf(“b ”);

printf(“b”);

continue;

}

if(up.ps[i]=='r')

{

up.ps[i]='';

break;

}

printf(“*”);}

fp=fopen(DataFile,“rt”);

if(fp==NULL)// 打开文件失败时提示

{

printf(“n打开 %s 失败!按任意键结束程序n”,DataFile);

perror(“Open file fail”);

getchar();

return;

}

if((fp=fopen(“manager.txt”,“r”))==NULL)//打开文件,并判断是否出错

{

printf(“n出错,请检查文件是否存在,按任意键返回主菜单n”);//打印出错提示getchar();

} else

fread(&mg,sizeof(struct users),1,fp);//从文件中读取信息

fclose(fp);//关闭文件

if(strcmp(mg.Name,up.Name)==0&&strcmp(mg.ps,up.ps)==0)

{

success=1;

}

if(success==1)//登录成功

{

printf(“n登录成功,按任意键进入机票调整系统!n”);

getchar();

loginflightm();

}

else//未登录成功

{

fflush(stdin);//清除输入缓冲区中的字符

printf(“n用户名或密码错误!重新输入请按y,退出请按n:n”);

relogin=getchar();

if(relogin=='y'||relogin=='Y')

{

getchar();

goto again;

}

else

{

verify();

exit(0);

}

} }

/********用户登录函数**********/ void loginuser(){ FILE *fp=NULL,*fp1;//定义文件指针

char DataFile[20]=“yonghu.txt”;//存储管理员信息的文件名

int i=0,j=0;

char relogin;

//是否重新登录

int success=0;

//登录成功的标志

printf(“n---用户登录---n”);

fp=fopen(DataFile,“r”);

//读取文件中数据

if((fp1=fopen(“howmanyusers.txt”,“a”))==NULL)//读写方式打开文件,若文件不存在,则n=0

{

//printf(“创建文件失败!nn”);//打印出错提示

n=0;//getchar();

//continue;}

else {

fp1=fopen(“howmanyusers.txt”,“r”);

fscanf(fp1, “%d”,&n);//读取fp1中的用户个数

} fclose(fp1);

if((fp=fopen(“yonghu.txt”,“r”))==NULL)//打开文件,并判断是否出错

{

fp1=fopen(“howmanyusers.txt”,“w+”);//以写方式打开

fprintf(fp1,“%d”,0);//打开用户文件失败,则输入用户个数0到fp1 fclose(fp1);printf(“n目前没有用户信息,请按ENTER键返回主菜单先进行注册!n”);getchar();getchar();system(“cls”);zhujiemian();}

for(i=0;i

}

fclose(fp);//关闭文件

//输入数据与文件中用户比对 again: printf(“请输入用户姓名:”);

scanf(“%s”,up.Name);//输入用户名

up.Name[19]='';

printf(“请输入用户密码:”);

fflush(stdin);

for(i=0;i<7;i++)//输入密码,以*在屏幕显示

{

up.ps[i]=getch();

up.ps[i+1]='';//字符要以''结尾

if(up.ps[i]=='b')

{

i--;

up.ps[i]='';//清除前一个字符

i--;//接收前一个字符

printf(“b ”);

printf(“b”);

continue;

}

if(up.ps[i]=='r')

{

up.ps[i]='';

break;

}

printf(“*”);}

for(i=0;i

{

if(strcmp(user[i].Name,up.Name)==0&&strcmp(user[i].ps,up.ps)==0)

{

success=1;

break;

}

}

if(success==1)//登录成功

{

printf(“n登录成功,按任意键进入机票调整系统!n”);

getchar();

loginflightu();

}

else //未登录成功

{

fflush(stdin);//清除输入缓冲区中的字符

printf(“n用户名或密码错误!重新输入请按y,退出请按n:n”);

relogin=getchar();

if(relogin=='y'||relogin=='Y')

{

getchar();

goto again;

}

else

{

verify();

exit(0);

}

}

} void saveuser(struct users[])//用户信息保存模块程序

{

FILE *fp,*fp1;//定义文件指针

if((fp=fopen(“yonghu.txt”,“a”))==NULL)//打开文件并判断是否出错

{

}

} printf(“创建文件失败!nn”);//打印出错提示

getchar();return;

if((fp1=fopen(“howmanyusers.txt”,“w+”))==NULL)//打开文件并判断是否出错

{

printf(“创建文件失败!nn”);//打印出错提示

getchar();

return;}

for(i=0;i

{

printf(“向文件输入数据失败!nn”);} } fprintf(fp1,“%d”,n);//输入用户个数到fp1 fclose(fp);//关闭文件

fclose(fp1);//关闭文件

void creatfile()//增加用户信息模块 {

FILE *fp=NULL,*p=NULL,*fp1;

char DataFile[20]=“yonghu.txt”;//存储用户信息的文件名

//int a[100];

int i=0,k=1,count=0;

fp=fopen(DataFile,“r”);

system(“cls”);//清屏

if(fp==NULL)//如果当前文件不存在,提示打开文件失败

{

fp1=fopen(“howmanyusers.txt”,“w+”);//以写方式打开

fprintf(fp1,“%d”,0);//打开用户文件失败,则输入用户个数0到fp1

fclose(fp1);

printf(“n不存在%s,正在创建!n”,DataFile);

fp=fopen(DataFile,“a”);

creatfile();}

if((fp1=fopen(“howmanyusers.txt”,“a”))==NULL)//读写方式打开文件,若文件不存在,则n=0

{

n=0;}

else

{

fp1=fopen(“howmanyusers.txt”,“r”);

fscanf(fp1, “%d”,&n);//读取fp1中的用户个数

} fclose(fp1);for(i=0;i

fread(&user[i],sizeof(struct users),1,fp);//从文件中读取信息

}

fclose(fp);//关闭文件

//如果成功打开文件,则提示输入用户相关信息

printf(“请输入用户信息n”);

fflush(stdin);

while(k)

{

//printf(“n输入身份证号码注意身份证号码不能为0!n”);

printf(“请输入身份证号码:”);

scanf(“%ld”,&up.Number);

i=0;//再次初始化i为0

//判断身份证号是否存在while(i

{

if(user[i].Number==up.Number)

{

printf(“该身份证号码已被使用过!n请重新输入身份证号:”);

scanf(“%ld”,&up.Number);

i=0;

//continue;

}

else

i++;} //经循环对比后,i的值仍和n相等,将新注册的信息加入数组末位

user[i].Number=up.Number;printf(“姓名:”);scanf(“%s”,&user[i].Name);user[i].Name[19]='';printf(“性别:”);scanf(“%s”,&user[i].sexual);printf(“用户密码:”);scanf(“%s”,&user[i].ps);printf(“年龄:”);scanf(“%d”,&user[i].age);

n++;//用户数目增加

printf(“是否继续注册?是:选1,否:选0;”);

scanf(“%d”,&k);} saveuser(user);//保存用户信息

fclose(fp);//在屏幕上显示文件内容

system(“cls”);printf(“数据已经成功保存到%s中n”,DataFile);getchar();

printf(“按任意键返回主界面!n”);

getchar();

system(“cls”);

zhujiemian();//返回主界面

}

void loginflightm()//管理员登录机票系统 { int j;do

{

system(“cls”);

printf(“ ★----------------您好,欢迎进入自动化飞机订票系统!---★n”);

printf(“==================================n”);

printf(“ **---------------☆ 1.输入航班信息 ☆---------------------------**nn” “ **------------☆ 2.浏 览 航 班 信

息 ☆-----------------------**nn” “ **--------☆

3.查

-☆--------------------**nn” “ **-----------☆

4.对航班按航班票价排序---☆-----------------------**nn” “ **--------------☆

5.订 票 信 息-☆-------------------------**nn” “ **------------------☆

0.退出

-☆-----------------------------**nn” “ **-----------------------☆

☆---------------------------------**nn” “ **-------------------------☆----------------------------------**nn” “ **-----------------------☆ ☆----------------------------------**nn”);

printf(“==================================n”);

printf(“请在0-5中选择以回车键结束:nn”);

scanf(“%d”,&j);

switch(j)

{

case 1:

input();//调用输入模块

break;case 2: system(“cls”);

print();//调用打印模块

break;

case 3:

search();//调用查找模块

break;

case 4:

paixu();//调用排序模块

break;

case 5:

dingpiao();//调用订票模块

break;

case 0:;

break;

}

}while(j!=0);//判断结束

printf(“按任意键返回主界面n”);system(“cls”);zhujiemian();}//登录函数结束

void loginflightu()//用户登录机票系统 { int j;do

{

system(“cls”);

printf(“ ★----------------您好,欢迎进入自动化飞机订票系统!---★n”);

printf(“==================================n”);

printf(“ **------------☆ 1.浏 览 航 班 信

息 ☆-----------------------**nn” “ **--------☆

2.查

-☆--------------------**nn” “ **-----------☆

3.对航班按航班票价排序---☆-----------------------**nn” “ **--------------☆

4.订 票 信 息-☆-------------------------**nn” “ **------------------☆

0.退出

-☆-----------------------------**nn” “ **-----------------------☆

☆---------------------------------**nn” “ **-------------------------☆----------------------------------**nn” “ **-----------------------☆ ☆----------------------------------**nn”);

printf(“==================================n”);

printf(“请在0-5中选择以回车键结束:nn”);

scanf(“%d”,&j);

switch(j)

{

case 1:

system(“cls”);

print();//调用打印模块

break;case 2: search();//调用查找模块

break;case 3: paixu();//调用排序模块

break;case 4: dingpiao();//调用订票模块

break;case 0:;

break;}

}while(j!=0);//判断结束

printf(“按任意键返回主界面n”);system(“cls”);zhujiemian();}//登录函数结束

void input()//输入航班信息模块,管理员操作

{ int i=0,k=1;read();printf(“请依次输入航班信息(航班号,起始站,终点站,起飞时间,机票数,票价):nn”);//打印提示信息

printf(“------------n”);

//fflush(stdin);

while(k)

{

}

} printf(“请输入航班号:n”);

scanf(“%d”,&fnew.num);//读取航班号

i=0;//再次初始化i为0 //判断航班是否已经存在while(i

if(s[i].num==fnew.num)

{

}

printf(“该航班已经存在!n请重新输入:”);

scanf(“%d”,&fnew.num);

i=0;

//continue;} else

i++;//经循环对比后,i的值仍和n相等,将新注册的信息加入数组末位

s[i].num=fnew.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);//读取机票数

printf(“请输入机票票价:n”,m);

scanf(“%d”,&s[i].prize);//读取机票票价

m++;//所有航班信息个数

// printf(“第%d个信息已经输完是否继续?按1-9任意数字继续,按0结束”,m);

//scanf(“%d”,&y);

printf(“是否继续添加航班?是:选1,否:选0;”);scanf(“%d”,&k);if(k==0)

{

} save();//将结构体信息存盘 system(“cls”);print();//输出输入的航班信息

break;void save()//航班信息保存模块程序

{

FILE *fp,*fp1;//定义文件指针

if((fp=fopen(“flight.txt”,“wb”))==NULL)//打开文件并判断是否出错

{

}

printf(“创建文件失败!nn”);//打印出错提示

getchar();

return;}

if((fp1=fopen(“howmanyflights.txt”,“wb”))==NULL)//打开文件并判断是否出错

{

printf(“创建文件失败!nn”);//打印出错提示

getchar();

return;}

for(i=0;i

if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件写入数据,并判断是否出错

printf(“向文件输入数据失败!nn”);fprintf(fp1,“%d”,m);fclose(fp);//关闭文件

fclose(fp1);//关闭文件

void read()//从文件读取航班信息模块

{

FILE *fp,*fp1;//定义文件指针

fp=fopen(“flight.txt”,“r”);

//system(“cls”);//清屏

if(fp==NULL)//如果当前文件不存在,提示打开文件失败

{

fp1=fopen(“howmanyflights.txt”,“w+”);//以写方式打开

fprintf(fp1,“%d”,0);//打开用户文件失败,则输入用户个数0到fp1 fclose(fp1);

printf(“n不存在flight.txt,正在创建!n”);

fp=fopen(“flight.txt”,“a”);

printf(“创建完成!n”);

system(“cls”);

read();

//perror(“Open file fail”);

//getch();

}

if((fp1=fopen(“howmanyflights.txt”,“rb”))==NULL)//读写方式打开文件,若文件不存在,则m=0

{

//printf(“创建文件失败!nn”);//打印出错提示

m=0;}

else

{

fp1=fopen(“howmanyflights.txt”,“r”);

fscanf(fp1, “%d”,&m);//读取fp1中的用户个数

}

fclose(fp1);for(i=0;i

fread(&s[i],sizeof(struct air),1,fp);//从文件中读取信息

}

fclose(fp);//关闭文件

}

void print()//屏幕打印航班信息模块

{

read();//调用读取文件函数

if(m==0)

printf(“nn目前没有航班信息!n”);else {

printf(“航班信息如下:n”);

printf(“航班号

起始站

终点站

时间

for(i=0;i

{

printf(PRINT);//打印信息

}

} printf(”n请按任意键回车键结束返回主菜单“);

getchar();getchar();}

void paixu()//对所有航班按航班价格排序 { int j;struct pai {

int no;

char name1[20];

余票数

票价n”);

}

char name2[20];char time[20];int count;int prize;}p[1];//临时定义结构体,作为排序时的第三变量 read();//调用读取信息函数 for(j=0;j<(m-1);j++){ for(i=0;i<(m-(1+j));i++){ if(s[i].prize>s[i+1].prize)

//按价格升序排列,p[0]为中间变量 {

p[0].no=s[i].num;//替换航班号

strcpy(p[0].name1,s[i].start);//替换其始站

strcpy(p[0].name2,s[i].over);//替换终点站

strcpy(p[0].time,s[i].time);//替换时间

p[0].count=s[i].count;//替换机票数

p[0].prize=s[i].prize;//替换票价

s[i]=s[i+1];

s[i+1].num=p[0].no;//替换航班号

strcpy(s[i+1].start,p[0].name1);//替换其始站

strcpy(s[i+1].over,p[0].name2);//替换终点站

strcpy(s[i+1].time,p[0].time);//替换时间

s[i+1].count=p[0].count;//替换机票数

s[i+1].prize=p[0].prize;

} } } save();//调用保存函数 system(“cls”);printf(“排序后,”);print();void search()//按航班号查询模块

{

char ii[10];

int no,k;read();//调用读取函数

do

{

system(“cls”);

k=0;//每次查找都初始化k为0

printf(“请输入你要找的航班号:”);//打印查询方式菜单

scanf(“%d”,&no);//航班号

for(i=0;i

{

if(s[i].num==no)//按航班号判断输出条件

{

k=1;

system(“cls”);

printf(“n查找航班信息成功!n”);

printf(“航班号

起始站

终点站

时间

余票数 价n”);

printf(PRINT);//打印信息

break;

}

}

no=0;//将航班号重新赋值为0

if(k==0)

{

printf(“没有您需要的信息n”);

}

printf(“n是否继续查找?请键入yes或no以回车键结束n”);

scanf(“%s”,ii);

} while(strcmp(ii,“yes”)==0);//判断结束

}

void dingpiao()//订票模块

{

int n;

char a[10];search();//调用查询模块

do

{

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(“订票成功!nn”);

}

} break;}

if(s[i].count

{

printf(“余票不足,请输入有效的机票数!n”);

getchar();}

printf(“是否继续订票? 请输入yes或no以回车键结束:n”);//判断是否继续订票

scanf(“%s”,a);

while(!strcmp(a,“yes”));//判断结束

getchar();printf(“按ENTER键返回用户主界面。”);getchar();

第三篇:C语言课程设计——飞机订票系统源代码

#include //标准输入、输出头文件 #include //包含字符串函数处理头文件 #include

//包含access函数的头文件 #define N 9999

//定义最多的航班数

#define PRINT “%dtt%stt%stt星期%stt%dn ”,s[i].num,s[i].start,s[i].over,s[i].time,s[i].count

//宏定义输出格式

struct air

//定义结构体数组 { int num;

//定义航班号

char start[20];//航班起始站

char over[20];//终点站

char time[10];//飞行时间

int count;

//机票数量 }s[N];

int i,m=0;

//定义全局变量 char ii[10];

void add();//函数声明增加航班信息函数 void print();

//显示航班信息 void search();//查找航班信息 void dingpiao();//订票业务 void tuipiao();//退票 void read();//读取文件

void save();//保存文件 void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小

void main()//主函数 { int j;

chushihua();//系统初始化判断是否存在原始数据文件

printf(“

欢迎使用飞机订票系统n”);//打印出系统主界面

do {

printf(“================================== ”);

printf(“1.增加航班信息n”

“t2.浏览航班信息n”

“tt3.查找航班信息(按航班号)tt╮(╯_╰)╭n”

“ttt4.航班排序(按航班号)n”

“tttt5.订票业务n”

“to(︶︿︶)ottt6.退票业务n”

“tttttt0.退出n”);printf(“================================== ”);

printf(“请在0-6中选择以回车键结束: ”);scanf(“%d”,&j);switch(j){

case 1: add();//调用增加航班函数

break;

case 2:print();//调用显示模块

break;

case 3:search();//调用查找模块

break;

case 4:paixu();//调用排序函数

break;

case 5:dingpiao();//调用订票模块

break;

case 6:tuipiao();//调用退票模块

break;

case 0:

//退出系统

save();

printf(“谢谢使用,再见!”);

break;} }while(j!=0);//判断是否调用其他函数

}

void chushihua()//定义系统初始化函数 { if(access(“hangban.dat”,0)){

build();} else

read();} void build()//定义建立数据文件函数 { FILE *fp;//定义文件指针

if((fp=fopen(“hangban.dat”,“wb”))==NULL)//打开文件并判定是否出错

{

printf(“创建文件失败!”);//打印出错提示

getchar();

return;} printf(“请依次输入航班信息(以回车键结束):n”);

//打印提示信息

printf(“------------n”);for(i=0;i

printf(“请输入航班号: ”);

scanf(“%d”,&s[i].num);//输入航班号

printf(“请输入起始站: ”);

scanf(“%s”,s[i].start);//输入起始站

printf(“请输入终点站: ”);

scanf(“%s”,s[i].over);//输入终点站

printf(“请输入时间(星期几): ”);

scanf(“%s”,s[i].time);//输入时间

printf(“请输入机票数: ”);

scanf(“%d”,&s[i].count);//输入机票数

fwrite(&s[i],sizeof(struct air),1,fp);

m++;

printf(“添加完毕,是否继续添加?请键入y或n以回车键结束:”);

scanf(“%s”,ii);

if(strcmp(ii,“y”)!=0)

//判断是否继续添加航班信息

{

fclose(fp);

//关闭文件

return;

} } }

void read()

//定义读取文件函数 { FILE *fp;if((fp=fopen(“hangban.dat”,“r”))==NULL){

printf(“创建文件失败!”);

getchar();

return;} i=0;while(!feof(fp)){

fread(&s[i],sizeof(struct air),1,fp);//逐块读取数据

i++;

m++;//计算存在航班数

} m--;fclose(fp);}

void save()//定义保存函数 { FILE *fp;if((fp=fopen(“hangban.dat”,“wb”))==NULL)

{

printf(“创建文件失败!”);

getchar();

return;} for(i=0;i

//逐块保存数据

fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);}

void add()//定义增加航班信息函数 { do{

printf(“请依次输入您要增加的航班信息(以回车键结束): n”);

//打印提示信息

printf(“------------n”);

printf(“请输入航班号: ”);

scanf(“%d”,&s[m].num);//读取航班号

printf(“请输入起始站: ”);

scanf(“%s”,s[m].start);//读取起始站

printf(“请输入终点站: ”);

scanf(“%s”,s[m].over);//读取终点站

printf(“请输入时间: ”);

scanf(“%s”,s[m].time);//读取时间

printf(“请输入机票数: ”);

scanf(“%d”,&s[m].count);//读取机票数

m++;

printf(“添加完毕,是否继续添加?请键入y或n以回车键结束:”);

scanf(“%s”,ii);}while(!strcmp(ii,“y”));//判断是否继续添加 }

void output()//定义输出格式函数 { printf(“航班号tt起始站tt终点站tt时间tt机票数n”);//信息标题

for(i=0;i

printf(PRINT);//打印出信息

}

void print()//定义显示航班信息函数 { printf(“n目前我们有如下航班:n”);output();

//调用输出格式函数

printf(“n请按回车键返回上层菜单 ”);getchar();getchar();}

void search()//定义查询函数 { int n;

do {

printf(“n请输入航班号: ”);

scanf(“%d”,&n);//输入查询的航班号

for(i=0;i

{

if(s[i].num==n)//按航班号判定输出条件

{

printf(“n您所查找的航班信息为:n ”);

printf(“航班号tt起始站tt终点站tt时间tt机票数 nn”);

printf(PRINT);//显示信息

printf(“n查询完毕,按回车键继续”);

getchar();

getchar();

return;

} } printf(“n对不起,没有您需要的信息!n ”);printf(“是否重新查找?请键入y或n以回车键结束 ”);scanf(“%s”,ii);}while(!strcmp(ii,“y”));//判定是否重新查找 }

void dingpiao()//定义订票业务函数 { int n;char a[10]=“y”;do {

search();//调用查询模块

if(!strcmp(ii,“n”))

{

printf(“对不起!没有找到您所需要的航班,所以不能订票。n”);//未查找到所需航班

printf(“n请按回车键返回上层菜单 ”);

getchar();

getchar();

strcpy(ii,“n”);

break;

}

do

{

printf(“请输入您要订的机票数(以回车键结束): ”);

scanf(“%d”,&n);//输入所订机票数

if(n<=0)

//判定机票数是否出错

{

printf(“输入错误!至少需订1张机票。n”);

}

else if(s[i].count==0)//判定机票是否售完

{

printf(“对不起,你所选择的航班的机票已售完!n”);

break;

}

else if(s[i].count!=0&&s[i].count>=n)//判定机票数是否大于等于订票数

{

s[i].count=s[i].count-n;

printf(“订票成功!”);

break;

}

else if(s[i].count

{

printf(“对不起,你所选择的航班只剩 %d张机票n”, s[i].count);

printf(“是否需要重新输入机票数?请输入y或n以回车键结束: ”);//判定是否重新输入订票数

scanf(“%s”,a);

}

}while(!strcmp(a,“y”));

printf(“是否需要订其他航班的机票?请输入y或n以回车键结束: ”);

scanf(“%s”,a);}while(!strcmp(a,“y”));//判定是否继续订票 }

void tuipiao()//定义退票函数 { int n;char a[10];do {

search();//调用查询函数

if(!strcmp(ii,“n”))

{

printf(“对不起!没有找到您所需要的航班,所以不能退票。n”);

printf(“n请按回车键返回上层菜单 ”);

getchar();

getchar();

strcpy(ii,“n”);

break;

}

printf(“请输入您要退的机票数目: ”);

scanf(“%d”,&n);//输入所退票数

if(n<=0)

//判定票数是否有效

printf(“输入错误!至少需退1张机票。”);

else

{

s[i].count=s[i].count+n;

printf(“退票成功!”);

}

printf(“是否继续? 请键入y或n以回车键结束: ”);//判定是否继续退票

scanf(“%s”,a);}while(!strcmp(a,“y”));//判定并跳出循环

}

void paixu()//定义排序函数 { int n;

printf(“n******************************************************************************** ”);

printf(“1.按航班号从小到大排序n”

“t2.按航班号从大到小排序n”);printf(“******************************************************************************** ”);

printf(“请在1-2中选择以回车键结束: ”);scanf(“%d”,&n);//输入排序方式

switch(n){

case 1:paixu1();//调用从小到大排序函数

break;

case 2:paixu2();//调用从大到小排序函数

break;} printf(“排序后的航班信息为:n”);output();

//显示排序后航班信息

printf(“n请按回车键返回上层菜单 ”);

getchar();

getchar();}

void paixu1()//定义从小到大排序函数 { int k,j;struct air t;for(i=0;i

{

k=i;

for(j=i+1;j

if(s[k].num>s[j].num)

k=j;

if(i!=k)

{

t=s[k];

s[k]=s[i];

s[i]=t;

} } }

void paixu2()//定义从大到小排序函数 {

} int k,j;struct air t;for(i=0;i

if(s[k].num

k=j;if(i!=k){

t=s[k];

s[k]=s[i];

s[i]=t;} }

第四篇:C语言编程---火车订票系统源代码

火车订票系统源码

#include #include #include #include

intshoudsave=0;int count1=0,count2=0,mark=0,mark1=0;/*定义存储火车信息的结构体*/ struct train {

char num[10];/*列车号*/

char city[10];/*目的城市*/

char takeoffTime[10];/*发车时间*/

char receiveTime[10];/*到达时间*/ int price;/*票价*/ intbookNum;/*票数*/ };/*订票人的信息*/ struct man { charnum[10];/*ID*/

char name[10];/*姓名*/ intbookNum;/*需求的票数*/ };/*定义火车信息链表的结点结构*/ typedefstruct node { struct train data;struct node * next;}Node,*Link;/*定义订票人链表的结点结构*/ typedefstruct people { struct man data;struct people*next;}bookMan,*bookManLink;/* 初始界面*/ voidprintInterface(){ puts(“********************************************************”);puts(“*

Welcome to use the system of booking tickets

*”);puts(“********************************************************”);puts(“*

You can choose the operation:

*”);puts(“*

1:Insert a train information

*”);puts(“*

2:Inquire a train information

*”);puts(“*

3:Book a train ticket

*”);puts(“*

4:Update the train information

*”);puts(“*

5:Advice to you about the train

*”);puts(“*

6:save information to file

*”);puts(“*

7:quit the system

*”);puts(“********************************************************”);} /*添加一个火车信息*/ voidInsertTraininfo(Link linkhead){ struct node *p,*r,*s;charnum[10];

r = linkhead;

s = linkhead->next;while(r->next!=NULL)

r=r->next;while(1)

{ printf(“please input the number of the train(0-return)”);scanf(“%s”,num);if(strcmp(num,“0”)==0)break;

/*判断是否已经存在*/ while(s)

{ if(strcmp(s->data.num,num)==0)

{ printf(“the train '%s'has been born!n”,num);return;

}

s = s->next;

}

p =(struct node*)malloc(sizeof(struct node));strcpy(p->data.num,num);printf(“Input the city where the train will reach:”);scanf(“%s”,p->data.city);printf(“Input the time which the train take off:”);scanf(“%s”,p->data.takeoffTime);printf(“Input the time which the train receive:”);scanf(“%s”,&p->data.receiveTime);printf(“Input the price of ticket:”);scanf(“%d”,&p->data.price);printf(“Input the number of booked tickets:”);scanf(“%d”,&p->data.bookNum);p->next=NULL;r->next=p;

r=p;shoudsave = 1;

} } /*打印火车票信息*/ voidprintTrainInfo(struct node*p){ puts(“nThe following is the record you want:”);printf(“>>number of train: %sn”,p->data.num);printf(“>>city the train will reach: %sn”,p->data.city);printf(“>>the time the train take off: %snthe time the train reach: %sn”,p->data.takeoffTime,p->data.receiveTime);printf(“>>the price of the ticket: %dn”,p->data.price);printf(“>>the number of booked tickets: %dn”,p->data.bookNum);}

struct node * Locate1(Link l,charfindmess[],char numorcity[]){

Node*r;if(strcmp(numorcity,“num”)==0)

{

r=l->next;while(r)

{ if(strcmp(r->data.num,findmess)==0)return r;

r=r->next;

}

} else if(strcmp(numorcity,“city”)==0)

{

r=l->next;while(r)

{ if(strcmp(r->data.city,findmess)==0)return r;

r=r->next;

}

} return 0;}

/*查询火车信息*/ voidQueryTrain(Link l){

Node *p;intsel;char str1[5],str2[10];if(!l->next)

{ printf(“There is not any record!”);return;

} printf(“Choose the way:n>>1:according to the number of train;n>>2:according to the city:n”);scanf(“%d”,&sel);if(sel==1)

{ printf(“Input the the number of train:”);scanf(“%s”,str1);

p=Locate1(l,str1,“num”);if(p)

{ printTrainInfo(p);

} else

{

mark1=1;printf(“nthe file can't be found!”);

}

} else if(sel==2)

{ printf(“Input the city:”);scanf(“%s”,str2);

p=Locate1(l,str2,“city”);if(p)

{ printTrainInfo(p);

} else

{

mark1=1;printf(“nthe file can't be found!”);

}

} }

/*订票子模块*/ voidBookTicket(Link l,bookManLink k){

Node*r[10],*p;charch,dem;bookMan*v,*h;int i=0,t=0;charstr[10],str1[10],str2[10];

v=k;while(v->next!=NULL)

v=v->next;printf(“Input the city you want to go: ”);scanf(“%s”,&str);

p=l->next;while(p!=NULL)

{ if(strcmp(p->data.city,str)==0)

{ r[i]=p;i++;

}

p=p->next;

} printf(“nnthe number of record have %dn”,i);for(t=0;t

{ printf(“ndo you want to book it?<1/0>n”);scanf(“%d”,&ch);if(ch == 1)

{

h=(bookMan*)malloc(sizeof(bookMan));printf(“Input your name: ”);scanf(“%s”,&str1);strcpy(h->data.name,str1);printf(“Input your id: ”);scanf(“%s”,&str2);strcpy(h->data.num,str2);printf(“Input your bookNum: ”);scanf(“%d”,&dem);h->data.bookNum=dem;h->next=NULL;v->next=h;

v=h;printf(“nLucky!you have booked a ticket!”);getch();shoudsave=1;

}

} } bookMan*Locate2(bookManLinkk,charfindmess[]){ bookMan*r;

r=k->next;while(r)

{ if(strcmp(r->data.num,findmess)==0)

{ mark=1;return r;

}

r=r->next;

} return 0;} /*修改火车信息*/ voidUpdateInfo(Link l){

Node*p;charfindmess[20],ch;if(!l->next)

{ printf(“nthere isn't record for you to modify!n”);return;

} else

{ QueryTrain(l);if(mark1==0)

{ printf(“nDo you want to modify it?n”);getchar();scanf(“%c”,&ch);if(ch=='y');

{ printf(“nInput the number of the train:”);scanf(“%s”,findmess);

p=Locate1(l,findmess,“num”);if(p)

{ printf(“Input new number of train:”);scanf(“%s”,&p->data.num);printf(“Input new city the train will reach:”);scanf(“%s”,&p->data.city);printf(“Input new time the train take off”);scanf(“%s”,&p->data.takeoffTime);printf(“Input new time the train reach:”);scanf(“%s”,&p->data.receiveTime);printf(“Input new price of the ticket::”);scanf(“%d”,&p->data.price);printf(“Input new number of people who have booked ticket:”);scanf(“%d”,&p->data.bookNum);printf(“nmodifying record is sucessful!n”);shoudsave=1;

} else printf(“tttcan't find the record!”);

}

} else

mark1=0;

} } /*系统给用户的提示信息*/ voidAdvicedTrains(Link l){

Node*r;charstr[10];int mar=0;

r=l->next;printf(“Iuput the city you want to go: ”);scanf(“%s”,str);while(r)

{ if(strcmp(r->data.city,str)==0&&r->data.bookNum<200)

{ mar=1;printf(“nyou can select the following train!n”);printf(“nnplease select the fourth operation to book the ticket!n”);printTrainInfo(r);

}

r=r->next;

} if(mar==0)printf(“ntttyou can't book any ticket now!n”);} /*保存火车信息*/ voidSaveTrainInfo(Link l){

FILE*fp;

Node*p;int count=0,flag=1;fp=fopen(“c: rain.txt”,“wb”);if(fp==NULL)

{ printf(“the file can't be opened!”);return;

}

p=l->next;while(p)

{ if(fwrite(p,sizeof(Node),1,fp)==1)

{

p=p->next;count++;

} else

{ flag=0;break;

}

} if(flag)

{ printf(“the number of the record which have been saved is %dn”,count);shoudsave=0;

} fclose(fp);} /*保存订票人的信息*/ voidSaveBookmanInfo(bookManLink k){

FILE*fp;bookMan*p;int count=0,flag=1;fp=fopen(“c:man.txt”,“wb”);if(fp==NULL)

{ printf(“the file can't be opened!”);return;

}

p=k->next;while(p)

{ if(fwrite(p,sizeof(bookMan),1,fp)==1)

{

p=p->next;count++;

} else

{ flag=0;break;

}

} if(flag)

{ printf(“the number of the record which have been saved is %dn”,count);shoudsave=0;

} fclose(fp);}

int main(){

FILE*fp1,*fp2;

Node*p,*r;char ch1,ch2;

Link l;bookManLink k;bookMan*t,*h;intsel;

l=(Node*)malloc(sizeof(Node));l->next=NULL;

r=l;

k=(bookMan*)malloc(sizeof(bookMan));k->next=NULL;

h=k;

fp1=fopen(“c: rain.txt”,“ab+”);if((fp1==NULL))

{ printf(“can't open the file!”);return 0;

} while(!feof(fp1))

{

p=(Node*)malloc(sizeof(Node));if(fread(p,sizeof(Node),1,fp1)==1)

{ p->next=NULL;r->next=p;

r=p;count1++;

}

} fclose(fp1);

fp2=fopen(“c:man.txt”,“ab+”);if((fp2==NULL))

{ printf(“can't open the file!”);return 0;

}

while(!feof(fp2))

{

t=(bookMan*)malloc(sizeof(bookMan));if(fread(t,sizeof(bookMan),1,fp2)==1)

{ t->next=NULL;h->next=t;

h=t;count2++;

}

} fclose(fp2);while(1)

{ system(“cls”);printInterface();printf(“please choose the operation: ”);scanf(“%d”,&sel);system(“cls”);if(sel==8)

{ if(shoudsave==1)

{ getchar();printf(“nthe file have been changed!do you want to save it(y/n)?n”);scanf(“%c”,&ch1);if(ch1=='y'||ch1=='Y')

{ SaveBookmanInfo(k);SaveTrainInfo(l);

}

} printf(“nThank you!You are welcome toon”);break;

} switch(sel)

{ case 1 : InsertTraininfo(l);break;case 2 : QueryTrain(l);break;case 3 : BookTicket(l,k);break;case 4 : UpdateInfo(l);break;case 5 : AdvicedTrains(l);break;case 6 : SaveTrainInfo(l);SaveBookmanInfo(k);break;case 7 : return 0;

} printf(“nplease press any key to continue.......”);getch();

} return 0;}

第五篇:公司出差机票订票管理

公司出差机票订票管理办法 1. 总则 1.1:目的

为了加强公司规范化管理,合理的订购飞机票、火车票(包含国内、国际机票),并结合公司实际情况,规范公司的机票订购流程,提高工作效率,节约差旅成本费用,制定本管理规定,公司所有人需严格遵守本管理办法。1.2:适用范围

本规定适用总公司员工及各地分公司 2.职责

2.1、申请人职责

2.1.1:填写出差申请表

2.1.2详细填写申购机票的姓名,所属团队,公差原因,客户信息,起始地、数量、身份证或护照号及预订时间

2.1.3:订票信息可以以邮件方式发送至行政部

2.1.4:除紧急情况外,订票信息通常至少提前2天发送至行政部 2.2:行政部职责

2.2.1:负责按照规定对飞机票订购的各项事务进行管理和汇总登记

2.2.2:确认出差申请已获批复后,负责对机票请购人的主要信息进行核对 2.2.3:认真核实机票订购的各项工作,达到高效、合理、节约的目的 2.2.4对航班号,起始时间、起始地、中转地做好登记 2.2.5行政部根据实际航班,通知乘机人并安排相关工作 3订票管理

3.1 飞机票订票管理

3.1.1 公司订票事务由行政部完成

3.1.2 申请人员需向公司提供订票所需证件的原件及复印件

3.1.3 行政部每月对上月机票的订购记录进行汇总核准,报领导查阅 3.2机票订票流程,详见【机票预订及付款流程】 4费用支付

4.1 机票费用按月支付,一月支付一次,相关费用由行政部统一报销

4.2机票第一次改签免费,因个人原因导致退票或者改签,产生费用由个人承担,因公司原因造成误机,费用公司负责,由个人原因造成误机费费用自理。

下载C语言机票订票管理系统源代码word格式文档
下载C语言机票订票管理系统源代码.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    机票订票系统需求规格说明书

    兰州理工大学课程设计 三、需求规格说明书1.引言 ................ 21.1编写目的 ............... 21.2项目背景 ............... 21.3参考资料 ............... 22.任务概述......

    c语言课程设计-学籍管理系统(含源代码)

    课 程 设 计 课程设计名称: C语言程序设计 题 目:学籍管理系统 学 生 姓 名: 学生学号 : 学 院(系): 软件学院 专 业 班 级: 112021 指 导 教 师: 设计时间: 2012 年 9 月 日......

    火车订票管理系统

    学号11~15 选题三:火车票订票管理系统 1. 基本要求:为方便管理火车票购买信息,编写一个火车票订票管理系统软件。系统记录必须包括订票人姓名、订票人身份证号、始发站、终到站......

    通讯管理系统源代码

    题目:用C/C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 (一)功能要求 (1)查看功能:选择此功能时,列出下列三类选择。 A 办公类 B 个人类 C 商务类 ,当选中某类时......

    图书管理系统源代码

    环植学院深入开展创先争优活动实施方案为贯彻落实中共中央、海南省委、省委教育工委及学校党委“关于在党的基层组织和党员中深入开展创先争优活动”的决定,根据相关文件精神......

    机票预订管理系统

    机票预订管理系统 机票预订管理系统摘要 摘要 随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部......

    C语言程序设计——飞机订票系统

    C语言程序设计——飞机订票系统 代码如下:” #include"stdio.h" #include"stdlib.h" #include"string.h" #defineLENsizeof (structplane) #defineMAX 10; structplane { ch......

    C语言课程设计火车票系统源代码

    #include #include #include //火车票结构体类型// typedef struct Node {int num; //编号// char name[20]; //起点和终点// char time[5]; //出发时间// int price; /......