Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Alexh3

#1
Programación C/C++ / Re: Reservaciones
25 Noviembre 2015, 03:01 AM
Muuuchas gracias amigo, y buena recomendación!
Lástima que mi tarea era para el 23 en la mañana  :-\ ya no la pude hacer bien :'(
#2
Amigo, de verdad te lo agradezco, tu consejo me sirvió bastante :P
Pero es un proyecto escolar y no funcionaba bien, así que decidí hacerlo más simple pero más a prueba de errores (aunque más largo)
pero igual me están costando trabajo nun par de cositas, te agradecería que me apoyes de nuevo en mi código actual.
de antemano, muchísimas graciias! !!!
(te dejo el link del nuevo post)
https://foro.elhacker.net/programacion_cc/reservaciones-t444671.0.html;msg2048053#msg2048053
#3
Programación C/C++ / Reservaciones
23 Noviembre 2015, 03:39 AM
Ammigoooooos!!! por fa me urge que me digan por qué este programa deja de funcionar :P
Muchas gracias de antemano.
Y no es un código completo, le faltan un montón de cases pero  antes necesito que funcione uno y ya copy paste :P
Gracis amigos !! :D#include<stdio.h>
#include<stdlib.h>
int seleccionasientos(int arrfuncion[5][5]);
struct estructuraasientos
{
    int asientos[5][5];
}p1d1h1,p1d1h2,p1d1h3,p1d2h1,p1d2h2,p1d2h3;
int i,j,c=0,p1d1h1asientos[5][5]={0},p1d1h2asientos[5][5]={0},p1d2h1asientos[5][5]={0},p1d2h2asientos[5][5]={0},p2d1h1asientos[5][5]={0},p2d1h2asientos[5][5]={0},p2d2h1asientos[5][5]={0},p2d2h2asientos[5][5]={0};
int asientosprueba[5][5]={{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1}};
int numeropelicula,numerohorario,numerodia,res=0,arrfuncion[5][5];
char nombre[50];
int main()
{
        do
        {
        printf("Bienvenido al sistema de reservaciones del Cine ACJMZ \n");
        printf("cual es su nombre? \n", 168,160);
        scanf(" %[^\n]", &nombre);
        printf("%s,Por favor elija la pelicula que desea ver: \n1) Shrek\n2) Terminator \n3) Avengers", nombre);
        scanf("%d", &numeropelicula);
        switch(numeropelicula)
        {
            case 1:
                printf("Ha elegido la pelicula Shrek, \nElija el dia en el que desea ver la pelicula:\n1) Lunes\n2) Martes\n3) Miercoles\n", nombre);
                scanf("%d", &numerodia);
                switch(numerodia)
                {
                    case 1:
                        printf("Ha elegido el dia lunes, \nPor favor elija su horario: \n1) 1:00-3:00pm\n2) 3:00-5:00pm\n3) 5:00pm-7:00pm\n", nombre);
                        scanf("%d,", &numerohorario);
                        switch(numerohorario)
                        {
                            case 1:
                                printf("Ha elegido el horario 1(1:00pm a 3:00pm), %s\n", nombre);
                                for(i=0;i<5;i=i+1)
                                {
                                    for(j=0;j<5;j=j+1)
                                    {
                                        arrfuncion[i][j]=p1d1h1.asientos[i][j];
                                    }
                                }
                                seleccionasientos (arrfuncion[5][5]);
                                for(i=0;i<5;i=i+1)
                                {
                                    for(j=0;j<5;j=j+1)
                                    {
                                        p1d1h1.asientos[i][j]=arrfuncion[i][j];
                                    }
                                }
                                res=res+1;
                            break;
                            case 2:
                                printf("Ha elegido el horario 2(3:00pm a 5:00pm), %s\n", nombre);
                                for(i=0;i<5;i=i+1)
                                {
                                    for(j=0;j<5;j=j+1)
                                    {
                                        arrfuncion[i][j]=p1d1h2.asientos[i][j];
                                    }
                                }
                                seleccionasientos (arrfuncion[5][5]);
                                for(i=0;i<5;i=i+1)
                                {
                                    for(j=0;j<5;j=j+1)
                                    {
                                        p1d1h2.asientos[i][j]=arrfuncion[i][j];
                                    }
                                }
                                res=res+1;
                            break;
                            case 3:
                                printf("Ha elegido el horario 3(5:00pm a 7:00pm), %s\n", nombre);
                                for(i=0;i<5;i=i+1)
                                {
                                    for(j=0;j<5;j=j+1)
                                    {
                                        arrfuncion[i][j]=p1d1h3.asientos[i][j];
                                    }
                                }
                                seleccionasientos (arrfuncion[5][5]);
                                for(i=0;i<5;i=i+1)
                                {
                                    for(j=0;j<5;j=j+1)
                                    {
                                        p1d1h3.asientos[i][j]=arrfuncion[i][j];
                                    }
                                }
                                res=res+1;
                            break;
                            default:
                                printf("Error");
                            break;
                        }
                }

        }
    }
    while(res<1);
return 0;
}
int seleccionasientos (int arrfuncion[5][5])
{
int numeroasientos,c,j,i,numero,fila,cont=0;
    printf("cuantos asientos va a querer?\n");
        scanf("%i", &numeroasientos);
        if(numeroasientos>=0 && numeroasientos<=25)
        {
            while(cont<numeroasientos)
            {
                    c=0;
                    for(i=0;i<5;i=i+1)
                    {
                        for(j=0;j<5;j=j+1)
                        {
                            if (j==0)
                            {
                                do
                                {
                                    printf("Fila %d -->  ",c);
                                    printf("  |%d|  ",arrfuncion[i][j]);
                                    c=c+1;
                                }
                                while(c==0);
                            }
                            else
                            printf("  |%d|  ",arrfuncion[i][j]);
                        }
                    printf("\n");
                    }
                    printf("                    **Pantalla**\n");
                    printf("               0      1      2      3      4  --> Numero de Asiento\n");
            puts("\nIngrese la fila que desee:\n");
            scanf("%i", &fila);
            switch(fila)
                    {
                        case 0:
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                            puts("Ingrese el numero de asiento que desee:\n");
                            scanf("%i", &numero);
                            switch(numero)
                            {
                                case 0:
                                case 1:
                                case 2:
                                case 3:
                                case 4:
                                            if(arrfuncion[fila][numero]==0)
                                            {
                                                printf("Ha elegido correctamente el asiento\n");
                                                arrfuncion[fila][numero]=1;
                                                cont=cont+1;
                                                getchar();
                                                getchar();
                                            }
                                            else
                                            {
                                                printf("El asiento esta ocupado, presione enter para continuar\n");
                                                getchar();
                                                getchar();
                                            }

                                break;
                                default:
                                    printf("Error, presione enter para continuar");
                                    getchar();
                                    getchar();
                                break;
                             }
                        break;
                        default:
                           printf("Error, presione enter para continuar");
                           getchar();
                           getchar();
                        break;
                    }
            system("cls");
            }
        }
        else printf("Error");
        getchar();
        getchar();
        return arrfuncion[5][5];
}
#4
Amigos, soy nuevo en este foro y agradecería enormemente una pequeña ayuda con un código.
Como dice en el asunto, es un sistema de reservaciones de un cine, pero no puedo lograr que la función que evalúa las opciones de película, día, horario , llame correctamente a la función que reserva los asientos.
Amigos, ya me quemé la cabeza intentándolo, de verdad agradecería su ayuda enormemente, les paso todo mi código.
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
void gotoxy(int x, int y);
void datos(void);
void asientos(void);
struct guardar
{
char *pelicula[5]={"Avengers", "Terminator", "Principito", "Enredados", "Megamente"}, cliente[60], *horario[4]={"1-3pm", "3-5pm", "5-7pm", "7-9pm"}, *dia[5]={"Viernes","Sabado","Domingo"};
int adultos, ninos, ndia, nhorario, npelicula;
double coston, costoa, pago;
}c;
main()
{
int j;
char nombre[50];
gotoxy(35, 8);
puts("CINE");
gotoxy(17, 13);
puts("Presiona tres veces la tecla Enter para continuar");
getchar();
getchar();
system("cls");
getchar();
puts("Ingresa tu nombre");
scanf(" %[^\n]", &nombre);
j=0;
while (j<1)
{
printf("¿Qué película quieres reservar %s? Tenemos las siguientes opciones: \n Avengers ---->1\n Terminator -->2\n Principito -->3\n Enredados -->4\n Megamente -->5\n", nombre);
scanf("%d", &c.npelicula);
switch(c.npelicula)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("ha elegido la pelicula %s",c.pelicula[c.npelicula-1]);
datos();
j++;
break;
default:
puts("Opcion invalida");
   break;
}
}
}
void gotoxy(int x, int y)
{
COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void datos(void)
{
int i, h;
long boletos, boletost;
puts("¿En que dia de la semana deseas ver la pelicula? \n Lunes-->1\n Martes-->2\n Miercoles-->3 \n Jueves-->4\n Viernes-->5 ");
scanf("%i", &c.ndia);
printf("Tu funcion sera el dia %s \nEscribe el horario en el que deseas reservar tus boletos  \n\n 1 a 3 pm-->1\n 3 a 5 pm-->2\n 5 a 7 pm-->3\n 7 a 9 pm-->4\n",c.dia[c.ndia-1]);
scanf("%i", &c.nhorario);
asientos();
getchar();
}
void asientos(void)
{
int asientos[5][5]={{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1}},i,j,fila,numero,numeroasientos,asientosdisponibles=25,cont,d;

           for(i=0;i<5;i=i+1)
                       {
                           for(j=0;j<5;j=j+1)
                           {
                               if (asientos[i][j]==1)
                               {
                                   asientosdisponibles+1;
                               }
                               else asientosdisponibles+0;
                           }
                       }
           printf("\nAsientos disponibles: %d", asientosdisponibles);
        printf("\nHa elegido el horario de %s\ningrese el numero de boletos para adultos", c.horario[c.nhorario-1]);
scanf("%d", &c.adultos);
puts("ingrese el numero de boletos para ninos/3era edad");
scanf("%d", &c.ninos);
numeroasientos=c.adultos+c.ninos;
printf("\nnumeroasientos: %d\n", numeroasientos);
if (asientosdisponibles<numeroasientos)
{
puts("la funcion se ha agotado");
}
else
           {
           if(numeroasientos>=0 && numeroasientos<=25)
           {
               while(cont<numeroasientos)
               {
                       d=0;
                       for(i=0;i<5;i=i+1)
                       {
                           for(j=0;j<5;j=j+1)
                           {
                               if (j==0)
                               {
                                   do
                                   {
                                       printf("Fila %d -->  ",c);
                                       printf("  |%d|  ",asientos[i][j]);
                                       d=d+1;
                                   }
                                   while(d==0);
                               }
                       printf("\n");
                       }
                       printf("                    **Pantalla**\n");
                       printf("               0      1      2      3      4  --> Numero de Asiento\n");
               puts("\nIngrese la fila que desee:\n");
               scanf("%i", &fila);
               switch(fila)
                       {
                           case 0:
                           case 1:
                           case 2:
                           case 3:
                           case 4:
                               puts("Ingrese el numero de asiento que desee:\n");
                               scanf("%i", &numero);
                               switch(numero)
                               {
                                   case 0:
                                   case 1:
                                   case 2:
                                   case 3:
                                   case 4:
                                               if(asientos[fila][numero]==1)
                                               {
                                                   printf("Ha elegido correctamente el asiento\n");
                                                   asientos[fila][numero]=0;
                                                   cont=cont+1;
                                                   getchar();
                                                   getchar();
                                               }
                                               else
                                               {
                                                   printf("El asiento esta ocupado, presione enter para continuar\n");
                                                   getchar();
                                                   getchar();
                                               }

                                   break;
                                   default:
                                       printf("Error, presione enter para continuar");
                                       getchar();
                                       getchar();
                                   break;
                                }
                           break;
                           default:
                              printf("Error, presione enter para continuar");
                              getchar();
                              getchar();
                           break;
                       }
               system("cls");
               }
           }
           else printf("Error");
           getchar();
           getchar();
           }
   }
                else
                               printf("  |%d|  ",asientos[i][j]);
                           }
                       printf("\n");
                       }
                       printf("                    **Pantalla**\n");
                       printf("               0      1      2      3      4  --> Numero de Asiento\n");
               puts("\nIngrese la fila que desee:\n");
               scanf("%i", &fila);
               switch(fila)
                       {
                           case 0:
                           case 1:
                           case 2:
                           case 3:
                           case 4:
                               puts("Ingrese el numero de asiento que desee:\n");
                               scanf("%i", &numero);
                               switch(numero)
                               {
                                   case 0:
                                   case 1:
                                   case 2:
                                   case 3:
                                   case 4:
                                               if(asientos[fila][numero]==1)
                                               {
                                                   printf("Ha elegido correctamente el asiento\n");
                                                   asientos[fila][numero]=0;
                                                   cont=cont+1;
                                                   getchar();
                                                   getchar();
                                               }
                                               else
                                               {
                                                   printf("El asiento esta ocupado, presione enter para continuar\n");
                                                   getchar();
                                                   getchar();
                                               }

                                   break;
                                   default:
                                       printf("Error, presione enter para continuar");
                                       getchar();
                                       getchar();
                                   break;
                                }
                           break;
                           default:
                              printf("Error, presione enter para continuar");
                              getchar();
                              getchar();
                           break;
                       }
               system("cls");
               }
           }
           else printf("Error");
           getchar();
           getchar();
           }
   }