//bibliotecas empleadas #include #include #include #include //declaracion de funciones void inicio(); void recuadro(int x,int y,int x1,int y1); void principal(void); void orden(int numeros[4],int ordenado[4]); 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',pp='0'; int i,n; textbackground(0); textcolor(1); recuadro(3,3,34,12); textbackground(1); textcolor(15); gotoxy(4,4); cprintf("1.-Dar de alta a 4 peliculas"); gotoxy(4,6); cprintf("2.-Modificar una pelicula"); gotoxy(4,8); cprintf("3.-Precios para las sesiones"); gotoxy(4,10); cprintf("4.-Capacidad de las salas"); gotoxy(27,24); cprintf("úPulse para regresarú"); o=getch(); switch(o) { //Dar de alta a 4 peliculas case '1': clrscr(); for(i=0;i<4;i++) { gotoxy(30,i+12); cprintf("Introduzca Pelicula %i¦:",i+1); gotoxy(53,i+12); gets(peliculas[i]); //gotoxy(53,i+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,i+12); cprintf("Precio de la %i¦ Sesi¢n: ",i+1); gotoxy(54,i+12); scanf("%d",&sesiones[i]); //gotoxy(53,12); //printf(" "); } break; //capacidad de las 4 salas case '4': clrscr(); for(i=0;i<4;i++) { if(i==0)pp='A'; if(i==1)pp='B'; if(i==2)pp='C'; if(i==3)pp='D'; gotoxy(30,i+12); cprintf("Capacidad de sala %c:",pp); gotoxy(52,i+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]) { char pp; int i,n,ent,sesi; textbackground(2); textcolor(15); clrscr(); gotoxy(27,24); cprintf("úPulse para regresarú"); printf("\t\t\t SELECCIONE UNA PELICULA"); for(i=0;i<4;i++) { if(i==0)pp='A'; if(i==1)pp='B'; if(i==2)pp='C'; if(i==3)pp='D'; gotoxy(10,5+i); cprintf("%i.-%s EN LA SALA %c",i+1,peliculas[i],pp); } gotoxy(13,10); cprintf("Elija pelicula:"); scanf("%i",&n); cliente[c[1]][0]=n; if(n==1)pp='A'; if(n==2)pp='B'; if(n==3)pp='C'; if(n==4)pp='D'; //clrscr(); printf("\t\t\t SELECCIONE UNA SESION"); gotoxy(18,13);for(i=0;i<3;i++) { gotoxy(39,15+i); cprintf("%i.-%d",i+1,sesiones[i]); } gotoxy(42,19); cprintf("Elija sesion:"); scanf("%i",&n); cliente[c[1]][1]=n;sesi=n; //clrscr(); printf("\t\t\t SELECCIONE UNA ENTRADA"); gotoxy(45,22); cprintf("Numero de entradas:"); scanf("%i",&n);ent=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,9); cprintf("PELICULA: %s en sala %c",peliculas[cliente[c[1]][0]],pp); gotoxy(34,11); cprintf("%i entradas para la %i¦ sesi¢n ",ent,sesi); gotoxy(34,13); 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},sumax[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"); gotoxy(27,24); cprintf("úPulse para regresarú"); o=getch(); switch(o) { case '1': clrscr(); for(i=0;i34;x--) { pp=x*20; gotoxy(x,12); cprintf("%s ",texto); sound(pp); delay(10); nosound(); delay(25); } delay(1000); for(y=13;y!=24;y++) for(x=35;x<45;x=x+2) { pp=y*20;pa=x*100; gotoxy(x,y-1); cprintf(" "); gotoxy(x,y); cprintf("%c",texto[x-35]); sound(pp); delay(10); nosound(); gotoxy(x+1,25-y); cprintf(" "); gotoxy(x+1,24-y); cprintf("%c",texto[x-34]); sound(pa); delay(10); nosound(); 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); } } } void orden(int numeros[4],int ordenado[4]) { //int numeros[4]={1,5,6,4}; //int ordenado[4]={0,0,0,0}; int a=0,i,ind[4]={-1,-1,-1,-1}; clrscr(); while(a<4) { for(i=0;i<4;i++) { if((numeros[i]>ordenado[a])&&(ind[0]!=i)&&(ind[1]!=i)&&(ind[2]!=i)) { ordenado[a]=numeros[i]; ind[a]=i; } } a++; } for(i=0;i<4;i++) { printf("%i",ordenado[i]); } }