C语言火车票信息管理系统
课程设计报告
姓名班级学号课程设计信息课程名称C程序设计课程设计题目火车票信息管理系统课程设计时间2011-11-1至2011-12-30成绩评阅教师
2010-2011学年第一学期
票务信息管理程序
一、课程设计内容
我所设计的程序是一个火车票信息管理系统,其是从南京火车站通向47座城市的火车票的查询,购买,退订的程序。
其涉及的主要算法有:1输入;2.查询;3.输出;4.选择;5.返回。
二、课程设计目的
设计南京火车站的票务信息管理程序,其主要问题要求是做一个车票购买的函数的显示程序
三、算法的基本思想
1.数据的结构
此程序需要设计2个数据结构,结构体设计如下:
(1)typedef struct traininfor
{
char station[10][10]; //记录车站信息
char tnumber[20]; //车次号
float price;//车票价格
int lnumber;//生成票量
char time[20];//到站时间
}pemp;
(2)struct ticket
{
char buyer[10];//购票人姓名
char source[30];//起始站
char dest[30];//终点站
int bnumber;//购买张数
};
2.函数定义
程序源文件中包含的函数如下
源文件函数类型功能说明
ticket.cvoid menu(pemp *pointtr,struct ticket *pointtk)打印主菜单void buy(pemp *pointtr,struct ticket *pointtk)购买车票void returnt(pemp *pointtr,struct ticket *pointtk)退票void check(pemp *pointtr,struct ticket *pointtk)查看起始地车票信息void show(struct ticket *pointtk, pemp *pointtr)显示车票信息Void exit()退出程序3.处理过程
1)菜单显示程序
void menu(pemp *pointtr,struct ticket *pointtk)
{
int a;
printf("\n\n\n\n -----------------目录-----------------\n");
printf(" 1,查询车票\n");
printf(" 2,购买车票\n");
printf(" 3,退订车票\n");
printf(" 4,退出程序\n");
printf(" 请输入选项序号:");
scanf("%d",&a);
if(a==1)
{
check(pointtr,pointtk);//按起始地查找
menu(pointtr,pointtk);//显示菜单程序
}
else if(a==2)
buy(pointtr,pointtk);//购买车票
else if(a==3)
returnt(pointtr,pointtk);//退订车票
else if(a==4)
{
printf("谢谢使用!");
//exit();
exit(0);
}
}
2)车票购买函数
void buy(pemp *pointtr,struct ticket *pointtk)
{
char choice[10];
int buynumber;
printf("请输入您的姓名:\n");
scanf("%s",pointtk->buyer);//输入姓名
check(pointtr,pointtk);//查询是否有车票
if((strcmp(pointtk->dest,"o"))==0)//如果没有 给出提示
{
printf("无此站!返回菜单!\n");
menu(pointtr,pointtk);
}
else
{
printf("您确定购买此车票吗? 1.是 2.否\n");//确认购买
scanf("%d",choice);
if((strcmp(choice,"1"))==0)
{
printf("请输入您要购买的张数:\n");//输入张数
{
scanf("%d",&buyn