Cinema B1 até B10
Usei boa parte o Chat GPT (basicamente tudo), é estout entando fazer status que atualize com número de cadeira do usuario, quando cadeira seleciona muda status, mas apenas dá Cadeira Invalida. Alguma ideia de alguem ?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void clear_screen() {
system("cls");
}
void print_chairs(char *chairs[]) {
printf("Cadeiras disponíveis:\n");
for (int i = 1; i <= 10; i++) {
char cadeira[3];
sprintf(cadeira, "B%d", i);
char status[4];
if (strcmp(chairs[i], "C") == 0) {
sprintf(status, "[%s]", cadeira);
} else {
sprintf(status, "[--]");
}
printf("%s ", status);
}
printf("\n");
}
int main() {
char *chairs[11];
for (int i = 1; i <= 10; i++) {
chairs[i] = malloc(2);
strcpy(chairs[i], "C");
}
while (1) {
clear_screen();
print_chairs(chairs);
char cadeira[4];
printf("Reservar a cadeira: ");
scanf("%3s", cadeira);
for (int i = 0; cadeira[i]; i++) {
cadeira[i] = toupper(cadeira[i]);
}
if (cadeira[0] != 'B' || atoi(&cadeira[1]) < 1 || atoi(&cadeira[1]) > 10) {
printf("Cadeira inválida!\n");
} else if (strcmp(chairs[atoi(&cadeira[1])], "C") == 0) {
strcpy(chairs[atoi(&cadeira[1])], "--");
printf("Cadeira %s RESERVADA!\n", cadeira);
} else {
printf("Cadeira %s já está reservada!\n", cadeira);
}
char opcao[2];
printf("Quer reservar outra cadeira? [S/N] ");
scanf(" %1s", opcao);
for (int i = 0; opcao[i]; i++) {
opcao[i] = toupper(opcao[i]);
}
if (strcmp(opcao, "S") != 0) {
printf("Fim Das Escolhas!\n");
break;
}
}
for (int i = 1; i <= 10; i++) {
free(chairs[i]);
}
return 0;
}