我写了一个使用2d数组的程序 我有两个功能,一个是提供选项菜单(我没有覆盖其中大部分),菜单调用另一个功能。
该功能正在实施一个菜单选项,即在剧院购买座位,如果用户想要的座位被取走,则该功能返回0
,如果不是拍摄后,它会返回1
并将座位值更改为-1
。情况是当函数返回一个值,它结束,我知道为什么,但我怎么能再次使用它?
以下是菜单的代码:
void menu(int cinema[][SEATS_IN_ROW])
{
int choice = 0;
printf("Select an option:\n1 - Print cinema hall\n2 - Buy a ticket\n3 - Print number of taken seats\n4 - Make a seat discount\n5 - Set a new price for all seats\n6 - Exit\n");
scanf("%d", &choice);
switch (choice)
{
case 1:
printCinema(cinema, ROWS);
break;
case 2:
if(ticket(cinema) == 0)
{
printf("Seat taken!");
}
else
{
printf("You got the seat!");
}
break;
}
}
这是第二个功能的代码(买座位):
int ticket(int cinema[][SEATS_IN_ROW])
{
int rows = 0 , cols = 0;
int flag = 0;
printf("Which row (0-4)?\n");
scanf("%d", &rows);
printf("Which seat (0-2)?\n");
scanf("%d", &cols);
if(cinema[rows][cols] == -1)
{
flag = 0;
}
else
{
cinema[rows][cols] = -1;
flag = 1;
}
return flag;
}
感谢。
答案 0 :(得分:2)
你应该在menu()
中有一个循环,以便它一直运行直到用户告诉它退出。