Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: TopoJunior en 24 Mayo 2012, 12:42 pm



Título: Ayuda porfavor :(
Publicado por: TopoJunior en 24 Mayo 2012, 12:42 pm
Bueno, querria que me explicasen, esto miren...

#include <stdio.h>
main()
{
     char producto[40];
     printf("Hola, que producto quiere?\n");
     scanf("%s", producto);
Aqui, que tu , escribas por ejemplo ; Patatas
y salga algun texto por ejemplo , de la descripcion de las patatas, pero si pones tomates, que salga otra distinta , como es ? :(


Título: Re: Ayuda porfavor :(
Publicado por: 0xDani en 24 Mayo 2012, 15:48 pm
Usa el condicional if-else, con un else al final por si se introduce algo no valido, como por ejemplo:
Código:
if (producto=="patatas" || "Patatas")printf("...");
else if (producto=="pepinos" || "Pepinos")printf("...");
else if ...
else printf("error");

O utiliza la sentencia switch:
Código:
switch (producto)
{
case "patatas": printf("...");
break;
case "pepinos": printf("...");
break;
default:
 printf("error");
}

Saludos ;D


Título: Re: Ayuda porfavor :(
Publicado por: skapunky en 24 Mayo 2012, 15:59 pm
Deberias añadir otro "if" que si el producto no exíste avíses al usuario de ello. Otra solución sería hacer algo tipo menú con las comidas que tienen su descripción en el programa.

El menú lo puedes hacer con un switch sin problemas mediante la declaración de una variable tipo char. si el usuario elige esa letra, corresponderá a una verdura.

Por ejemplo, de forma esquemática:


char verdura;
a = patatas
b = pepinos
c = tomate

Elegir el tipo de verdura --> scanf (verdura)

Switch (verdura)

si verdura = a --> printf ( Descripción de papata.)
si verdura = b --> printf (Descripción de pepino.)
si verdura = c --> printf (Descripción de tomate.)


Título: Re: Ayuda porfavor :(
Publicado por: 0xDani en 24 Mayo 2012, 16:07 pm
Por si el producto no existe esta el ultimo else, donde pone printf("error").

Saludos ;D


Título: Re: Ayuda porfavor :(
Publicado por: TopoJunior en 24 Mayo 2012, 16:16 pm
Pero pueden decirme como quedaria el programa entero para hacerme una idea ? porfavor..


Título: Re: Ayuda porfavor :(
Publicado por: Sputnik_ en 24 Mayo 2012, 17:25 pm
Pero pueden decirme como quedaria el programa entero para hacerme una idea ? porfavor..

retomando las ideas anteriores...


Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4.  
  5. {
  6.     char producto[8];
  7.     printf("Hola, que producto quiere?\n");
  8.     scanf("%s", producto);
  9.  
  10.     switch(producto[1])
  11.     {
  12.    case 'a': printf("es una planta perteneciente a la familia de las solanaceas, originaria de América del Sur y cultivada en todo el mundo por sus tubérculos comestibles. ");
  13.    break;
  14.    case 'e': printf("Las plantas poseen grandes hojas verdes formando un dosel sobre los frutos, que nacen de brotes laterales en las axilas de éstas. Emite zarcillos, por lo que se la puede guiar por una espaldera o dejarla crecer sobre el suelo de forma rastrera. Los tallos, gruesos y espinosos están divididos en nudos de los que nace un zarcillo y una hoja.");
  15.    break;
  16.    case 'o': printf("Dicho fruto es una vaya muy coloreada cuando madura, típicamente de tonos que van del amarillento al rojo, debido a la presencia de los pigmentos licopeno y caroteno. Posee un sabor ligeramente ácido, mide de 1 a 2 cm de diámetro en las especies silvestres, y es mucho más grande en las variedades cultivadas. Se produce y consume en todo el mundo tanto fresco como procesado de diferentes modos, ya sea como salsa, puré, jugo/zumo, deshidratado o enlatado.");
  17.    default:
  18.    fprintf(stderr,"error");
  19.  
  20. //información de: es.wikipedia.org
  21. }
  22. printf("\n\n\n");
  23. system("PAUSE");
  24. }
  25.  

Hice que evalúe la 2º letra de cada palabra, solo responde a tomates, pepinos, o patatas, si queres agregarle, hace que no coincida la 2º letra del alimento si es que le agregas  :xD

Es una manera improvisada de hacerlo pero funciona