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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema codigo c++.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema codigo c++.  (Leído 2,974 veces)
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Problema codigo c++.
« en: 7 Junio 2012, 23:12 pm »

Hola miren mi problema es este:

quiero crear un programa que te pregunte que operacion queres hacer?

1 para sumar y 2 para restar.

el problema con este codigo c++ es que si el usuario pone 1 o 2 la respuesta siempre va a ser sumar, es que no se como hacer para decirle al programa que if o else depende de el numero ingresado, intente hacerlo y me di cuenta del error, el tema es que no se como hacer para decirle que si la variable SUMAR es = a A; dado que sumar entra deltro de la constante enumerada llamada Operaciones, y el resultado de a; es de el int main.

Aca esta el codigo si alguien lo pueda analizar entenderá bien que funcion quiero realizar.

Código:
#include <iostream>

/***** Objetos usados en el programa */

using std::cout;
using std::cin;
using std:: endl;

/***** Funcion Respuesta de Sumar */
 int Add (int primero,int segundo)
 {
cout << "Los numeros ingresados son: " << primero << " y " << segundo << endl;
cin.get();
return (primero + segundo);
 }

 /***** Funcion Respuesta de restar */

 int Rest (int primerorest, int segundorest)
 {
cout << "Los numeros ingresados son: " << primerorest << " y " << segundorest << endl;
cin.get();
return (primerorest - segundorest);
 }

 /***** Codigo principal del Programa */

 int main()
{
cout << "Bienvenido a has tus operaciones\n";
int respuesta;
cout << "Si quieres sumar escribi: 1\n";
cout << "si queres restar escribi: 2\n";
cin >> respuesta;
cout << "Tu respuesta a sido:\t" << respuesta << endl;

enum Operaciones {sumar = 1,restar};

Operaciones proceder;
proceder = sumar;

if (sumar)
{
cout << "Escribe dos numeros para sumar, recuerda dejar un espacio separado del otro\n";
int a,b,c;
    cout << "Ejemplo: 12 (espacio) 44.";
cin >> a;
cin >> b;
c=Add (a,b);
cout << "El resultado de la suma es: " << c;
cin.get();
return 0;
}

else
{
cout << "Escribe dos numeros para restar, recuerda dejar un espacio separado del otro\n";
int d,e,f;
cout << "Ejemplo : 12 (espacio) 44.";
cin >> d;
cin >> e;
f=Rest (d,e);
cout << "El resultado de la suma es: " << f;
cin.get();
return 0;
}

cout << "Programa creado por 1996marioful\n";
cout << "Gracias a Foro.Elhacker.net\n";
cin.get();
return 0;
 }


En línea

Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: Problema codigo c++.
« Respuesta #1 en: 7 Junio 2012, 23:33 pm »

Te complicas demasiado la vida:

Código
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3.  
  4. void printMenu();
  5. int add(int n1, int n2);
  6. int resta(int n1, int n2);
  7.  
  8. int _tmain(int argc, _TCHAR* argv[])
  9. {
  10. bool salir = false;
  11. int seleccion,a,b;
  12. while(salir!=true){
  13. printMenu();
  14. scanf("%d",&seleccion);
  15. switch(seleccion){
  16. case 1:
  17. printf("Introduzca a\n>>");
  18. scanf("%d",&a);
  19. printf("Introduzca b\n>>");
  20. scanf("%d",&b);
  21. printf("La suma es %d\n", add(a,b));
  22. break;
  23. case 2:
  24. printf("Introduzca a\n>>");
  25. scanf("%d",&a);
  26. printf("Introduzca b\n>>");
  27. scanf("%d",&b);
  28. printf("La resta es %d\n", resta(a,b));
  29. break;
  30. case 0:
  31. salir = true;
  32. break; }
  33. }
  34.  
  35. return 0;
  36. }
  37.  
  38. void printMenu(){
  39. printf("Que desea hacer\n 1- Sumar \n 2-Restar \n 0- Salir\n>>");
  40. }
  41.  
  42. int add(int n1, int n2){
  43. return n1+n2;
  44. }
  45.  
  46. int resta(int n1, int n2){
  47. return n1-n2;
  48. }


