本文目錄一覽:
- 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定義為數組的形式吧,這本身就是個地址了,所以前面不用加“”地址符了。
原創文章,作者:OIOC,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/139627.html