Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda con programa es de estructuras y apuntadores en C

lol_tun

Becerro
Desde
23 Dic 2008
Mensajes
41
Estoy realizano un programa de algoritmos en C utilizando estruturas y apuntadores para hacer un programa de Administrar un video club utlizando las siguientes condiciones :
Utilizando​
​
​
​
vectores de estructuras implemente el control de rentas de un videoclub.
Por cada renta se consideran los siguientes datos:
​

•​
​
​
​
Nombre del cliente​

•​
​
​
​
Título rentado​

•​
​
​
​
Clasificación (Estreno, Catálogo, Adultos, etc.)​

•​
​
​
​
Fecha de Renta
Se requiere que el sistema cuente con los siguientes módulos:
1) Renta. Máximo 3 películas por cliente. La fecha de renta se obtendrá del sistema.
2) Devolución. (Por nombre de cliente)
3) Consulta individual por nombre de cliente.
​

4) Consulta general de todas las rentas ordenadas por nombre de cliente.
Sin utlizar variables globales.
El problema que cuando quiero hacer la consulta se cicla y no encuentro mi error.
Aqui les dejo el codigo si alguien encuentra mi error hagamelo saber ya que esta tarea tengo que entregar mañana a la 1:00pm


CODIGO
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<string.h>
struct video{ //estructura de una pelicula
char titulo[50]; //nombre de la pelicula
int clasif; //numero de clasificacion
time_t fecha; //fecha
};
struct cliente{ //estructura del cliente
int id,c,ocu; //identificacion (posicion+100), contador de peliculas rentadas, y ocupado o no.
char nombre[50]; //nombre del cliente.
struct video pelicula[3]; //nombre de peliculas rentadas
};
void capchar(char cad[],int x,int y,int t){ //funcion validacion de captura de caracteres
char tecla;
int pos,b=0;
cad[0]='\x0';
do{
gotoxy(x,y);textcolor(11);
cprintf("%s",cad);
tecla=getch();
switch(tecla){
case '\x0': tecla=getch();b=1;
break;
default: b=0;
}
if((isalnum(tecla)||isspace(tecla)||ispunct(tecla))&&strlen(cad)<t&&b==0){
pos=strlen(cad);
cad[pos]=tecla;
cad[pos+1]='\x0';
}
if(tecla=='\x8'){
gotoxy(x,y);
textcolor(1);
cprintf("%s",cad);
pos=strlen(cad);
cad[pos-1]='\x0';
}
}while(tecla!='\xD');
}
int capturint(int x, int y,float min,float max){ //funcion de validacion de numeros enteros
char tecla, cad[6];
int num=min,pos;
cad[0]='\x0';
if(min<-32768){
cprintf("El rango es muy pequeno");
}
if(max>32767){
cprintf("El rango es muy grande");
}
do{
gotoxy(x,y);
textcolor(11);
cprintf("%s",cad);
tecla=getch();
if(tecla=='-'&&strlen(cad)==0){
pos=strlen(cad);
cad[pos]=tecla;
cad[pos+1]='\x0';
}
if(isdigit(tecla)&&strlen(cad)<5){
pos=strlen(cad);
cad[pos]=tecla;
cad[pos+1]='\x0';
}
if(tecla=='\x8'){
gotoxy(x,y);
textcolor(1);
cprintf("%s",cad);
pos=strlen(cad);
cad[pos-1]='\x0';
}
if(cad[0]!='\x0')
num=atoi(cad);
}while(tecla!='\xD'||cad[0]=='\x0');
if(num>=min&&num<=max){
return num;
}else{
gotoxy(10,40);
cprintf("El rango del numero es %.0f a %.0f",min,max);
delay(1000);
gotoxy(10,40);
textcolor(1);
cprintf("El rango del numero es %.0f a %.0f",min,max);
gotoxy(x,y);
textcolor(1);
cprintf("%s",cad);
num=capturint(x,y,min,max);
textcolor(11);
return num;
}
}
void reiniciar(struct cliente clientes[]){ //reinicia las estructuras, eliminando los datos.
int i,j,k,l;
for(i=0;i<50;i++){
clientes.id=0;
clientes.ocu=0;
clientes.c=0;
for (k=0;k<3;k++)
{ clientes.pelicula[k].clasif=0;
clientes.pelicula[k].titulo[0]='\x0';
}
clientes.nombre[0]='\x0';

}
}
void registra(struct cliente clientes[]){ //registro de un cliente.
int i,pos=0,b=0,j;
char persona[50]; //cadena auxiliar para capturar el nombre del cleinte
for(i=0;i<50;i++)persona=NULL; //vacia cadena.
gotoxy(10,20);cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(10,21);cprintf("³ Registro de Cliente ³");
gotoxy(10,22);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(10,23);cprintf("³ ³");
gotoxy(10,24);cprintf("³ Nombre del cliente: ³");
gotoxy(10,25);cprintf("³ ³");
gotoxy(10,26);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(10,27);cprintf("³ ³");
gotoxy(10,28);cprintf("³ Su numero de identificacion como cliente es: ³");
gotoxy(10,29);cprintf("³ ³");
gotoxy(10,30);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
for(i=0;i<50;i++){
if(clientes.ocu==1)pos=i+1; //verifica en que posicion de clientes va;
}
capchar(persona,13,25,50); //lo guarda en una variable de mientras
if(persona[0]!='\xD'){
for(i=0;i<50;i++){ //compara si ya esta registrado.
if(pos==i); //no se compara consigo mismo.
else{
if(strcmp(persona,clientes.nombre)==0){
b=1; //bandera de ocupado
j=i;
}
}
}
if(b==1){
gotoxy(19,29);cprintf("Usted ya esta registrado con el id=%d",clientes[j].id);
clientes[pos].ocu=0; //desocupa lo desocupado :D
clientes[pos].id=0;
}else{
strcpy(clientes[pos].nombre,persona);
clientes[pos].ocu=1; //ocupa el lugar 'pos'
clientes[pos].id=pos+100; //registra la id.
gotoxy(57,28);cprintf("%d",clientes[pos].id);
}
getch();
}else{
gotoxy(15,40);cprintf("Error: Vuelva a escribir");
getch();
}
}
void renta(struct cliente clientes[]){ //funcion de renta de peliculas.
int i,j,pos=0,b=0;
char persona[50];
for(i=0;i<50;i++)persona=NULL; //vacia cadena.
gotoxy(5,20);cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,21);cprintf("³ Renta de pelicula ³");
gotoxy(5,22);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,23);cprintf("³ Nombre del cliente: ³ id: ³");
gotoxy(5,24);cprintf("³ ³ ³");
gotoxy(5,25);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,26);cprintf("³ Nombre de la pelicula: ³");
gotoxy(5,27);cprintf("³ ³");
gotoxy(5,28);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,29);cprintf("³ Clasificacion: [1] Estrenos ³");
gotoxy(5,30);cprintf("³ [2] Terror ³");
gotoxy(5,31);cprintf("³ [3] Comedia ³");
gotoxy(5,32);cprintf("³ [4] Mexicanas ³");
gotoxy(5,33);cprintf("³ [5] X X X ³");
gotoxy(5,34);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,35);cprintf("³ Fecha: ³");
gotoxy(5,36);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
for(i=0;i<50;i++){
if(clientes.ocu==1){
pos=i+1; //verifica en que posicion de clientes va; pos=posicion final
}
}
capchar(persona,8,24,50); //lo guarda en una variable de mientras
if(persona[0]!='\xD'){
for(i=0;i<50;i++){ //compara si ya esta registrado.
if(pos==i); //no se compara consigo mismo.
else{
if(strcmp(persona,clientes.nombre)==0){
b=1; //bandera de ocupado
j=i; //j=posicion ocupada.
}
}
}
if(b==1){ //para clientes existentes.
gotoxy(62,24);cprintf("Registrado=%d",clientes[j].id);
if(clientes[j].c<=2){ //verifica el contador de peliculas
capchar(clientes[j].pelicula[clientes[j].c].titulo,8,27,50); //captura titulo
clientes[j].pelicula[clientes[j].c].clasif=capturint(22,29,1,5); //captura clasificacion
clientes[j].pelicula[clientes[j].c].fecha=time(NULL); //guarda la fecha.
gotoxy(19,35);cprintf(ctime(&clientes[j].pelicula[clientes[j].c].fecha));
clientes[j].c++; //incrementa el numero de peliculas
}else{
gotoxy(13,27);cprintf("Usted a Llegado al limite de peliculas rentadas");
gotoxy(30,40);cprintf("Presione una tecla para volver al menu principal");
}
}else{
strcpy(clientes[pos].nombre,persona);
clientes[pos].ocu=1; //ocupa el lugar pos
clientes[pos].id=pos+100; //registra la id.
gotoxy(68,24);cprintf("%d",pos+100); //imprime el id
capchar(clientes[pos].pelicula[clientes[pos].c].titulo,8,27,50); //captura el titulo de la pelicula.
clientes[pos].pelicula[clientes[pos].c].clasif=capturint(22,29,1,5); //asigna la clasificacion
clientes[pos].pelicula[clientes[pos].c].fecha=time(NULL);
gotoxy(19,35);cprintf(ctime(&clientes[pos].pelicula[clientes[pos].c].fecha)); //imprime fecha.
clientes[pos].c++;

}
getch();
}else{
gotoxy(15,40);cprintf("Error: Vuelva a escribir");
getch();
}
}
void devolucion(struct cliente clientes[]){ //funcion que elimina una pelicula.
int i,pos,opc=0,popc;
clrscr();
gotoxy(0,1);cprintf("³ Sistema bien chakas para el videocine 'El blokboster' ³ _ ³ Ú¿ ³ X ³");
gotoxy(0,2);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(5,7); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,8); cprintf("³ Devolucion ³");
gotoxy(5,9); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,10); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,11); cprintf("³ Listado de Clientes ³");
gotoxy(5,12); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
for(i=0;i<50;i++){
if(clientes.ocu==1){
gotoxy(5,13+i*4);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,14+i*4);cprintf("³ Nombre del cliente: ³ id: ³");
gotoxy(5,15+i*4);cprintf("³ ³ ³");
gotoxy(5,16+i*4);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(8,15+i*4);cprintf("[%d] %s",i+1,clientes.nombre);
gotoxy(68,15+i*4);cprintf("%d",clientes.id);
pos=i+1; //verifica en que posicion de clientes va;
}
}if(pos>0){ //para cuando existen clientes. En caso de que no, no puede haber devoluciones
gotoxy(5,(17+(pos-1)*4));cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,(18+(pos-1)*4));cprintf("³ Escriba el id del cliente: ³");
gotoxy(5,(19+(pos-1)*4));cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
opc=capturint(35,(18+(pos-1)*4),100,pos-1+100); //captura elnumero de cliente.
if(clientes[opc-100].c>0){
clrscr();
i=0;
gotoxy(0,1);cprintf("³ Sistema bien chakas para el videocine 'El Bloqboster' ³ _ ³ Ú¿ ³ X ³");
gotoxy(0,2);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(5,7); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,8); cprintf("³ Devolucion ³");
gotoxy(5,9); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,10); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,11); cprintf("³ Listado de Rentas ³");
gotoxy(5,12); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,13+i*10); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,14+i*10); cprintf("³ Nombre del cliente: ³ id: ³");
gotoxy(5,15+i*10); cprintf("³ ³ ³");
gotoxy(5,16+i*10);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(8,15+i*10);cprintf("%s",clientes[opc-100].nombre);
gotoxy(68,15+i*10);cprintf("%d",clientes[opc-100].id);
gotoxy(5,17+i*10);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,18+i*10);cprintf("³ Peliculas Rentadas: ³");
gotoxy(5,19+i*10);cprintf("³ ³");
gotoxy(5,20+i*10);cprintf("³ ³");
gotoxy(5,21+i*10);cprintf("³ ³");
gotoxy(5,22+i*10);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(9,(19+i*10));cprintf("[1] %s",clientes[opc-100].pelicula[0].titulo);
gotoxy(9,(20+i*10));cprintf("[2] %s",clientes[opc-100].pelicula[1].titulo);
gotoxy(9,(21+i*10));cprintf("[3] %s",clientes[opc-100].pelicula[2].titulo);
gotoxy(5,(24+i*10));cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,(25+i*10));cprintf("³ Introduzca el numero de pelicula que desea devolver: ³");
gotoxy(5,(26+i*10));cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
popc=capturint(60,(25+i*10),1,3); //captura el numero de pelicula
clientes[opc-100].pelicula[popc-1].clasif=0; //borra la clasificacion
clientes[opc-100].pelicula[popc-1].fecha='\x0'; //borra la fecha
clientes[opc-100].c--; //decrementa el contador del cliente.
for(i=0;i<50;i++){
clientes[opc-100].pelicula[popc-1].titulo=NULL; //borra el nombre de la pelicula
}
gotoxy(10,40);cprintf("Pelicula Devuelta, presione una tecla para volver al menu");
getch();
}else{
gotoxy(10,40);cprintf("Este cliente no ha rentado ninguna pelicula");
gotoxy(10,41);cprintf("Presione una tecla para volver al menu");
getch();
}
}else{
gotoxy(10,40);cprintf("No existe ningun cliente registrado");
gotoxy(10,41);cprintf("Presione una tecla para volver al menu");
getch();
}
}
void Lclientes(struct cliente clientes[]){ //lista de clientes.
int i,pos;
clrscr();
gotoxy(0,1);cprintf("³ Sistema bien chakas para el videocine 'El Bloqboster' ³ _ ³ Ú¿ ³ X ³");
gotoxy(0,2);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(5,10); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,11); cprintf("³ Listado de Clientes ³");
gotoxy(5,12); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ´");
for(i=0;i<50;i++){
if(clientes.ocu==1){
gotoxy(5,13+i*4);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,14+i*4);cprintf("³ Nombre del cliente: ³ id: ³");
gotoxy(5,15+i*4);cprintf("³ ³ ³");
gotoxy(5,16+i*4);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(8,15+i*4);cprintf("%s",clientes.nombre);
gotoxy(68,15+i*4);cprintf("%d",clientes.id);
pos=i+1; //cuenta los clientes
}
else ;
}
gotoxy(5,(12+pos*4));cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ");
getch();
}
void rentas(struct cliente clientes[]){ //lista de rentas ordenadas por # de cliente o # id
int i,k,pos,a=0;
clrscr();
gotoxy(0,1);cprintf("³ Sistema bien chakas para el videocine 'El Bloqboster' ³ _ ³ Ú¿ ³ X ³");
gotoxy(0,2);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(5,4); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(5,5); cprintf("³ Listado de Rentas ³");
gotoxy(5,6); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
for(i=0;i<50;i++){
if(clientes.ocu==1){
gotoxy(5,7+i*10); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,8+i*10); cprintf("³ Nombre del cliente: ³ id: ³");
gotoxy(5,9+i*10); cprintf("³ ³ ³");
gotoxy(5,10+i*10); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(8,9+i*10);cprintf("%s",clientes.nombre);
gotoxy(68,9+i*10);cprintf("%d",clientes.id);
gotoxy(5,11+i*10);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(5,12+i*10);cprintf("³ Peliculas Rentadas: ³");
gotoxy(5,13+i*10);cprintf("³ ³");
gotoxy(5,14+i*10);cprintf("³ ³");
gotoxy(5,15+i*10);cprintf("³ ³");
gotoxy(5,16+i*10);cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
gotoxy(9,(13+i*10));cprintf("[1] %s",clientes.pelicula[0].titulo);
gotoxy(9,(14+i*10));cprintf("[2] %s",clientes.pelicula[1].titulo);
gotoxy(9,(15+i*10));cprintf("[3] %s",clientes.pelicula[2].titulo);
a++;
}
gotoxy(5,(16+(a-1)*10));cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
}
getch();
}
void menugraf(){
textbackground(1);
textcolor(11);
clrscr();
gotoxy(0,1);cprintf("³ Sistema bien chakas para el videocine 'El Bloqboster' ³ _ ³ Ú¿ ³ X ³");
gotoxy(0,2);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
gotoxy(15,5); cprintf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(15,6); cprintf("³ VIDEOCINE ''El Bloqboster ³");
gotoxy(15,7); cprintf("ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ");
gotoxy(15,8); cprintf("³ ³");
gotoxy(15,9); cprintf("³ [1] Registrar cliente ³");
gotoxy(15,10);cprintf("³ [2] Renta ³");
gotoxy(15,11);cprintf("³ [3] Devolucion ³");
gotoxy(15,12);cprintf("³ [4] Listado por cliente ³");
gotoxy(15,13);cprintf("³ [5] Consulta de peliculas rentadas ³");
gotoxy(15,14);cprintf("³ [6] Salir ³");
gotoxy(15,15);cprintf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");

gotoxy(15,16);cprintf("Selecciona una opcion=");
}
void menu(){
int i=0;
struct cliente clientes[50];
reiniciar(clientes);
do{
menugraf(); //menu grafico (el cuadrito solamente)
i=capturint(37,16,1,6); //captura la opcion del menu.
switch(i){
case 1: registra(clientes);
break;
case 2: renta(clientes);
break;
case 3: devolucion(clientes);
break;
case 4: Lclientes(clientes);
break;
case 5: rentas(clientes);
break;
case 6: break;
}
}while(i!=6);
}
void main(){
menu();
}
 
Ok. Lo estoy revisando
 
gulp! quede perdido desde el principio, xD no se pa que me meto aqui :aynomames:
 
ok, amigo; me encantaria ayudarte.
Pero el codigo como lo posteas no se aprecia en lo absoluto.

si gustas mandarme el archivo fuente a : dario@cdarsoft.net para abrirlo y visualizarlo con sangrias te prodria ayudar de forma mas rapida.

Lamentablemente no tengo suficiente tiempo disponible como para arreglarlo yo para leerlo.
 
Volver
Arriba