本文目录一览:
- 1、C语言 车票管理系统 前面一点点的程序,不知道报错是什么意思,可以解释一下吗?代码的具体问题是什么
- 2、用C语言编写一个车票管理系统
- 3、C语言编程 车票管理系统
- 4、有关车票管理系统(c语言)的问题?怎样可以输入多个信息
C语言 车票管理系统 前面一点点的程序,不知道报错是什么意思,可以解释一下吗?代码的具体问题是什么
#include "stdio.h"
#include string.h
#include stdlib.h
#define N 1000
typedef struct //定义新结构体Ticket
{
char num[10]; //车次
char hour[3];
char min[3]; //发车时间
char from[10]; //起点站
char to[10]; //终点站
float hours; //行车时间
int max; //额定载量
int now; //已订票人
}Ticket;
char* menu[]={" 欢迎使用车票查询系统",
"\n*******************菜单*********************** ",
"\n 1. 录入班次信息",
"\n 2. 浏览班次信息",
"\n 3. 查询路线",
"\n 4. 增加班次",
"\n 5. 售票",
"\n 6. 退票",
"\n 7. 修改班次",
"\n 8. 删除班次",
"\n 9. 退出"};
Ticket records[N];
int ticket_num=0;
int menu_select(); //菜单
void message(); //录入班次信息
void get(int i,int j);
int main()
{
int i,j;
menu_select();
get(i,j);
return 0;
}
int menu_select() //菜单
{
int c,i;
char s[5];
system("cls"); //刷屏
for(i=0;i11;i++)
{
printf("%s",menu[i]); //输出菜单
}
printf("\n请输入选项(1-9): ");
scanf("%s",s);
c=atoi(s); //把字符串转换成整型
for(;c1||c9;) //判断是否输错 输错后重输
{
printf("输入错误\n请输入选项(1-9): ");
scanf("%s",s);
c=atoi(s);
}
return c;//输出菜单
}
void message() //录入班次信息
{
int i=0,j=5,h;
char s[5];
FILE *fp; //定义文件型指针变量
system("cls");
if((fp=fopen("d:车票管理系统0.dat","rb"))!=NULL) //fopen打开文件
{
printf("增加信息\n");
printf("请输入任意键返回\n");
scanf("%s",s);
i=1;
}
}
void get(int i,int j){
}
方法调用错了,调用方法只需要写方法名,你看一下我的是怎么写的,后边的代码我只是敲了个空方法
用C语言编写一个车票管理系统
1、首先打开CodeBlocks,新建一个空白文件。先定义头文件和主函数。
2、定义所需要的变量,因为有除法,肯定会有小数出现,所以将变量定义为浮点型。
3、定义输入函数,将刚才的x和y定义为计算的变量,将c定义为选择计算方式的变量。scanf("%f%c%f",x,c,y)。
4、添加switch函数,将c作为选择变量。
5、然后在主函数中输入一个输出函数来输出计算式及结果。
6、这时进行运行如图,计算正常。
C语言编程 车票管理系统
#includestdio.h
#includestdlib.h
#includestring.h
# define size 10 struct t_tickets /* 定义结构体 */ {int number; /* 结构体中的申明部分 */ char begin [10]; char start[30]; char loadend[30]; float time; int people; int booked; } t[size]; FILE*fp; struct t_tickets t[size];
void save()
{
int i; if ((fp=fopen("ticket.text","w+"))==NULL)
{
printf("cannot open the file\n");
return;
}
for(i=0;isize;i++)
if(fwrite(t[i],sizeof(struct t_tickets),1,fp)!=1)
printf(" file write error\n");
fclose(fp);
}
void input()
{
int i;
printf("----------请录入班次信息----------\n");
for(i=0;isize;i++)
{
scanf("%d %s %s %s %f %d %d",t[i].number,t[i].begin, t[i].start,t[i].loadend,t[i].time,t[i].people,t[i].booked);
save();} }
void output()
{
int i ;
fp=fopen("ticket.text","r");for(i=0;isize;i++)
{
fread(t[i],sizeof(struct t_tickets ),1,fp);printf("\n%-4d %-8s %-13s %-13s %-6.1f %-6d %4d\n",t[i].number,t[i].begin, t[i].start,t[i].loadend,t[i].time,t[i].people,t[i].booked);
}
fclose(fp);} void scan(){
int k;int number;
printf("请输入您想要查询的班次号:\n");
scanf("%d",number);
fp=fopen("ticket.text","r");
for(k=0;ksize;k++)
{
fread(t[k],sizeof(struct t_tickets),1,fp);
if(number==t[k].number)
{ printf("\n 班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数 \n");
printf("\n%-4d %-8s %-13s %-13s %-6.1f %-6d %4d\n",t[k].number,t[k].begin, t[k].start,t[k].loadend,t[k].time,t[k].people,t[k].booked);
break;
}
}
if(k=size)
printf("对不起,没有您想要查询的班次,谢谢使用本系统\n");
fclose(fp);
} void check()
{
int i; char loadend[30];
printf("请输入你想要查询的终点站的名称:\n");
scanf("%s",loadend);
fp=fopen("ticket.text","r");
for(i=0;isize;i++)
{
fread(t[i],sizeof(struct t_tickets),1,fp);
if(strcmp(loadend,t[i].loadend)==0)
{
printf("\n 班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数 \n"); printf("\n%-4d %-8s %-13s %-13s %-6.1f %-6d %4d\n",t[i].number,t[i].begin, t[i].start,t[i].loadend,t[i].time,t[i].people,t[i].booked);
break;
}
}
if(i=size)
printf("对不起,没有您想要查询的班次,谢谢使用本系统!\n");
fclose(fp);
} void book(){
int i;int number;int m;char loadend[30];int ticket=1;
if ((fp=fopen("ticket.text","r"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i=1;i++)
fread(t[i],sizeof(struct t_tickets),1,fp);
printf("\n请输入你想要到达的终点站:\n");
scanf("%s",loadend);
printf("到达此终点站的班次有:\n");
printf("\n 班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数 \n");
for(i=0;i=1;i++)
if(strcmp(loadend,t[i].loadend)==0)
{
ticket=2;
printf("\n 班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数 \n");
printf("\n%-4d %-8s %-13s %-13s %-6.1f %-6d %4d\n",t[i].number,t[i].begin, t[i].start,t[i].loadend,t[i].time,t[i].people,t[i].booked);
}
for(i=0;i=1;i++)
if(strcmp (loadend,t[i].loadend)==0)
if(t[i].bookedt[i].people)
{
ticket=3;
printf("请输入订票的张数:\n");
scanf("%d",m);
for(i=0;i=size;i++)
if(number=t[i].number); if ((fp=fopen("ticket.text","w"))==NULL)
{
printf("not open the file\n");
return;
}
{
t[i].booked=t[i].booked+m;
if ((fp=fopen("ticket.text","w"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i=size;i++) fwrite(t[i],sizeof(struct t_tickets),1,fp); fclose(fp);
printf(" 您订票成功!谢谢使用本次服务!\n"); }} if(ticket==1)
printf("\n 没有你查询的班次,请查询后在输入\n");
if(ticket==2)
printf("\n 你想要购买的票以售完,请购买下一班 \n"); fclose(fp); if ((fp=fopen("ticket.text","w"))==NULL)
{
printf("not open the file\n");
return;
} for(i=0;i=size;i++)
fwrite(t[i],sizeof(struct t_tickets),1,fp); fclose(fp);
} void rback(){
int number,i,m;if((fp=fopen("ticket.text","r"))==NULL)
{
printf("not open the file\n");
return;
}for(i=0;i=1;i++)
fread(t[i],sizeof(struct t_tickets),1,fp);
printf("请输入退票的班次:\n");
scanf("%d",number);
printf("请输入退票的张数:\n");
scanf("%d",m);
for(i=0;i=size;i++)
if(number==t[i].number)
{
t[i].booked=t[i].booked-m;
printf("\n 您退票成功!,谢谢\n");}
fclose(fp); if ((fp=fopen("ticket.text","w"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i=size;i++) fwrite(t[i],sizeof(struct t_tickets),1,fp); fclose(fp);
}
void over()
{
printf("\n 谢谢您的使用,请按任意键结束!\n");
return;
}
void main(){
int b; printf(" 这里是车票管理系统,欢迎你的使用\n");
printf(" 袁宏杰 制作\n");
printf("\n******************************************\n");
printf(" ==== 0,录入班次信息\n");
printf(" ==== 1,浏览信息\n");
printf(" ==== 2,按班次查询\n");
printf(" ==== 3,按终点站查询\n");
printf(" ==== 4,预定车票\n");
printf(" ==== 5,退票 \n");
printf(" ==== 6,退出程序\n");
printf("\n******************************************\n");
do{
printf("-----选择主菜单功能(0~6\n");
scanf("%d",b);
switch (b)
{
case 0: input(); break;
case 1: output(); break;
case 2: scan(); break;
case 3: check(); break;
case 4: book(); break;
case 5: rback(); break;
case 6: over(); break;
default: printf(" enter error!\n");
}}while(1);}
有关车票管理系统(c语言)的问题?怎样可以输入多个信息
void luru()
{FILE *fp;
{INFORMATION *p;
fp=fopen("ticket","r+");
p=(INFORMATION *)malloc(sizeof(INFORMATION));
printf("请输入班次信息\n");
while(p-numb!=0)
{
scanf("%d%s%s%s%f%d%d\n",p-numb,p-starttime,p-begin,p-end,p-lasttime,p-canload,p-alreadyload);
rear-next=p; //在INFORMATION单链表中依次插入下一结点
rear=p;
rear-next=NULL;
p=(INFORMATION *)malloc(sizeof(INFORMATION));
} }
fclose(fp);
}
你主要的程度 我没有看到 你要问的意思我想我应该明白了,你设置个结束标志:如我的以0结尾,使用while循环,前面分配的空间你已经用了,因为你要连续输入,所以必须,另外分配空间,你可以试着试调试下。
另外你在输入字符串时,就不能用:p-starttime应该直接用:p-starttime 我想你在定义结构体时应该是把starttime定义为数组的形式吧,这本身就是个地址了,所以前面不用加“”地址符了。