En línea

elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: Problema codigo c++.
« Respuesta #2 en: 8 Junio 2012, 00:10 am »

Te complicas demasiado la vida:

Código
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3.  
  4. void printMenu();
  5. int add(int n1, int n2);
  6. int resta(int n1, int n2);
  7.  
  8. int _tmain(int argc, _TCHAR* argv[])
  9. {
  10. bool salir = false;
  11. int seleccion,a,b;
  12. while(salir!=true){
  13. printMenu();
  14. scanf("%d",&seleccion);
  15. switch(seleccion){
  16. case 1:
  17. printf("Introduzca a\n>>");
  18. scanf("%d",&a);
  19. printf("Introduzca b\n>>");
  20. scanf("%d",&b);
  21. printf("La suma es %d\n", add(a,b));
  22. break;
  23. case 2:
  24. printf("Introduzca a\n>>");
  25. scanf("%d",&a);
  26. printf("Introduzca b\n>>");
  27. scanf("%d",&b);
  28. printf("La resta es %d\n", resta(a,b));
  29. break;
  30. case 0:
  31. salir = true;
  32. break; }
  33. }
  34.  
  35. return 0;
  36. }
  37.  
  38. void printMenu(){
  39. printf("Que desea hacer\n 1- Sumar \n 2-Restar \n 0- Salir\n>>");
  40. }
  41.  
  42. int add(int n1, int n2){
  43. return n1+n2;
  44. }
  45.  
  46. int resta(int n1, int n2){
  47. return n1-n2;
  48. }

Huu perdona mi ignorancias, es que soy nuevo y voy por el tutorial numero 4 de jesus conde, e intento hacer este tipo de programa con los codigos que por ahora he aprendido.

tambien cuando intento con tu codigo, me da error en el primero preprocesador, quisiera saber si es que me falta ese archivo o que pasa hay, desde ya gracias por tu respuesta y perdona mi ignorancia, soy noob :D
En línea

Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: Problema codigo c++.
« Respuesta #3 en: 8 Junio 2012, 00:54 am »

Jajaja no te disculples hombre, aqui todos somos noob's en algo

si el problema del preprocesador es porque copíe del visual studio tal cual, si borras el #include "stdafx.h" debería de funcionar creo

Para cualquier duda ya sabes, saludos!
En línea

elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: Problema codigo c++.
« Respuesta #4 en: 8 Junio 2012, 21:10 pm »

Jajaja no te disculples hombre, aqui todos somos noob's en algo

si el problema del preprocesador es porque copíe del visual studio tal cual, si borras el #include "stdafx.h" debería de funcionar creo

Para cualquier duda ya sabes, saludos!

ajjaja si, ahora pude solucionar ese problema del preprocesador, el unico error que me tira esta en la linea 7:

int _tmain(int argc, _TCHAR* argv[])

el problema es que me dice que _TCHAR no esta definido  :(
En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Problema codigo c++.
« Respuesta #5 en: 9 Junio 2012, 00:11 am »

Código
  1. int main(int argc, char *argv[]) {
  2.  
  3.  
  4. }
En línea

Ahorrate una pregunta, lee el man
darkvidhack

Desconectado Desconectado

Mensajes: 159


Be Linux my friend...


Ver Perfil WWW
Re: Problema codigo c++.
« Respuesta #6 en: 9 Junio 2012, 00:19 am »

Código
  1. int main () {
  2.  
  3. int opcion;
  4. cout<<"Introduce opción"<<endl;
  5. cin>>opcion;
  6.  
  7. switch(opcion) {
  8.  
  9. case 1:
  10. Sumar();
  11. break;
  12.  
  13. case 2:
  14. Restar();
  15. break;
  16.  
  17. }
  18.  
  19. }

Un estilo a esto creo que es lo que quieres...

Saludos ;)
En línea

