[C con Clase] AYUDA URGENTE TEATRO

Nicolas Ayala nicoayala10 en hotmail.com
Lun Nov 7 00:12:13 CET 2011


hola ya lo tengo terminado el problema es como puedo hacer para salvarlo y recuperar esto en la pc,no tengo idea ayuda



#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define FILAS 15
#define COLUMNAS 20

struct nodo {
        char estado;//R= reservado, V=vendido L=libre
        long telefono;
};
typedef struct nodo _nodo;




void menu();
void pantalla();
void iniciarteatro(_nodo[FILAS][COLUMNAS]); // pone todo al estado L
void venderasiento(_nodo[FILAS][COLUMNAS]);
void reservarasiento(_nodo[FILAS][COLUMNAS]);
void liberarasientos(_nodo[FILAS][COLUMNAS]);
void mostrarasientos(_nodo[FILAS][COLUMNAS]);
void liberaruno(_nodo[FILAS][COLUMNAS]);




void main(){
menu();
}
                    // MENU
void menu()
{
int opcion;
_nodo teatro[FILAS][COLUMNAS];




do{
    pantalla();
    scanf("%d",&opcion);
    switch(opcion){
        case 1:iniciarteatro(teatro);break;
        case 2:venderasiento(teatro);break;
        case 3:reservarasiento(teatro);break;
        case 4:liberarasientos(teatro);break;
            case 5:mostrarasientos(teatro);break;
            case 6:liberaruno(teatro);break;
            case 0:break;
            default: printf("opcion erronea");
        }
            getch();
            } while (opcion !=0);
}




void pantalla(){
        clrscr();
            printf("\n1-Iniciar teatro\n");
            printf("\n2-Vender asiento\n");
            printf("\n3-Reservar asiento\n");
            printf("\n4-Liberar Reservas\n");
            printf("\n5-Mostrar Asientos\n");
        printf("\n6-Liberar un asiento\n");
            printf("\n7-Recuperar TeaTROro\n");
            printf("\n0-Salir\n");
            printf("\nIngrese una opcion:\n");
}
            //INICIAR TEATRO




void iniciarteatro( _nodo teatro[FILAS][COLUMNAS])
{
int ifila,icolumna;
int opcion;
char liberar='L';




printf("\nEsta seguro que decea crear una nueva planilla SI=1 NO=0\n");
scanf("%d",&opcion);
if (opcion!=1)
{
printf("\nPulse una tecla para volver al menu principal\n");
getch();
}
if(opcion==1)
{
for(ifila=0;ifila<FILAS;ifila++)
{
for(icolumna=0;icolumna<COLUMNAS;icolumna++)
{
teatro[ifila][icolumna].estado=liberar;
teatro[ifila][icolumna].telefono=0;


}
}
printf("La planilla del teatro se ha creado con exito");
getch();
}
}


            //FUNCION VENDER ASIENTO


void venderasiento( _nodo teatro[FILAS][COLUMNAS])
{
int ifila,icolumna;
char ubicacion;
char estadovendido='V';
char estadoreservado='R';
long telreserva;
mostrarasientos(teatro);
printf("\nElige la fila y la columna de la butaca que quiere seleccionar\n");

do
 {
 printf("\nSeleccione la fila\n");
 scanf("%d",&ifila);
 flushall();
 printf("\nSeleccione la columna\n");
 scanf("%d",&icolumna);

 if(estadovendido==teatro[ifila][icolumna].estado )
 {
 printf("/nEl asiento fila :%d columna :%d no esta disponible, Seleccione otro",ifila,icolumna);
 }

 if(estadoreservado==teatro[ifila][icolumna].estado)
 {
 printf("Este asiento esta reservado, ingrese el telefono de la reserva");
 scanf("%ld",&telreserva);
        if(telreserva !=teatro[ifila][icolumna].telefono)
        {
        printf("El telefono que ingreso no coincide con el telefono del asiento");
        getch();
        }
        else
        {
        teatro[ifila][icolumna].estado=estadovendido;
        ubicacion='L';
   printf("Su asiento a sido vendido");
   getch();
        }
 }
 else
        {
        teatro[ifila][icolumna].estado=estadovendido;
        ubicacion='L';
    printf("Su asiento a sido vendido");
        getch();
        }


}while( ubicacion != 'L');


}

                    //FUNCION RESERVAR ASIENTO


