elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con este programa!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con este programa!  (Leído 1,822 veces)
ulainava

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Ayuda con este programa!
« en: 15 Marzo 2015, 21:49 pm »

Holi, soy nuevo en este foro, ahora q estoy programando tengo un pequeño problema con uno de los programas q realizo, epero me puedan ayudar.

Citar
#include <stdio.h>
#include <string.h>
int Buscar( char f[][15], int n, char *c);

main(){
char f[22][15]={"Arándano", "Frambuesa","Fresa","Grosella","Zarzamora","Limón", "Mandarina","Naranja","Pomelo","Melón","Sandía","Albaricoque","Cereza","Ciruela","Higo","Kaki","Manzana","Melocotón","Nectarina","Níspero","Pera","Uva"};
char p[22][4]={"43","12","23","45","34","23","35","45","64","34","23","23","43","45","23","34","45","12","34","36","38","38"};


char c[15];
int ret;
int j;

printf("Que fruta desea comprar:\t");
gets(c);
j=Buscar(f,22,c);
printf("Costo de la Fruta es de $%s",p[j]);

int Buscar(char f[][15], int n, char *c){
int i;
do{
    if(strcmpi(c,f)==0){
        return i;
    }
    i++;
}while(i<n);
return -1;
}



Este es el código. Lo q quiero q haga el programa es q al ingresar el nombre de una fruta, me de el costo de esta, para eso inicialize dos arreglos. Pero tengo un problema ya q al compilar me arroja un error en la  ultima llave } y me manda d error: expected declaration or statement at end of input. Me gustaría q me ayudaran a corregir el error y si le pudieran echar un vistazo al programa para q vean si la lógica, es adecuada y correcta. Se lo agradecería mucho, Saludos!!!


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda con este programa!
« Respuesta #1 en: 15 Marzo 2015, 21:52 pm »

No cerraste la llave del main(). Pon una '}' después del printf, antes de al declaración de la función "buscar", y debería ir.


En línea

ulainava

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ayuda con este programa!
« Respuesta #2 en: 15 Marzo 2015, 22:54 pm »

Gracias, XD aunque ahora la lógica de mi programa esta mal jejeje. Lo resolveré, es q cuando te desesperas luego uno no alcanza a ver esos errores pequeñitos; Pero se te agradece. Thanks!
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda con este programa!
« Respuesta #3 en: 16 Marzo 2015, 02:28 am »

tengo un pequeño problema con uno de los programas q realizo, epero me puedan ayudar.
Cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).

----

En cuanto a la función buscar el error es no inicializar la variable "i" con el valor cero y también deberías en la función main verificar su valor de retorno en caso de no encontrarse la cadena.

Otra opción es utilizar el valor N (numero de elementos) para indicar que no se encontró la cadena, de esta forma:
Código
  1. if ((j = Buscar (f, 22, c)) == 22) /* Hay que evitar magic numbers */
  2.   printf("No se encontro la fruta");
  3. else
  4.   printf("Costo de la Fruta es de $%s\n", p[j]);
  5.  
  6. /* ... */
  7.  
  8. int Buscar(char f[][15], int n, char *c)
  9. {
  10.   int i;
  11.  
  12.   for (i = 0; i < 22 && strcmpi(c, f[i]) != 0; i++)
  13.      ;
  14.  
  15.   return i;
  16. }

Ya por ultimo evita usar la función gets, las razones de ello en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
ulainava

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ayuda con este programa!
« Respuesta #4 en: 26 Marzo 2015, 03:27 am »

Gracias por sus respuestas, ya hace tiempo q resolví este problema
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. int Buscar( char f[][15], int n, char *q);
  4.  
  5. main(){
  6. char f[10][15]={"Melon", "Cebolla","Papa","Jitomate","Fresa","Mango", "Zanahoria","Papino","Aguacate","Limon:"};
  7. int  p[10]={43,12,23,45,32,23,35,45,64,34};
  8. int i;
  9. printf("\n Tenemos:");
  10. for(i=0;i<=10;i++){
  11.    printf(" \n\n %s", f[i]);
  12. }
  13. char c[15];
  14. int ret;
  15. int j;
  16.  
  17. printf("Escoge la fruta o verdura:\n");
  18. gets(c);
  19. ret=Buscar(f,22,c);
  20. for(j=0;j<=10;j++){
  21.   if(ret==p[j]){
  22.    printf(" \nCuesta:",p[j]);
  23.   }else if(ret==-1){
  24.   printf(" \nNo Hay Banda");
  25.   }
  26. }
  27. }
  28.  
  29. int Buscar(char f[][15],int n, char *q){
  30. int i, pos;
  31. do{
  32.    if(strcmpi(q,f[i])==0){
  33.        return i;
  34.    }
  35.    i++;
  36. }while(i<n);
  37. return -1;
  38. }
  39.  
  40.  
  41.  

Mod: Al publicar codigo usa las etiqeutas GeSHi como indicó rir3760, las etiquetas quote son para citas, si tienes duda sobre las etiqeutas GeSHi, aquí estan
« Última modificación: 26 Marzo 2015, 03:42 am por engel lex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con este programa
Programación C/C++
daxelmejor 1 2,396 Último mensaje 13 Mayo 2010, 16:00 pm
por Akai
Ayuda con este programa en C++
Programación C/C++
miguelb18 1 2,209 Último mensaje 25 Agosto 2010, 17:23 pm
por Littlehorse
Ayuda con este programa
Programación C/C++
nosotros12 1 2,100 Último mensaje 18 Noviembre 2011, 09:06 am
por s00rk
ayuda con este programa
Dudas Generales
ZXILER 1 2,640 Último mensaje 16 Marzo 2012, 23:16 pm
por Aprendiz-Oscuro
ayuda con este programa
Java
hairam 2 2,171 Último mensaje 9 Julio 2012, 20:56 pm
por rommel89
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines