Autor
|
Tema: ¿Porque se reinicia el programa? (Leído 3,301 veces)
|
skatres
Desconectado
Mensajes: 18
|
Hola, pues en mi intento de seguir aprendiendo sobre este mundillo, sigo haciendo mis pequeños proyectos xD, bueno en este caso he querido hacer un programa en el que dando el usuario tres valores, se realice una operacion #include <stdio.h> #include <conio.h> #include <stdlib.h>
int main() { int a,b,c,res; printf("Hola, ahora introduce una variable:"); scanf("%i" ,&a); printf("Introduce un segundo valor:"); scanf("%i" ,&b); printf("No es por ser pesado, pero introduce un tercer valor:"); scanf("%i" ,&c); if(c==0) { printf("No se puede dividir entre 0\n");// Aquí es donde nose como hacerlo } res=("%i+%i/%i",(a+b)/c); printf("El resultado es %i\n",res); system("pause"); return 0; } Todo me sale correcto, salvo la parte en la que debería de salir el mensaje de que no se puede dividir por 0. Perdonen si la duda es muy simple o tonta.
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
A mi si me sale la condicion if pero lo que sucede es que estas dividiendo entre 0 deberia hacer en la condicion que si es 0 no lo incluya en la operacion porque en los dos compiladores que tengo el programa se cuelga o da error en esa linea que compilador usas?
|
|
|
En línea
|
|
|
|
тαптяα
Desconectado
Mensajes: 1.151
Sic utere tuo ut alienum non laeda
|
Tienes un titulo muy raro, para el problema que presentas... Primero, aprende lo que quieres hacer: res=("(%i+%i)/%i",(a+b)/c); Si no le pones parentesis, no te hace correctamente la operacion. No necesitas conio.h (Aparte que NO SE DEBE usar..) Y la parte que tu dices que no va, veamos.. pones que si c es igual a 0, muestre por pantalla un texto.. pero luego sigue ejecutandose toddo normalmente, lo que has de hacer, es meter la formula entre un condicional elseSaludos
|
|
|
En línea
|
|
|
|
skatres
Desconectado
Mensajes: 18
|
Tienes un titulo muy raro, para el problema que presentas... Primero, aprende lo que quieres hacer: res=("(%i+%i)/%i",(a+b)/c); Si no le pones parentesis, no te hace correctamente la operacion. No necesitas conio.h (Aparte que NO SE DEBE usar..) Y la parte que tu dices que no va, veamos.. pones que si c es igual a 0, muestre por pantalla un texto.. pero luego sigue ejecutandose toddo normalmente, lo que has de hacer, es meter la formula entre un condicional elseSaludos Claro, ahora me sale, gracias!, ahora mi objetivo es que despues de que el programa te diga que no se puede dividir por 0, salga otra opcion para introducir otra vez el numero "c", llevo intentalo un buen rato pero no doi y con la solucion. Este es el codigo resultante #include <stdio.h> #include <stdlib.h>
int main() { int a,b,c,res; printf("Hola, ahora introduce una variable:"); scanf("%i" ,&a); printf("Introduce un segundo valor:"); scanf("%i" ,&b); printf("No es por ser pesado, pero introduce un tercer valor:"); scanf("%i" ,&c); if(c==0) { printf("No se puede dividir entre 0\n"); } else//En teoria aqui el programa debería de preguntarme para introducir { printf("Introduce un valor distinto de 0:"); scanf("%i",&c); res=("(%i+%i)/%i",(a+b)/c); printf("El resultado es %i\n",res); } system("pause"); return res; }
|
|
|
En línea
|
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Hola El nuevo valor lo debes pedir cuando c es 0, no al contrario #include <stdio.h> #include <stdlib.h> int main() { int a,b,c,res; printf("Hola, ahora introduce una variable: "); printf("Introduce un segundo valor: "); printf("No es por ser pesado, pero introduce un tercer valor: "); if(c==0) { printf("No se puede dividir entre 0\n"); do { printf("Introduce un valor distinto de 0: "); } while(c == 0); } res=(a+b)/c; printf("El resultado es %i\n", res ); printf("Presione Enter para salir....."); return 0; }
Saludos
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
skatres
Desconectado
Mensajes: 18
|
Hola El nuevo valor lo debes pedir cuando c es 0, no al contrario #include <stdio.h> #include <stdlib.h> int main() { int a,b,c,res; printf("Hola, ahora introduce una variable: "); printf("Introduce un segundo valor: "); printf("No es por ser pesado, pero introduce un tercer valor: "); if(c==0) { printf("No se puede dividir entre 0\n"); do { printf("Introduce un valor distinto de 0: "); } while(c == 0); } res=(a+b)/c; printf("El resultado es %i\n", res ); printf("Presione Enter para salir....."); return 0; }
Saludos Perdon la tardanza, muchas gracias por responder!!!
|
|
|
En línea
|
|
|
|
|
|