void reservarasiento(_nodo teatro[FILAS][COLUMNAS])
{
int icolumna,ifila;
char reservado='R';
char vendido='V';
char ubicacion;
long nuevotelefono;
mostrarasientos(teatro);

printf("Seleccione la butaca\n\n");

do{
        printf("Seleccione la fila de la butaca que desea reservar\n");
        scanf("%d",&ifila);
        flushall();
        fflush(stdin);
        printf("Seleccione la columna de la butaca que desea reservar\n");
        scanf("%d",&icolumna);
        fflush(stdin);

if(ifila<=FILAS || icolumna<=COLUMNAS)
{
if(teatro[ifila][icolumna].estado==vendido || teatro[ifila][icolumna].estado==reservado)
        {
        printf("La butaca fila: %d columna: %d no esta disponible\n",ifila,icolumna);
        getch();
}
else
        {
            teatro[ifila][icolumna].estado=reservado;
        printf("Ingrese el numero de telefono de la reserva correspondiente\n\n");
        scanf("%ld",&nuevotelefono);
        teatro[ifila][icolumna].telefono=nuevotelefono;
        ubicacion='L';
            }
}
else
{
printf("\nLa fila o columna que ingreso no existe");
}

}while(ubicacion!='L');
printf("La reserva se ha realizado con exito");
getch();

}

            //FUNCION LIBERAR ASIENTOS RESERVADOS
void liberarasientos(_nodo teatro[FILAS][COLUMNAS])
{

for(int ifila=0;ifila<FILAS;ifila++)
for (int icolumna=0;icolumna<COLUMNAS;icolumna++) {

if(teatro[ifila][icolumna].estado=='R')
{
teatro[ifila][icolumna].estado='L';
teatro[ifila][icolumna].telefono=0;
}
}
printf("\nLas reservas se han liberado con exito");
}


          //FUNCION MOSTRA TEATRO
void mostrarasientos(_nodo teatro[FILAS][COLUMNAS]){

int ifila,icolumna;
int numerocolumna;
printf("COLUMNAS ");
fflush(stdout);
for(numerocolumna=1;numerocolumna<=20;numerocolumna++){
if(numerocolumna<1)
{
printf("%d ",numerocolumna);
}
else
{
printf("%d  ",numerocolumna);
}                                                      }
for(ifila=1;ifila<=FILAS;ifila++) {
    printf("\nFila   ");
    for(icolumna=1;icolumna<=COLUMNAS;icolumna++)
    {
    if(icolumna<=COLUMNAS-11)
    {
    printf("  %c",teatro[ifila][icolumna].estado);
    }
    else
    {
    printf("  %c ",teatro[ifila][icolumna].estado);
    }
    }
                   }
}


        //FUNCION LIBERAR DE A UNO
void liberaruno(_nodo teatro[FILAS][COLUMNAS])
{
int ifila,icolumna;
char vendido='V';
char reserva='R';
char liberar='L';
int terminardo=0;

printf("Ingrese la fila del asiento que decea liberar:\n");
scanf("%d",&ifila);
printf("Ingrese la columna del asiento que decea liberar:\n");
scanf("%d",&icolumna);

if(ifila<=FILAS || icolumna<=COLUMNAS)
{

do
{
if(teatro[ifila][icolumna].estado==vendido)
                            {
                            printf("Este asiento ha sido vendido no puede liberarlo\n");
                            getch();
                            }
if(teatro[ifila][icolumna].estado==reserva)
                            {
                    teatro[ifila][icolumna].estado=liberar;
                    teatro[ifila][icolumna].telefono=0;
                    printf("El lugar ha sido liberado con existo\n");
                    terminardo=1;
                    }
else
                    {
                     printf("EL lugar que decea liberar ya esta libre\n");
                     getch();
                    }
}while(terminardo!=1);
}
else
{
printf("La fila y la columna que ingreso no existen");
getch();

}}
 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20111106/7a274df6/attachment.html>


Más información sobre la lista de distribución Cconclase