歡迎使用CSDN markdown編輯器

2021-07-03 07:21:19 字數 1878 閱讀 1615

#include

#include

#define m 80

#define n 20

#define bool int

#define true 1

#define false 0

typedef

struct tagseat

seat;

typedef

struct taginterval

interval;

interval* createlist(); //建立座位鍊錶

void showlist(interval *phead);

bool getrequest(int *p); //得到每次購票的數量資訊

void buyseat(int i); //買票

void outputresult(int * seatnum, int count); //將售票資訊輸入到檔案中

void main()

else

}interval* createlist()

else

//間隔號為雙號

}return phead;

}void showlist(interval *phead)

printf("\n");

p = p->next;

}printf("第 %d 個間隔的座位號為:\n",p->intervalnum);

for(i = 0;i < 4; i++)

printf("\n");

}void buyseat(interval* phead,int i)

; //儲存座位號的陣列

int count = 0; //計數

interval* p = phead;

if(i == 1) //買一張票

}p = p->next}}

if(i == 2)

}else

} //優先售相鄰的座}}

}p = phead;

if(count == 0)//沒有相鄰座票}}

}}

}//一次購買兩張票

if(i == 3)

if(p->seat[j+1].issell == false && p->seat[j+5].issell == false)

if(p->seat[j+4].issell == false && p->seat[j+5].issell == false)

}if(j == 1)}}

}}

p = phead;

if(count == 0)//沒有同一間隔座票}}

}}

} //一次購買3張票

if(i == 4)

//同一間隔的票

}p = p->next;

}p = phead;

if(count == 0)}}

}}

}//一次性購買4張票

}bool getrequest(int *p)

; static

bool isfirst = true;

int i;

if(isfirst)

isfirst = false;

fclose(fp);

}if(inputdata[nindex] == 0 || nindex == m) return

false;

*p = inputdata[nindex++];

return

true;

}void outputresult(int * seatnum, int count)

fprintf(fp,"\n");

fclose(fp);

}

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...