Hola muy buenas a todos, qúe tal. Lo expuesto aquí es con fines de encontrar el error de posición despues de la primera sentencia "switch", ya que despues de ésta no puede dar valores sino, que sale del programa, entonces cuando tratamos de ejecutar de nuevo espesifícando otro próducto no petea nada. El reto es fácil, el qué logre explotarlo antes de (13/11/2009). Lo premiaré con felicitaciones xDDDD.
El código en sí hace lo siguiente:
Llamaremos el programa como "caja.exe"
ejecutamos código-----caja.exe
caja.exe----imprime introdusca nº producto
introducimos nº producto-----imprime "el producto xx, cuesta xx.
El error aquí es xxx claro que no les diré xDDDDD. Es broma, fijense en los que no muestra:
C:\Documents and Settings\Administrador>caja2
numero de producto
5258
El conejo cuesta 300
C:\Documents and Settings\Administrador>caja2
numero de producto
5259
C:\Documents and Settings\Administrador>
Cómo podemos ver aquí nos dió una interrupción o sea el programa sale de su rutina de ejecución el reto aquí es saver porque sale, y cuando iniciamos la ejecución nuevamente ingresando otro número de producto entonces no nos petea nada.
El objetivo aquí es curar éste fallo, y luego explicarlo detalladamente, los argumentos pasados una vez dentro son ("5258, 5259, 5260, 5261"), cualquiera de las cuatros, pero primero a ver que pasa si pasamos la 1ra, y luego ejecutando el programa de nuevo pasamos la 2da. Y hay es ´donde ésta el error.
Aquí biene el código fuente:
#include <stdio.h>
int main() {
int conejo;
int perro;
int gato;
int cotorra;
conejo = 5258;
perro = 3396;
gato = 111;
cotorra = 456;
printf(" numero de producto\n");
scanf("%i", &conejo );
switch( conejo )
{
case 5258:
printf(" El conejo cuesta 300\n");
break;
printf(" numero de producto\n");
scanf("%i", &perro );
switch( perro )
case 5259:
printf(" El perro cuesta 5200\n");
break;
printf(" numero de producto\n");
scanf("%i", &gato );
switch( gato )
case 5260:
printf(" El gato cuesta 1500\n");
break;
printf(" numero de producto\n");
scanf("%i", &cotorra );
switch( cotorra )
case 5261:
printf(" La cotorra cuesta 2000\n");
break;
}
}
Nota:El código puede ser escrito de muchas formas "Pistas: Puede ser escrito con sentencias if...else if.... y con saltos "goto". Y bucles como lo son while, do while, for, etc etc.
Aviso: Una vez se halla parcheado el error, colocar el código fuente, para probar su corrección o válidez de ejecución
Espero que lo rompan antes de la fecha anteriormente hablada (13/11/2009)
Bueno se cierra el torneo post, por el tiemp agotado. Abriré el post, una vez se allan completado las 100 visitas, bytes. xDDDD.