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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con do-while
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con do-while  (Leído 3,120 veces)
cazagavilan

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Duda con do-while
« en: 17 Abril 2011, 18:21 pm »

Hola, tengo que hacer un mini menu que me permita hacer una suma o salir del programa lo he intentado ( como no ) pero nada no me sale .Cuando sumo me salen numeros raros y si quiero salir del programa sale pero tengo que poner 0 dos veces.
Código
  1. #include "stdafx.h"
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int main()
  6.  
  7. {
  8. int a;
  9. int b;
  10.    int suma;
  11. (suma = a+b);
  12. do{
  13. cout <<"****************************************\n";
  14. cout <<"*****                                                     *****\n";
  15. cout <<"****                                                        ****\n";
  16. cout <<"***                                                           ***\n";
  17. cout <<"**                                                              **\n";
  18. cout <<"*                CALCULADORA DE SUMAS           *\n";
  19. cout <<"**                                                              **\n";
  20. cout <<"***                                                           ***\n";
  21. cout <<"****                                                        ****\n";
  22. cout <<"*****                                                     *****\n";
  23. cout <<"****************************************\n";
  24.  
  25. cout <<"Escriba las dos cifras a sumar o pulse la tecla cero para salir: \n";
  26.    cin >> a >> b;
  27. cout << a << "+" << b << "=" << suma <<"\n";
  28. }while (a <= 0);
  29. return 0;
  30. }
  31.  
  32.  

Tambien me da este error :warning C4700: se utilizó la variable local 'a' sin inicializar.
warning C4700: se utilizó la variable local 'b' sin inicializar.

A ver si me podeis ayudar, Gracias.



En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Duda con do-while
« Respuesta #1 en: 17 Abril 2011, 18:26 pm »

El mismo error te da la respuesta.
Código
  1. #include <stdio.h>
  2.  
  3. int sNum1   = 0;
  4. int sNum2   = 0;
  5. int sResult = 0;
  6.  
  7. int main(){
  8.   printf("Ingrese numero 1: ");
  9.   scanf("%d", &sNum1);
  10.  
  11.   printf("Ingrese numero 2: ");
  12.   scanf("%d", &sNum2);
  13.  
  14.   sResult = sNum1 + sNum2;
  15.  
  16.   printf("%d\n", sResult);
  17.  
  18. }

Código
  1. alex@shellroot:~/Escritorio$ g++ PoC.cpp
  2. alex@shellroot:~/Escritorio$ ./a.out
  3. Ingrese numero 1: 4
  4. Ingrese numero 2: 3
  5. 7
  6.  


« Última modificación: 17 Abril 2011, 18:31 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
ssaammuu

Desconectado Desconectado

Mensajes: 35



Ver Perfil WWW
Re: Duda con do-while
« Respuesta #2 en: 17 Abril 2011, 18:28 pm »

Es que estas haciendo la suma antes de extraer los valores
cin>>a>>b y después suma = a+b;

otra cosa, tienes puesto que el bucle se repita mientras a sea menor o igual a 0, por lo que dice tu programa creo que sería , while(a!=0)
« Última modificación: 17 Abril 2011, 18:30 pm por ssaammuu » En línea

cazagavilan

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: Duda con do-while
« Respuesta #3 en: 17 Abril 2011, 18:29 pm »

jaja gracias me has encendido la bombilla. ahora tengo que solucionar lo del 0 a ver que tal me sale
En línea

cazagavilan

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: Duda con do-while
« Respuesta #4 en: 17 Abril 2011, 18:32 pm »

Si es que he hecho tantas pruebas que ya no se ni lo que ponia pero ahora haciendolo asi: a!=0 me sigue pidiendo dos ceros y haciendo la suma de los mismos, no tendria que salir el cero y cerrarse el programa?
En línea

ssaammuu

Desconectado Desconectado

Mensajes: 35



Ver Perfil WWW
Re: Duda con do-while
« Respuesta #5 en: 17 Abril 2011, 18:33 pm »

Te recomiendo que el bucle lo hagas infinito es decir while(1) y tras extraer a, mires se es igual a 0, si lo es, sales del bucle...
Código:
//codigo...
cout <<"Escriba las dos cifras a sumar o pulse la tecla cero para salir: \n";
    cin >> a;
    if (a==0)return 0;
    cin >> b;
    (suma = a+b);
cout << a << "+" << b << "=" << suma <<"\n";
}while (1);
//codigo...
En línea

cazagavilan

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: Duda con do-while
« Respuesta #6 en: 17 Abril 2011, 18:35 pm »

muchas gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pequeña duda con un comando batch (NUEVA DUDA RELACIONADA)
Scripting
revenge1252 9 9,777 Último mensaje 13 Febrero 2008, 21:41 pm
por revenge1252
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines