Exatamente, é uma matriz, e cada elemento dela guarda uma struct de um cliente com (nome, sexo,idade)
Esse é o código, inclusive se achar outros erros eu ficaria muito agradecido se me disser.
#include <stdio.h>
#include <math.h>
struct Cliente
{
char nome [100], sexo [1];
int idade;
};
int main (){
int opcao,fileiras,fileiraUnica,colunas,colunaUnica,totalassentos,contadorm,contadorf,idade,lugarA,lugarB,i,j;
char nome, sexo, confirmar;
float ingresso,meia;
idade=-1;
int assentos,fila;
printf("\n**********************************************************\n");
printf("Bem vindo CINEMAX! Para comecar digite o tamanho do nosso cinema\n Primeiro quantas fileiras: ");
scanf ("%d",&fileiras);
printf ("Agora diga quantas colunas: ");
scanf ("%d",&colunas);
printf("\n**********************************************************\n");
printf("Agora digite o valor do ingresso inteiro: R$");
scanf("%f",&ingresso);
meia = ingresso/2;
int cinema [fileiras][colunas];
totalassentos=fileiras*colunas;
while (1){
printf("\n**********************************************************\n");
printf("Opcao 1 - Consultar situacao de um assento especifico:\n");
printf("Opcao 2 - Consultar disponibilidade de varios assentos em uma unica fila:\n");
printf("Opcao 3 - Reservar assentos:\n");
printf("Opcao 4 - Cancelar bilhete:\n");
printf("Opcao 5 - Visualizar mapa de assentos:\n");
printf("Opcao 6 - Visualizar relatorio:\n");
printf("Opcao 7 - Fechar o programa\n");
printf("**********************************************************\n");
printf("Escolha uma opcao: ");
scanf("%i",&opcao);
fflush(stdin);
system("cls");
struct Cliente cliente[fileiras][colunas];
cliente[i][j].idade = -1;
switch (opcao)
{
case 1: //Consultar um assento específico
printf ("** Menu de Consulta de um assento *** \n");
printf ("Escolha a fila do assento: ");
scanf ("%d",&i);
printf ("Agora escolha a coluna: ");
scanf("%d",&j);
if (cliente[i][j].idade >= 0)
{
printf("Esse lugar ja esta ocupado, por favor escolha outro.");
}
else
{
printf("O assento selecionado esta vago, selecione a opcao 3 no menu para compralo.");
}
break;
case 2: //Consultar vários assentos
printf("**** Menu de consulta de vários assentos ****");
break;
case 3: //Fazer reservas
printf("Quantos assentos voce vai querer? ");
scanf("%d",&assentos);
fflush(stdin);
for ( i=-1;i<assentos-1;i++){
printf("Diga qual fila voce gostaria os seus assentos: ");
scanf("%d",&fila);
printf("E qual a coluna do seu assento da fila %d voce gostaria? ",fila);
scanf("%d",&colunaUnica);
fflush(stdin);
system("cls");
fila = j;
printf("Qual o seu nome? ");
gets (cliente[i][j].nome);
fflush(stdin);
printf("\nQual a sua idade? ");
scanf("d",&cliente[i][j].idade);
fflush(stdin);
char sexolocal;
printf("\nQual o seu sexo? Por favor responda com M ou F: ");
scanf("%c",&sexolocal);
while ( (sexolocal != 'm') && (sexolocal != 'f') )
{
printf("Resposta Invalida! Por favor responda novamente: ");
scanf("%c",&sexolocal);
}
sexolocal = cliente[i][j].sexo;
if (cliente[i][j].sexo =='m')
contadorm++;
else if (cliente[i][j].sexo == 'f')
contadorf++;
fflush(stdin);
system("cls");
}
break;
case 4: //Cancelar bilhete
printf("** Menu de Cancelamento *** \n ");
printf("\nQual a fileira do assento desejado? ");
scanf ("%d",&fileiraUnica);
printf("\nQual a coluna do seu bilhete? ");
scanf("%d",&colunaUnica);
printf("\nPor favor deseja confirmar o cancelamento? 's' para Sim e 'n' para Nao: ");
scanf("c",&confirmar);
if (confirmar = 's')
{
cliente[fileiraUnica][colunaUnica].idade = -1;
break;
}
else
{
printf("*** voce voltará ao menu *** ");
break;
}
case 5: //Mostrar o mapa de assentos
for(i = 0; i < fileiras; i++) {
for(j = 0; j < colunas; j++) {
cliente[i][j].idade = -1;
if(j == 0)
{
printf("%d ", i);
}
else if (cliente[i][j].idade >= 0)
printf("X");
else
printf (".");
}
printf("\n");
}
printf("////////////// TELA //////////////");
break;
case 6: //Mostrar Relatório
break;
case 7: //fechar programa
printf("////////////////////////////////////////////////////////////////////");
printf ("\n Muito obrigado pela preferência, um otimo dia e volte sempre!\t\n");
printf("///////////////////////////////////////////////////////////////////");
return 0;
}
}
return 0;
}