Programación General > C/C++

 Mensaje De Errores Help Plis

(1/1)

dadevil_g:
Wenas compañeros... hace muxo que no venia por estos rumbos pero ahora se me presenta un problema :unsure: tengo muchos errores en el codigo que anexo...  si alguien pudiera ayudarme se lo agradeceria muxo.... porcierto es una base de datos de un almacen imaginario  :(  


--- Código: Text ---  #include"stdio.h"#include"conio.h" //Tan feo ke suena si o no&#59;-)#include"alloc.h" //Tambien suena horrible#include"ctype.h"#include"time.h"#include"dos.h"#include"process.h"#include"string.h"#include"io.h"#include"dir.h"  #define alo (struct nodo *)malloc(sizeof(struct nodo));#define gopri(a,b,c) gotoxy(a,b); cprintf(c);#define color(a,b) textcolor(a);textbackground(b);  typedef struct nodo{char codigo[10];//codigo de articulochar nom_art[20];//nombre del articulochar desc[60];//descripcion el articulochar cant[40];char valor[10];//precio unitario del articulostruct nodo *sig;struct nodo *ant;}; void cargar();void guardar();void agregar();void buscar();void inserta_reg(struct nodo *p);void elimina(struct nodo *p);void modifica(struct nodo *aux);void mostrar();void impri_code_c();void impri_code_n();void menu();void boseto();void listar_act_nodo();void verifica_cod();void verifica_val();void vent_menu();void vent_busc();void verif_guard();char *minus(char nombre[]);struct nodo *localiza(char pnombre[]);void ayuda();void sonido(int frecuencia,int tiempo);  struct nodo *cab,*p,*n,*ap; int n_art=0,guardado=0;   void main(){clrscr(); /*sonido(150,150);sonido(350,350);sonido(550,550);sonido(750,750);*/ sonido(750,750);sonido(550,550);sonido(350,350);sonido(150,150);cargar();menu();}    /*-------------------------SONIDO MAQUILLAJE--------------------*/ void sonido(int frecuencia,int tiempo){if (frecuencia > 0){sound(frecuencia);delay(tiempo);nosound();}}    /*---------------------MENU PRINCIPAL DEL PROYECTO------------------*/ void menu(){int d,c,s,flar=25,flab=24,fder=17,fizq=16;d=1;while(d!=5){time_t timer;struct tm *tblock;/* coge el tiempo actual */timer = time(NULL);/* convierte el dato del tiempo a una estructura */tblock = localtime(&timer);//--------------------------------textmode(2);color(0,6);//7clrscr();color(6+BLINK,0);gotoxy(1,25);cprintf("PRESIONA FLECHA %c ¢ %c, Y PRESIONA ENTER PARA ESCOJER TU OPCION ->> ART_Pako 1.0",flab,flar);color(0,6);vent_menu();d=1;c=1;do{color(6,0);gotoxy(1,24);cprintf("HAY %d CLASES DE ARTICULOS EN LA LISTA. FECHA Y HORA -> %s",n_art,asctime(tblock));gopri(27,2," MENU DE ENTRADA ");color(0,6);gopri(29,4," ADICIONAR ");gopri(29,6," MOSTRAR ");gopri(29,8," BUSCAR ");gopri(29,10," GUARDAR ");gopri(29,12," SALIR ");gopri(29,14," AYUDA ");if(d==0) d=6;if(d==7) d=1;color(6,0);switch(d){case 1 :gopri(29,4," ADICIONAR ");break;case 2 :gopri(29,6," MOSTRAR ");break;case 3 :gopri(29,8," BUSCAR ");break;case 4 :gopri(29,10," GUARDAR ");break;case 5 :gopri(29,12," SALIR ");break;case 6 :gopri(29,14," AYUDA ");break;}c=getch();if(c==72) d=d-1;if(c==80) d=d+1;}while(c!=13);switch(d){case 1 :agregar();break;case 2 :if(n_art>0){p=cab;if(n_art<2){clrscr();color(6+BLINK,0);gotoxy(20,12);cprintf("PRESIONA FLECHA %c- ¢ -%c, Y PRESIONA",fder,fizq);gotoxy(20,13);cprintf("ENTER PARA ESCOJER TU OPCION ART_Pako 1.0");gotoxy(20,14);cprintf("PRESIONA CUALQUIER TECLA PARA CONTINUAR");getch();}mostrar();}else{gopri(27,22," NO HAY DATOS QUE MOSTRAR ");sleep(2);}break;case 3 :if(n_art>0){buscar();}else{gopri(27,22," NO HAY DATOS PARA BUSCAR ");sleep(2);}break;case 4 :guardar();break;case 5 :verif_guard();break;case 6 :ayuda();break; } }} void vent_menu(){gopri(27,3,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");gopri(27,4,"³ ³²²");gopri(27,5,"³ ³²²±±");gopri(27,6,"³ ³²²±±°°");gopri(27,7,"³ ³²²±±°°");gopri(27,8,"³ ³²²±±°°");gopri(27,9,"³ ³²²±±°°");gopri(27,10,"³ ³²²±±°°");gopri(27,11,"³ ³²²±±°°");gopri(27,12,"³ ³²²±±°°");gopri(27,13,"³ ³²²±±°°");gopri(27,14,"³ ³²²±±°°");gopri(27,15,"³ ³²²±±°°");gopri(27,16,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ²²±±°°");gopri(27,17," ²²²²²²²²²²²²²²²²²²²²²²±±°°");gopri(27,18," ±±±±±±±±±±±±±±±±±±±±±±°°");gopri(27,19," °°°°°°°°°°°°°°°°°°°°°°");}    /*-----------------------MENU DE BUSQUEDA-----------------------*/ void buscar(){int d,c,s,flar=25,flab=24;d=1;while(d!=3){textmode(2);color(0,6);//7clrscr();color(6+BLINK,0);gotoxy(1,25);cprintf("PRESIONA FLECHA %c ¢ %c, Y PRESIONA ENTER PARA ESCOJER TU OPCION ->> ART_Pako 1.0",flab,flar);color(0,6);vent_busc();d=1;c=1;do{color(6,0);gopri(28,2," MENU DE BUSQUEDA ");color(0,6);gopri(30,4," POR CODIGO ");gopri(30,6," POR NOMBRE ");gopri(30,8," SALIR ");if(d==0) d=3;if(d==4) d=1;color(6,0);switch(d){case 1 :gopri(30,4," POR CODIGO ");break;case 2 :gopri(30,6," POR NOMBRE ");break;case 3 :gopri(30,8," SALIR ");break; }c=getch();if(c==72) d=d-1;if(c==80) d=d+1;}while(c!=13);switch(d){case 1 :impri_code_c();if(n_art<1){gopri(12,22," SE ELIMINARON TODOS LOS DATOS ");sleep(2);flushall();cab=p=ap=NULL; //guardar();d=3;}break;case 2 :impri_code_n();if(n_art<1){gopri(12,22," SE ELIMINARON TODOS LOS DATOS ");sleep(2);flushall();cab=p=ap=NULL; //guardar();d=3;}break;}}} void vent_busc(){gopri(28,3,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");gopri(28,4,"³ ³²²");gopri(28,5,"³ ³²²±±");gopri(28,6,"³ ³²²±±°°");gopri(28,7,"³ ³²²±±°°");gopri(28,8,"³ ³²²±±°°");gopri(28,9,"³ ³²²±±°°");gopri(28,10,"³ ³²²±±°°");gopri(28,11,"³ ³²²±±°°");gopri(28,12,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ²²±±°°");gopri(28,13," ²²²²²²²²²²²²²²²²²²²±±°°");gopri(28,14," ±±±±±±±±±±±±±±±±±±±°°");gopri(28,15," °°°°°°°°°°°°°°°°°°°");} /*-----------IMPRIME EL ARTICULO BUSCADO POR MEDIO DEL CODIGO---------*/ void impri_code_c(){clrscr();char code[10];int jur=0;gotoxy(12,15);printf("Codigo a buscar: ");gets(code);p=cab;/*if(p!=NULL){if(strcmp(code,p->codigo)==0){jur=1;}if(jur!=1){p=p->sig;}*/while(p->sig!=cab && jur!=1){if(strcmp(code,p->codigo)==0){jur=1;break;}p=p->sig;}//}if(jur==1){mostrar();}if(jur!=1){gotoxy(12,17);printf("EL CODIGO %s NO EXISTE INTENTA POR EL NOMBRE",code);sleep(2);}} /*---------------IMPRIME EL ARTICULO POR MEDIO DEL NOMBRE----------------*/ void impri_code_n(){clrscr();struct nodo *aux;char code[10];//int jur=0;gotoxy(12,15);printf("Nombre a buscar: ");gets(code);//-----------------------------------aux=localiza(code);if(aux){p=aux;mostrar();}else{gotoxy(12,17);printf("EL NOMBRE %s NO EXISTE INTENTA POR EL CODIGO",code);sleep(2);}} /*-------------MUESTRA LOS DATOS EN LA LISTA------------------*/ void mostrar(){int d,c,s;char elim;d=1;while(d!=5){flushall();textmode(2);color(0,6);//7if(n_art<=0){clrscr();gopri(25,12," SE ELIMINARON TODOS LOS DATOS ");sleep(2);cab=p=ap=NULL;//guardar();break;}clrscr();boseto();listar_act_nodo();color(6,0);gopri(10,2," MOSTRANDO ARTICULOS CON SUS OPCIONES CORRESPONDIENTES ");color(0,6);gopri(1,24,"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ");gopri(2,25," SIGUIENTE ANTERIOR ELIMINAR MODIFICAR SALIR ");d=1;c=1;do{//color(6+BLINK,0);//gopri(8,3," MENU DE BUSQUEDA ");color(0,6);gopri(6,25," SIGUIENTE ");gopri(20,25," ANTERIOR ");gopri(33,25," ELIMINAR ");gopri(46,25," MODIFICAR ");gopri(61,25," SALIR "); if(d==0) d=5;if(d==6) d=1;color(6,0);switch(d){case 1 :gopri(6,25," SIGUIENTE ");break;case 2 :gopri(20,25," ANTERIOR ");break;case 3 :gopri(33,25," ELIMINAR ");break;case 4 :gopri(46,25," MODIFICAR ");break;case 5 :gopri(61,25," SALIR ");break;}c=getch();if(c==75) d=d-1;if(c==77) d=d+1;}while(c!=13);switch(d){case 1 :p=p->sig;boseto();listar_act_nodo();break;case 2 :p=p->ant;boseto();listar_act_nodo();break;case 3 : gotoxy(10,20);printf("Esta totalmente seguro de eliminar estos datos si(S), no(N):");elim=tolower(getch());if (elim=='s'){elimina(p);n_art--;guardado=1;if(n_art>0){p=p->sig;}}break;case 4 : modifica(p);break;}}}  /*-----------------IMPRIME SILOCITANDO LOS DATOS---------------------*/void boseto(){clrscr();gopri(2,3,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");gopri(2,4,"³ Codigo: ³±±");gopri(2,5,"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±");gopri(2,6,"³ Nombre: ³±±");gopri(2,7,"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±");gopri(2,8,"³ Descripci¢n: ³±±");gopri(2,9,"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±");gopri(2,10,"³ Cantidad: ³±±");gopri(2,11,"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±");gopri(2,12,"³ Valor: ³±±");gopri(2,13,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±");gopri(2,14," ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±");}  /*----------IMPRIME EL NODO ACTUAL TOMANDO COMO REFERENCIA A p -----------*/ void listar_act_nodo(){gotoxy(18,4);printf("%s",p->codigo);gotoxy(18,6);printf("%s",p->nom_art);gotoxy(18,8);printf("%s",p->desc);gotoxy(18,10);printf("%s",p->cant);gotoxy(18,12);printf("%s",p->valor);}  /* -----------------ELIMINA UN REGISTRO DE LA LISTA---------------------- */ void elimina(struct nodo *p){flushall();//fflush(fp);struct nodo *q;q = p->ant;q->sig = p->sig;p->sig->ant = q;free(p);// p=q->sig;// if (!(cab))// {// cab=q->sig;// }} /*-------------------PIDE LOS DATOS CORRESPONDIENTES---------------------*/ void agregar(){p=aloflushall();//fflush(stdin); /* vac¡a el buffer del archivo stdin */clrscr();verifica_cod();gotoxy(18,6);gets(p->nom_art);gotoxy(18,8);gets(p->desc);gotoxy(18,10);gets(p->cant);//verifica_cant();verifica_val();//gotoxy(16,12);gets(p->valor);inserta_reg(p);} /* fin de la funcion */   /*---------VERIFICA SI HAY CARCTERES EN EL CODIGO DEL PRODUCTO-------*/ void verifica_cod(){int i,jur=0;char code[10];struct nodo *aux;for(;;){//jur=0;boseto();gopri(27,2," REGISTRANDO ARTICULO ");gotoxy(18,4);gets(p->codigo);//Pide codigofor(i=0;i<strlen(p->codigo);i++)//Verifica hay caracteres en Codigo{if(p->codigo[i]>=48 && p->codigo[i]<=57){jur++;}if((p->codigo[i]<48 || p->codigo[i]>57) && (p->codigo[i]!=164 || p->codigo[i]!=165)){//else{gotoxy(9,20);printf("TU CODIGO TIENE EL CARACTER %c INTENTA DE NUEVO...",p->codigo[i]);sleep(2);jur=0;break;}} if(n_art>0){aux=cab;strcpy(code,p->codigo); if(aux!=NULL){if(strcmp(code,aux->codigo)==0){jur=0;gotoxy(21,20);printf("EL CODIGO %s YA EXISTE INTENTA DE NUEVO",aux->codigo);sleep(2);}if(jur!=0){aux=aux->sig;}while(aux!=cab && jur!=1){if(strcmp(code,aux->codigo)==0){jur=0;gotoxy(21,20);printf("EL CODIGO %s YA EXISTE INTENTA DE NUEVO",aux->codigo);sleep(2);break;}aux=aux->sig;} }}if (jur>0){ //si esto se cumple rompe el for(;;)break;}flushall();}//fin for(;;)} /*---------VERIFICA SI HAY CARACTERES EN EL VALOR DEL PRODUCTO---------*/ void verifica_val(){int i,jur=0;for(;;){boseto();gopri(27,2," REGISTRANDO ARTICULO ");gotoxy(18,4);printf("%s",p->codigo);gotoxy(18,6);printf("%s",p->nom_art);gotoxy(18,8);printf("%s",p->desc);gotoxy(18,10);printf("%s",p->cant);gotoxy(18,12);gets(p->valor);for(i=0;i<strlen(p->valor);i++)//Verifica hay caracteres en Codigo{if((p->valor[i]>=48 && p->valor[i]<=57) || (p->valor[i]==46)){jur++;}if((p->valor[i]<48 || p->valor[i]>57) && (p->valor[i]!=46) && (p->valor[i]!=164 || p->valor[i]!=165)){//else{gotoxy(13,20);printf("DIGITASTE SIN QUERER EL CARACTER %c INTENTA DE NUEVO...",p->valor[i]);sleep(2);jur=0;break;}}if (jur>0){ //si esto se cumple rompe el for(;;)break;}flushall();}//fin for(;;)}  /*----------------INSERTA LOS DATOS DE FORMA ORDENADA------------------*/ void inserta_reg(struct nodo *p /* nuevo registro a insertar */){fflush(stdin);struct nodo *aux; /* puntero auxiliar */aux=cab;if (cab == NULL) /* insertar el primer registro de una lista */{cab = p;cab->ant = cab;ap = p;ap->sig = cab;} elsefor (;;){if (strcmp(p->codigo, aux->codigo) < 0){if (aux == cab) /* insertar registro al principio de la lista */{p->sig = aux;p->ant = ap;aux->ant = p;cab = p;ap->sig = p;break;}else{p->ant = aux->ant; /* insertar registros en el medio de la lista */p->sig = aux;aux->ant->sig = p;aux->ant = p;break;}}else{if (aux->sig == cab) /* insertar registros al final de la lista */{aux->sig = p;p->sig = cab;cab->ant = p;p->ant = aux;ap = p;break;}}aux = aux->sig;} /* fin de for(;;) */n_art++;guardado=1;} /* fin de la funci¢n */  /*-----------MODIFICA LOS TODOS LOS DATOS DEL NODO ACTUAL-------------*/void modifica(struct nodo *aux){struct nodo info;char op;flushall();fflush(stdin);//o FLUSHALL() LIMPIA EL BUFFERclrscr();boseto();gopri(26,2," MODIFICANDO LOS DATOS ");gotoxy(18,4);gets(info.codigo);gotoxy(18,6);gets(info.nom_art);gotoxy(18,8);gets(info.desc);gotoxy(18,10);gets(info.cant);gotoxy(18,12);gets(info.valor);for (;;){gotoxy(6,20);printf("Seguro que desea realizar los cambios s/n: ");op = tolower(getch());if (op == 's'){strcpy(aux->codigo,info.codigo);strcpy(aux->nom_art,info.nom_art);strcpy(aux->desc,info.desc);strcpy(aux->cant,info.cant);strcpy(aux->valor,info.valor);guardado=1;break;}elseif (op == 'n')break;} /* fin de for(;;) */ } /* fin de la funcion */  /*--------------------FUNCION DE CARGAR EL ARCHIVO---------------------*/void cargar(){flushall();FILE *fp;fflush(fp);cab = p = ap = NULL;fp = fopen("pro2002.txt","rb");rewind(fp); //recorre el archivo y se devuelve al principio del archivo//if(n_art!=0){n_art = 0;for(;;)//while(feof(fp)){p = (struct nodo *) malloc (sizeof(struct nodo));if (fread(p,sizeof(struct nodo),1,fp) != 1)break;//n_art++;inserta_reg(p);} /* termina for */// }fclose(fp);if (n_art == 0){cab = p = ap = NULL;}guardado=0;}   /*-----------------FUNCION DE GUARDAR EN EL ARCHIVO---------------------*/ void guardar(){FILE *fp;int tam;tam = sizeof(struct nodo);fp = fopen("pro2002.txt","wb");p = cab;if(n_art<=0){remove("pro2002.txt");}else{for (;;){fwrite(p,sizeof(struct nodo),1,fp);p = p->sig;if (p == cab)break;}}fclose(fp);guardado=0;} /*----------BANDERA QUE VERIFICA SI SE HA MODIFICADO LOS DATOS-----------*/ void verif_guard(){clrscr();char res;if(n_art>0){if(guardado==1){for(;;){gopri(10,12," HAS MODIFICADO ALGUN DATO EN EL ARCHIVO DESEAS GURADAR [S/N] ");res=tolower(getch());if(res=='s'){guardar();sonido(150,150);sonido(350,350);sonido(550,550);sonido(750,750);break;}if(res=='n'){break;}}}}else{if(n_art<=0){remove("pro2002.txt");}}clrscr();gopri(29,12," QUE TENGA UN BUEN DIA ");sleep(2);clrscr();gopri(68,25," By Dare... ");sleep(1);}  /*-------------ENCUENTRA EN NOMBRE SI EXISTE O NO----------------------*/struct nodo *localiza(char pnombre[])//busca si esta el nombre en la lista...{struct nodo *aux;register char temp2[50];char temp1[50]; aux = cab;strcpy(temp1,minus(pnombre)); do{strcpy(temp2,minus(aux->nom_art));if (!strcmp(temp1,temp2))return (aux);elseaux = aux->sig;} while (aux != cab);return (aux = NULL);} /*-------------------PASA DE MAYUSCULAS A MINUSCULAS------------------*/ char *minus(char nombre[]){register int i;register char *temp; for (i = 0; i <= strlen(nombre) + 1; i++)temp[i] = tolower(nombre[i]);return(temp);} /*------------MUESTRA UN MARCO TEORICO O AYUDA PARA EL USUARIO-----------*/ void ayuda(){clrscr();puts("ADICIONAR:");puts("Codigo = Es el numero de registro que tiene el articulo, solamente puede ser");puts(" numerico y unico en la lista.");puts("Nombre = Es el nombre principal del producto.");puts("Descripcion = Es la referencia o descripcion del producto o articulo");puts("Cantidad = Se puede tomar como valor numerico o alfa-numerico, por ejemplo:");puts(" 10.000 toneladas, 10.000 pacas, 10.000 bultos, etc.");puts("Valor= Es el valor unitario del articulo dependiendo de la cantidad como se tome\n");puts("MOSTRAR:");puts("Tiene un submenu que le permite al usuario hacer modificaciones, eliminar,");puts("avanzar hacia adelante o atras, como desee el usuario.\n");puts("BUSCAR:");puts("Tiene la flexibilidad de buscar el articulo por el codigo de registro o por el");puts("nombre, no importa si el nombre esta en minusculas o mayusculas de todos modos");puts("lo encuentra.\n");puts("GUARDAR:");puts("Almacena la imformacion digitada en un archivo.\n");puts("SALIR:");puts("Sale del programa y a su vez verifica si el usuario guardo las modificaciones.");getch();}   

De antemano gracias  :kicking:

dadevil_g:
Porcierto toy utilizando Borland C/C++ de compilador.... sorry  :P

franc:
que version ?

dadevil_g:
Es el borland C++ 5.02  :blink:

Navegación

[0] Índice de Mensajes

Ir a la versión completa