创建一个简单的飞机预订程序不会重新开始



这是我的代码。目前,代码一次打印出所有座位。我需要它打印一个座位,然后重新启动到用户提示。它不能分配同一个座位,当没有更多座位时,应该显示头等舱已满。

int main(int argc,char**argv({

int firstClass[] = {1, 2, 3, 4}; //first class array
int firstLen = 4; // first class length
int userInput;
int i;
//user prompt
printf("Please type 1 for First Classn");
printf("Please type 2 for Economyn");
printf("Please type 0 to Quitn");
printf("n");
scanf("%d", &userInput); // scanning for user input

if(userInput = 1){
for(i = 0; i < 4; i++){
if(i < firstLen){
printf("Class: First     Seat Number: %dn", firstClass[i]);

}
else{
printf("First Class Full. Next flight is tomorrow.");
}

}
}

}

您可以使用变量跟踪哪些座位被占用。每次用户选择1时,打印出该索引的座位号,然后递增索引。

然后,您将把它封装在一个循环(forwhile(中,并且只有在用户输入0时才退出该循环。确保定义了用于跟踪循环外部的当前索引的变量。

类似这样的东西:

int main(void)  
{
const int first_class[] = {1, 2, 3, 4};
const size_t first_class_size = sizeof(first_class) / sizeof(first_class[0]); 
size_t first_class_index = 0;
int user_input = 0;
do
{
print_menu();
scanf("%d", &user_input);
if (user_input == 1) 
{
if (first_class_index < first_class_size) 
{
printf("Here is your ticket information:n");
printf("Seat Number: %d, Class: Firstnn", first_class[first_class_index++]);
continue;
}
printf("No first class seats are available.nn");
}
} while(user_input != 0); 
}

相关内容

最新更新