#include
#include
#include
#define ROW 9
#define COL 16
int seat[ROW][COL];
void prt() //输出所有位置状态
{
int i,j;
for(i=0;i{
for(j=0;j{
printf("%d ",seat[i][j]);
}
printf("\n");
}
}
void menu() //菜单
{
system("cls");
printf("Zhangsan's cinema ticketing record system\n");
prt();
printf("\nWelcome to use Zhangsan's cinema ticketing record system\n");
printf("The rules:\n");
printf("For enquiries,input check\n");
printf("For exit,input exit\n");
printf("For choose the seat,input the ranks of seat.\n");
printf("for example row 2 and column 1, input 21\n");
printf("Please input:\n");
}
int main()
{
int i,j;
for(i=0;i{
for(j=0;j{
seat[i][j]=1;
}
}
char in[20]; //用于接收用户输入
while(1)
{
menu();
memset(in,'\0',20); //清空接收用户输入字符数组
fflush(stdin); //清空输入缓冲区
scanf("%s",in); //接收用户输入
if(strcmp(in,"exit")==0) //比较是否输入exit
{
return 0; //如果是exit,则退出程序
}
else if(strcmp(in,"check")==0) //比较是否是check
{
printf("The current Zhangsan's cinema ticketing record system\n");
prt();
}
else
{
int x=0,y=0; //用于存储行和列的数据
int all_is_num=1; //用户输入的数据是否是全为数字,标志变量
for(i=0;i{
if(in[i]<'0' || in[i]>'9' || in[0]=='0')
{
all_is_num=0; //如果有其它字符, 标志变量置为0并退出for循环
break;
}
}
if(all_is_num==1) //判断标志变量,如为1表示全为数字
{
x=in[0]-'0'; //获取行数据信息
in[0]='0';
y=atoi(in); //获取列数据信息
if(x>0 && x<=ROW && y>0 && y<=COL) //判断行,列数据是否过大或过小
{
if(seat[x-1][y-1]==1) //判断该行该列位置是否已被售出(为1时未售出)
{
seat[x-1][y-1]=0; //该位置数据变为0,表示已售出
prt();
}
else //如果该位置已被售出,则输出已被售出信息
{
printf("the seat row %d and column %d is be saled !",x,y);
}
}
else //如果行,列数据过大或过小,输出报错信息
{
printf("input error!");
}
}
else //标志变量为0, 表示输入的不全是数字,输出报错信息
{
printf("input error!");
}
}
printf("\n\nPress any key will be return to Menu..."); //按任意键返回菜单
fflush(stdin);
getch();
}
return 0;
}
期末考试不怕挂科吗快补习吧你。