live and let die

la duda es la base de todo conocimiento
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: Problema codigo c++.
« Respuesta #7 en: 9 Junio 2012, 02:40 am »

Hola... muchas gracias a los tres!!!

durasno cambie esa parte y andubo de maravilla!!!

darkvidhack use ese codigo y tuve que editarlo deacuerdo a los names de las funciones y andubo de 10!!!

agradezco a todos los que me constestaron mi problema, desde ya gracias y saludos!!!
En línea

elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: Problema codigo c++.
« Respuesta #8 en: 9 Junio 2012, 03:45 am »

Bueno aunque sepa poco de c++ debo aceptar que entiendo mucho para recien haber empezado.

Agarre como codigo fundamental el de darkvidhack.
tambien utilize de mis codigos.
Y obiamente analize el codigo que me paso Oblivi0n y saque lo de volver a main() asi:

return main();

y otra cosa que saque de su codigo fue esto:

bool salir = false;
salir = true;

y terminé creando este codigo, corto espero que les guste, no se olviden que soy nuevaso y esos codigos no los entendia :

Código:
#include <iostream>

using namespace std;

int main () {
 
int opcion;
cout << "Que desea hacer?\n";
cout << "1- Sumar \n";
cout << "2-Restar \n";
cout << "0- Salir\n>>";
cout<<"Introduce opción"<<endl;
cin>>opcion;
bool salir = false;
 
switch(opcion) {

case 0:
cout << "Creado by 1996marioful\n";
cout << "Gracias a los de usuarios de Foro.elhacker.net\n";
cout << " En especial a: Oblivi0n, darkvidhack y durasno\n";
cin.get();
salir = true;
break;
 
case 1:
int a,b,c;
cout << "Escriba su primer n\xa3mero\n recuerde dejar espacio antes de escribir el otro: ";
cin >> a;
cin >> b;
c=a+b;
cout << "Resultado: " << c << endl;
    cin.get();
return main();
break;
 
case 2:
int d,e,f;
cout << "Escriba su primer n\xa3mero\n";
cout << "recuerde dejar espacio antes de escribir el otro: ";
cin >> d;
cin >> e;
c=d-e;
cout << "Resultado: " << c << endl;
    cin.get();
return main();
break;
 
}
cin.get();
return 0;
 
}
« Última modificación: 9 Junio 2012, 03:53 am por 1996marioful » En línea

darkvidhack

Desconectado Desconectado

Mensajes: 159


Be Linux my friend...


Ver Perfil WWW
Re: Problema codigo c++.
« Respuesta #9 en: 9 Junio 2012, 14:54 pm »

Hola de nuevo!! Te comento:

La variable bool salir, no te sirve en este caso, ya que si por ejemplo escoges la opción 1, cuando la ejecución del programa llega a "break;", sale del switch.

El cin.get(), tanto los de dentro de los case, como cuando terminas el switch, tampoco te sirve, ya que con eso lo que haces es leer un caracter de la entrada standar (teclado), y ya lees con "cin>>opcion" arriba del switch.

El return main tampoco, cuando quieres terminar la ejecución del programa, simplemente con el return 0 tienes suficiente.

Nada más, sigue aprendiendo :D
En línea

live and let die

la duda es la base de todo conocimiento
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con código
Programación Visual Basic
z3r0 Bug 7 2,199 Último mensaje 24 Noviembre 2005, 16:51 pm
por NYlOn
¿Cuál es la diferencia entre código objeto, código máquina y código binario?
Programación General
Aikanáro Anário 9 28,900 Último mensaje 23 Diciembre 2010, 15:19 pm
por pucheto
Extrayendo código fuente de una web (Problema con código generado por JS)
PHP
Littl3 4 7,798 Último mensaje 3 Marzo 2011, 04:13 am
por Nakp
[C] Problema GNUPlot con código C
Programación C/C++
valen7valverde 0 2,321 Último mensaje 8 Mayo 2020, 04:31 am
por valen7valverde
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines