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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Porque se reinicia el programa?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Porque se reinicia el programa?  (Leído 3,275 veces)
skatres

Desconectado Desconectado

Mensajes: 18


Ver Perfil
¿Porque se reinicia el programa?
« en: 10 Noviembre 2011, 18:10 pm »

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

Código:
#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 Desconectado

Mensajes: 1.908


Ver Perfil
Re: ¿Porque se reinicia el programa?
« Respuesta #1 en: 10 Noviembre 2011, 18:42 pm »

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 Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: ¿Porque se reinicia el programa?
« Respuesta #2 en: 10 Noviembre 2011, 18:47 pm »

Tienes un titulo muy raro, para el problema que presentas...

Primero, aprende lo que quieres hacer:

Código:
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 else

Saludos
En línea

skatres

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: ¿Porque se reinicia el programa?
« Respuesta #3 en: 10 Noviembre 2011, 20:22 pm »

Tienes un titulo muy raro, para el problema que presentas...

Primero, aprende lo que quieres hacer:

Código:
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 else

Saludos

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
Código:
#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 Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: ¿Porque se reinicia el programa?
« Respuesta #4 en: 10 Noviembre 2011, 21:44 pm »

Hola

El nuevo valor lo debes pedir cuando c es 0, no al contrario

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int a,b,c,res;
  7.    printf("Hola, ahora introduce una variable: ");
  8.    scanf("%i" ,&a);
  9.    printf("Introduce un segundo valor: ");
  10.    scanf("%i" ,&b);
  11.    printf("No es por ser pesado, pero introduce un tercer valor: ");
  12.    scanf("%i" ,&c);
  13.  
  14.    if(c==0)
  15.        {
  16.        printf("No se puede dividir entre 0\n");
  17.        do
  18.            {
  19.            printf("Introduce un valor distinto de 0: ");
  20.            scanf("%i",&c);
  21.            }
  22.        while(c == 0);
  23.        }
  24.  
  25.    res=(a+b)/c;
  26.    printf("El resultado es %i\n", res);
  27.  
  28.    printf("Presione Enter para salir.....");
  29.    while(getchar()!='\n');
  30.    getchar();
  31.    return 0;
  32. }
  33.  

Saludos
En línea

Breakbeat como forma de vida
skatres

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: ¿Porque se reinicia el programa?
« Respuesta #5 en: 13 Noviembre 2011, 22:55 pm »

Hola

El nuevo valor lo debes pedir cuando c es 0, no al contrario

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int a,b,c,res;
  7.    printf("Hola, ahora introduce una variable: ");
  8.    scanf("%i" ,&a);
  9.    printf("Introduce un segundo valor: ");
  10.    scanf("%i" ,&b);
  11.    printf("No es por ser pesado, pero introduce un tercer valor: ");
  12.    scanf("%i" ,&c);
  13.  
  14.    if(c==0)
  15.        {
  16.        printf("No se puede dividir entre 0\n");
  17.        do
  18.            {
  19.            printf("Introduce un valor distinto de 0: ");
  20.            scanf("%i",&c);
  21.            }
  22.        while(c == 0);
  23.        }
  24.  
  25.    res=(a+b)/c;
  26.    printf("El resultado es %i\n", res);
  27.  
  28.    printf("Presione Enter para salir.....");
  29.    while(getchar()!='\n');
  30.    getchar();
  31.    return 0;
  32. }
  33.  

Saludos

Perdon la tardanza, muchas gracias por responder!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
servidor ocupado: no se puede completar esta acción porque el programa está ocup
Windows
baldomero 8 31,470 Último mensaje 19 Marzo 2015, 18:05 pm
por eltecnico07
porque al compilar pesa tanto un programa? « 1 2 »
Programación C/C++
bomba1990 13 9,990 Último mensaje 29 Noviembre 2010, 19:22 pm
por bomba1990
porque no se me ejcuta un programa fasm?
ASM
laviejaelvisillo76 3 3,487 Último mensaje 12 Septiembre 2013, 17:03 pm
por Eternal Idol
.bat al detectar un error reinicia el programa
Scripting
BALTA00 0 1,757 Último mensaje 11 Noviembre 2016, 00:41 am
por BALTA00
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines