Título: Ayuda con c, para final de SIntaxis ! Publicado por: mariaorlando0922 en 13 Febrero 2013, 15:16 pm El programa no me encuentra errores, se ejecuta normalmente pero cuando entra a la opcion 2 o 3 no funciona y se sale del programa.
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define MAX 2 struct med { char codigo[7]; char nom_com[15]; char monodroga[25]; char drogueria [25]; int existencia; float precio; }; void carga(struct med *m, int *contm); struct med *busca(struct med *m, int contm, int *contexis); struct med selecciona(struct med *m, int contm); main() { struct med medicamentos[MAX],*med, seleccion[10],selec; char opc; int cond=0,contm=0,caso=0,j=0,i; do{ printf("\t\t Menu de opciones\n"); printf("1-Carga datos\n2-Busca\n3-Selecciona\n4-Muestra\n5-Salir\n\n"); opc =getch(); switch(opc) { case'1': carga(medicamentos, &contm); printf("Cantidad de medicamentos cargados: %d\n", contm); getch(); clrscr(); break; case'2': while (j<contm) { med= busca(medicamentos,contm,&caso ); if(caso) { seleccion[j]=*med; j++; } else { strcpy(seleccion[j].nom_com,"VACIO"); j++; } } for(i=0;i<contm;i++) { if(strcmp(seleccion.nom_com,"VACIO")!=0) { printf("Nombre Comercial %s\nMonodroga: %s\nDrogueria: %s\nExistencia %d\nPrecio %.2f\n", seleccion.nom_com, seleccion.monodroga, seleccion.drogueria, seleccion.existencia, seleccion.precio); } } getch(); break; case'3': selec=selecciona(medicamentos,contm); printf("Nombre: %s\n precio: %f\n Cantidad: %d", selec.nom_com, selec.precio, selec.existencia); getch(); break; case'4':cond=1; break; case'5': cond=1; break; default: printf("Tecla incorrecta\n"); break; } }while (opc!=5 && cond!=1); system ("PAUSE"); return ; } void carga(struct med *m, int *contm) { int i=*contm,cond=0; char opc='s'; while (opc=='s' && i<MAX) { printf("Codigo:\n"); fflush(stdin); gets(m.codigo); printf("Nombre Comercial:\n"); fflush(stdin); gets(m.nom_com); printf("Monodroga:\n"); fflush(stdin); gets(m.monodroga); printf("Drogueria:\n"); fflush(stdin); gets(m.monodroga); printf("Existencia\n"); scanf("%d", &m.existencia); printf("Precio:\n"); scanf("%d", &m.precio); cond=1; (*contm)++; printf("desea ingresar otro dato\n"); opc=getch(); } if(cond==0) { printf("No se cargaron datos\n"); } } struct med *busca(struct med *m, int contm, int *caso) { char mon_ing[25]; int i, flagg=0,cas; printf("Ingrese monodroga a buscar:\n"); scanf("%s", mon_ing); for(i=0; i<contm; i++) { if(strcmp(m.monodroga,mon_ing)==0) { cas=1; caso=&cas; return (&m); } else { cas=0; caso=&cas; return (0); } } } struct med selecciona(struct med *m, int contm) { int i,flagg=0; float pmin; for(i=0;i<contm;i++) { if(flagg==0) { pmin=m.precio; flagg=1; } if(m.precio<pmin) { if(m.existencia>0) { return (m); } } } } Título: Re: Ayuda con c, para final de SIntaxis ! Publicado por: alister en 13 Febrero 2013, 15:39 pm y has intntado establecer alguna hipotesis analizando el codigo?
de hecho, es lo que te ha pedido tu profesor... Título: Re: Ayuda con c, para final de SIntaxis ! Publicado por: durasno en 14 Febrero 2013, 21:47 pm Para q te puedan ayudar pone el programa usando las GeSHi, porque sino sale todo en cursiva y nose puede probar el codigo. Saludos
|