358 lines
6.8 KiB
C++
358 lines
6.8 KiB
C++
|
|
//bibliotecas empleadas
|
|
#include<stdlib.h>
|
|
#include<stdio.h>
|
|
#include<conio.h>
|
|
#include<dos.h>
|
|
//declaracion de funciones
|
|
void inicio();
|
|
void recuadro(int x,int y,int x1,int y1);
|
|
void principal(void);
|
|
char menu(char o);
|
|
char menu1(char peliculas[4][15],int sesiones[3],int salas[4]);
|
|
char menu2(char peliculas[4][15],int sesiones[3],int cliente[100][3],
|
|
int importe[50],int c[1]);
|
|
char menu3(int cliente[100][3],int importe[50],int c[1]);
|
|
void error(void);
|
|
void final(void);
|
|
//funcion principal
|
|
void main(void)
|
|
{
|
|
clrscr();
|
|
principal();
|
|
}
|
|
//funcion que llama a todas las funciones
|
|
void principal()
|
|
{
|
|
char o=' ';
|
|
char peliculas[4][15]={"0","0","0","0"};
|
|
int sesiones[3]={0,0,0};
|
|
int salas[4]={0,0,0,0};
|
|
int cliente[100][3];
|
|
int importe[50];
|
|
int i,i1;
|
|
int c[1]={0};
|
|
//inicializa cliente
|
|
for(i=0;i<3;i++)
|
|
for(i1=0;i1<100;i1++)
|
|
cliente[i1][i]=0;
|
|
//inicializa importe
|
|
for(i=0;i<50;i++)
|
|
importe[i]=0;
|
|
|
|
inicio();
|
|
while(o!='4')
|
|
{
|
|
o=menu(o);
|
|
switch(o)
|
|
{
|
|
case '1':
|
|
o=menu1(peliculas,sesiones,salas);
|
|
break;
|
|
case '2':
|
|
o=menu2(peliculas,sesiones,cliente,importe,c);
|
|
break;
|
|
case '3':
|
|
o=menu3(cliente,importe,c);
|
|
break;
|
|
case '4':
|
|
final();
|
|
break;
|
|
default :
|
|
error();
|
|
}
|
|
}
|
|
}
|
|
//funcion crea un recuadro en la coordenadas indicadas
|
|
void recuadro(int x,int y,int x1,int y1)
|
|
{
|
|
int a,b;
|
|
for(a=x;a!=x1+1;a++)
|
|
for(b=y;b!=y1+1;b++)
|
|
{
|
|
gotoxy(a,b);
|
|
cprintf("Û");
|
|
}
|
|
}
|
|
//funcion para el menu principal
|
|
char menu(char o)
|
|
{
|
|
textbackground(0);
|
|
clrscr();
|
|
textcolor(4);
|
|
recuadro(26,8,56,18);
|
|
textbackground(4);
|
|
textcolor(15);
|
|
gotoxy(28,10);
|
|
cprintf("1.-Peliculas en proyeccion");
|
|
gotoxy(28,12);
|
|
cprintf("2.-Ventas");
|
|
gotoxy(28,14);
|
|
cprintf("3.-Resultados");
|
|
gotoxy(28,16);
|
|
cprintf("4.-Finalizar el programa");
|
|
if(o==' ')o=getch();
|
|
return o;
|
|
}
|
|
//menu primero
|
|
char menu1(char peliculas[4][15],int sesiones[3],int salas[4])
|
|
{
|
|
char o='0';
|
|
int i,n;
|
|
textbackground(0);
|
|
textcolor(1);
|
|
recuadro(1,1,31,10);
|
|
textbackground(1);
|
|
textcolor(15);
|
|
gotoxy(2,2);
|
|
cprintf("1.-Dar de alta a 4 peliculas");
|
|
gotoxy(2,4);
|
|
cprintf("2.-Modificar una pelicula");
|
|
gotoxy(2,6);
|
|
cprintf("3.-Precios para las sesiones");
|
|
gotoxy(2,8);
|
|
cprintf("4.-Capacidad de las salas");
|
|
o=getch();
|
|
switch(o)
|
|
{
|
|
//Dar de alta a 4 peliculas
|
|
case '1':
|
|
clrscr();
|
|
for(i=0;i<4;i++)
|
|
{
|
|
gotoxy(30,12);
|
|
cprintf("Introduzca Pelicula %i¦:",i+1);
|
|
gotoxy(53,12);
|
|
gets(peliculas[i]);
|
|
gotoxy(53,12);
|
|
printf(" ");
|
|
}
|
|
break;
|
|
//modificar una pelicula
|
|
case '2':
|
|
clrscr();
|
|
for(i=0;i<4;i++)
|
|
{
|
|
gotoxy(30,12+i);
|
|
cprintf("%i.-%s",i+1,peliculas[i]);
|
|
}
|
|
gotoxy(25,18);
|
|
cprintf("Introduzca pelicula a cambiar:");
|
|
scanf("%d",&n);
|
|
//se pone getchar porque sino no sale
|
|
getchar();
|
|
gotoxy(25,20);
|
|
cprintf("Introduzca nuevo nombre:");
|
|
gets(peliculas[n-1]);
|
|
break;
|
|
//poner los precios de las 3 sesiones
|
|
case '3':
|
|
clrscr();
|
|
for(i=0;i<3;i++)
|
|
{
|
|
gotoxy(30,12);
|
|
cprintf("Precios de Sesiones %i¦:",i+1);
|
|
gotoxy(53,12);
|
|
scanf("%d",&sesiones[i]);
|
|
gotoxy(53,12);
|
|
printf(" ");
|
|
}
|
|
break;
|
|
//capacidad de las 4 salas
|
|
case '4':
|
|
clrscr();
|
|
for(i=0;i<4;i++)
|
|
{
|
|
gotoxy(30,12);
|
|
cprintf("Capacidad de sala %i¦:",i+1);
|
|
gotoxy(51,12);
|
|
scanf("%i",&salas[i]);
|
|
gotoxy(51,12);
|
|
printf(" ");
|
|
}
|
|
break;
|
|
default :
|
|
if(o!=' ') error();
|
|
}
|
|
if(o==' ') return ' ';
|
|
else return '1';
|
|
}
|
|
//menu segundo
|
|
char menu2(char peliculas[4][15],int sesiones[3],int cliente[100][3],int importe[50],int c[1])
|
|
{
|
|
int i,n;
|
|
textbackground(2);
|
|
textcolor(15);
|
|
|
|
clrscr();
|
|
printf("\t\t\t\tSELECCION DE PELICULA");
|
|
for(i=0;i<4;i++)
|
|
{
|
|
gotoxy(39,12+i);
|
|
cprintf("%i.-%s",i+1,peliculas[i]);
|
|
}
|
|
gotoxy(34,22);
|
|
cprintf("Elija pelicula:");
|
|
scanf("%i",&n);
|
|
cliente[c[1]][0]=n;
|
|
|
|
clrscr();
|
|
printf("\t\t\t\tSELECCION DE LA SESION");
|
|
gotoxy(28,14);for(i=0;i<3;i++)
|
|
{
|
|
gotoxy(39,12+i);
|
|
cprintf("%i.-%d",i+1,sesiones[i]);
|
|
}
|
|
gotoxy(34,22);
|
|
cprintf("Elija sesion:");
|
|
scanf("%i",&n);
|
|
cliente[c[1]][1]=n;
|
|
|
|
clrscr();
|
|
printf("\t\t\t\tSELECCION DE ENTRADAS");
|
|
gotoxy(34,12);
|
|
cprintf("Numero de entradas:");
|
|
scanf("%i",&n);
|
|
cliente[c[1]][2]=n;
|
|
|
|
clrscr();
|
|
//calculo del importe
|
|
importe[c[1]]=(cliente[c[1]][2])*(sesiones[cliente[c[1]][1]-1]);
|
|
gotoxy(34,12);
|
|
cprintf("IMPORTE TOTAL:%i",importe[c[1]]);
|
|
c[1]++;
|
|
getch();
|
|
return ' ';
|
|
}
|
|
//menu tercero
|
|
char menu3(int cliente[100][3],int importe[50],int c[1])
|
|
{
|
|
char o='0';
|
|
int i;
|
|
int suma[4]={0,0,0,0};
|
|
|
|
textbackground(0);
|
|
textcolor(3);
|
|
recuadro(49,14,80,24);
|
|
textbackground(3);
|
|
textcolor(15);
|
|
gotoxy(52,16);
|
|
cprintf("1.-Localidades por sala");
|
|
gotoxy(52,19);
|
|
cprintf("2.-Importe total de ventas");
|
|
gotoxy(52,22);
|
|
cprintf("3.-Localidades por sesion");
|
|
o=getch();
|
|
switch(o)
|
|
{
|
|
case '1':
|
|
clrscr();
|
|
for(i=0;i<c[1]+1;i++)
|
|
{
|
|
if(cliente[i][0]==1) suma[0]=suma[0]+cliente[i][2];
|
|
if(cliente[i][0]==2) suma[1]=suma[1]+cliente[i][2];
|
|
if(cliente[i][0]==3) suma[2]=suma[2]+cliente[i][2];
|
|
if(cliente[i][0]==4) suma[3]=suma[3]+cliente[i][2];
|
|
|
|
}
|
|
for(i=1;i<5;i++)
|
|
{
|
|
gotoxy(30,12+i);
|
|
cprintf("Localidades de sala %i¦:%i",i,suma[i-1]);
|
|
}
|
|
getch();
|
|
break;
|
|
case '2':
|
|
clrscr();
|
|
for(i=0;i<c[1];i++)
|
|
{
|
|
suma[0]=suma[0]+importe[i];
|
|
}
|
|
gotoxy(35,10);
|
|
cprintf("Importe total:%i",suma[0]);
|
|
getch();
|
|
break;
|
|
case '3':
|
|
clrscr();
|
|
for(i=0;i<c[1]+1;i++)
|
|
{
|
|
if(cliente[i][1]==1) suma[0]=suma[0]+cliente[i][2];
|
|
if(cliente[i][1]==2) suma[1]=suma[1]+cliente[i][2];
|
|
if(cliente[i][1]==3) suma[2]=suma[2]+cliente[i][2];
|
|
}
|
|
for(i=1;i<4;i++)
|
|
{
|
|
gotoxy(30,12+i);
|
|
cprintf("Localidades de sesion %i¦:%i",i,suma[i-1]);
|
|
}
|
|
getch();
|
|
break;
|
|
default :
|
|
if(o!=' ') error();
|
|
}
|
|
if(o==' ') return ' ';
|
|
else return '3';
|
|
|
|
}
|
|
//error
|
|
void error()
|
|
{
|
|
textcolor(10);
|
|
gotoxy(32,2);
|
|
cprintf("Eleccion incorrecta");
|
|
getch();
|
|
printf(" ");
|
|
|
|
}
|
|
//pantalla de presentacion
|
|
void inicio()
|
|
{
|
|
char texto[12]={"BIENVENIDO"};
|
|
int x,y,z;
|
|
randomize();
|
|
|
|
z=(rand() %14)+1;
|
|
textcolor(z);
|
|
for(x=1;x<70;x++)
|
|
{
|
|
gotoxy(x,12);
|
|
cprintf(" %s",texto);
|
|
delay(25);
|
|
}
|
|
for(x=70;x>34;x--)
|
|
{
|
|
gotoxy(x,12);
|
|
cprintf("%s ",texto);
|
|
delay(25);
|
|
}
|
|
delay(1000);
|
|
for(y=13;y!=24;y++)
|
|
for(x=35;x<45;x=x+2)
|
|
{
|
|
gotoxy(x,y-1);
|
|
cprintf(" ");
|
|
gotoxy(x,y);
|
|
cprintf("%c",texto[x-35]);
|
|
gotoxy(x+1,25-y);
|
|
cprintf(" ");
|
|
gotoxy(x+1,24-y);
|
|
cprintf("%c",texto[x-34]);
|
|
delay(50);
|
|
}
|
|
}
|
|
//final del programa
|
|
void final()
|
|
{
|
|
int x,y;
|
|
textbackground(0);
|
|
for(y=8;y<19;y++)
|
|
{
|
|
for(x=26;x<57;x++)
|
|
{
|
|
gotoxy(x,y);
|
|
cprintf(" ");
|
|
delay(10);
|
|
}
|
|
}
|
|
}
|