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


 


Tema destacado: Píldoras formativas en seguridad de la información


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  [c++] Suma, resta, multiplicacion y division
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [c++] Suma, resta, multiplicacion y division  (Leído 26,358 veces)
dani__

Desconectado Desconectado

Mensajes: 126


Always learning...


Ver Perfil
[c++] Suma, resta, multiplicacion y division
« en: 14 Febrero 2011, 15:50 »

Bueno aqui les dejo un programa muy sencillo (estoy empezando) que realiza las operaciones de suma, resta, multiplicacion y division.

Es muy sencillo solo he utilizado cout, cin, estructuras if y otra funcion a parte de main().

Código:
//Realiza operaciones basicas con dos numeros: suma, resta, multiplicacion y division.

#include <iostream>

int elegir_operacion();

int main()
{
    int elegir=0, numero1, numero2, resultado, parar;
    float resultado_exacto;

    elegir = elegir_operacion();

    if (elegir==1 or elegir==2 or elegir==3 or elegir==4)
    {
                  std::cout << "Primer numero ";
                  std::cin >> numero1;
                  std::cout << "Segundo numero ";
                  std::cin >> numero2;
                 
                  if (elegir == 1)
                  {
                  resultado = numero1 + numero2;
                  std::cout << std::endl << std::endl << "Resultado: " << resultado;
                  }
                 
                  if (elegir == 2)
                  {
                  resultado = numero1 - numero2;
                  std::cout << std::endl << std::endl << "Resultado: " << resultado;
                  }
                 
                  if (elegir == 3)
                  {
                  resultado = numero1 * numero2;
                  std::cout << std::endl << std::endl << "Resultado: " << resultado;     
                  }
                 
                  if (elegir == 4)
                  {
                             int resto=0;
                               resultado = numero1 / numero2;
                               resto = numero1 % numero2;
                               if (resto != 0)
                               resultado_exacto = (float) numero1 / numero2;
                               // (float) fuerza a que la division devuelva un numero decimal
                               std::cout << std::endl << "Resultado exacto: " << resultado_exacto << std::endl;
                               std::cout << std::endl << std::endl << "Resultado: " << resultado;
                               std::cout << "         Resto: " << resto;
                  }
                 

    }
    else
        std::cout << std::endl << std::endl << "Error: selecciona una operacion valida." << std::endl;
    std::cin >> parar;
    return 0;
}

int elegir_operacion()
{
    int elegir_provisional;
    std::cout << "Elige una de estas funciones:" << std::endl << "1. Sumar" << std::endl << "2. Restar" << std::endl << "3. Multiplicar"
    << std::endl << "4. dividir" << std::endl;
    std::cin >> elegir_provisional;
    return elegir_provisional;
}


En línea

SySc0d3r

Desconectado Desconectado

Mensajes: 179



Ver Perfil WWW
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #1 en: 14 Febrero 2011, 15:59 »

El programa está muy bien  ;) , simplemente un consejo.
En vez de estar poniendo continuamente std::, podrías poner en la cabecera "using namespace std;", y es más cómodo   :)
   


En línea

dani__

Desconectado Desconectado

Mensajes: 126


Always learning...


Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #2 en: 14 Febrero 2011, 16:30 »

El programa está muy bien  ;) , simplemente un consejo.
En vez de estar poniendo continuamente std::, podrías poner en la cabecera "using namespace std;", y es más cómodo   :)
   

Gracias lo aplicare a partir de ahora.

Una pregunta me he dado cuenta que puse "or" en vez de "||" ¿que me aconsejarias utilizar?
En línea

Fastolfe

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #3 en: 14 Febrero 2011, 17:01 »

Esta bien el programa, pero una sugerencia: en lugar de usar tanto if usa un switch.
Y si creas una función para sumar, otra para restar, etc. mejor todavia. Pero para estar empezando está muy bien. Creo que no hay diferencia entre usar "or" y "||".

Sigue aprendiendo C++ ;)
En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #4 en: 14 Febrero 2011, 19:29 »

Me gusta más C
Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5. int num1, num2;
  6. float opc;
  7.  
  8. printf (Menu:\n1. Suma\n2. Resta\n3. Multiplicacion\n4. Division\nOpcion:);
  9. scanf ("%d", &opc);
  10. if (opc < 1 || opc > 4)
  11. {
  12. printf (Opcion incorrecta...\n\n);
  13. return 1;
  14. }
  15. printf ("\nNumero 1: ");
  16. scanf ("%f", &opc);
  17. printf ("Numero 2: ");
  18. scanf ("%f", &opc);
  19.  
  20. switch (opc)
  21. {
  22. case 1: printf ("Respuesta --> %f", num1+num2); break;
  23. case 2: printf ("Respuesta --> %f", num1-num2); break;
  24. case 3: printf ("Respuesta --> %f", num1*num2); break;
  25. case 4: printf ("Respuesta --> %f", num1/num2); break;
  26. }
  27. return 0;
  28. }
  29.  
  30.  

Suerte!
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.116



Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #5 en: 14 Febrero 2011, 19:32 »

Te recomiendo que te vayas acostumbrando al POO de C++. Esa fue una de las razones porque me quede con C++.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
dani__

Desconectado Desconectado

Mensajes: 126


Always learning...


Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #6 en: 14 Febrero 2011, 19:51 »

Te recomiendo que te vayas acostumbrando al POO de C++. Esa fue una de las razones porque me quede con C++.

No he llegado todavia a POO se cosas muy elementales puesto que empece hace unos meses y el libro que tenia no lo entendia bien y ahora me coji un libro de la biblioteca y voy bien
En línea

dani__

Desconectado Desconectado

Mensajes: 126


Always learning...


Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #7 en: 14 Febrero 2011, 19:55 »

Esta bien el programa, pero una sugerencia: en lugar de usar tanto if usa un switch.
Y si creas una función para sumar, otra para restar, etc. mejor todavia. Pero para estar empezando está muy bien. Creo que no hay diferencia entre usar "or" y "||".

Sigue aprendiendo C++ ;)

No se usar switch. ¿Tu crees que es conveniente dividir cada bloque if en funciones? A mi me parecen pocas lineas de codigo y ademas muy simples.
He leido sobre las inline ¿Es conveniente acostumbrarme a usar estas en funciones cortas?
En línea

SySc0d3r

Desconectado Desconectado

Mensajes: 179



Ver Perfil WWW
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #8 en: 14 Febrero 2011, 20:47 »

Una pregunta me he dado cuenta que puse "or" en vez de "||" ¿que me aconsejarias utilizar?

Yo personalmente prefiero utilizar ||. La verdad es que nunca lo había visto como "or".
Aunque realmente creo que no importa cuál de los 2 uses.

He leido sobre las inline ¿Es conveniente acostumbrarme a usar estas en funciones cortas?

Ésto te lo digo por lo que yo sé:

Las funciones en línea (inline) sirven para aumentar la velocidad del programa, y son convenientes de utilizar cuando se recurre muchas veces a una misma función y su código es pequeño.
Lo malo es que si se llama a una función inline por ejemplo 10 veces en el programa, el compilador inserta diez copias de la función en el programa. Entonces el tamaño del programa aumenta bastante.

                                     
                                                     Ventajas                                     Desventajas

Funciones en línea                      Rápidas de ejecutar                         Tamaño grande

Funciones fuera de línea           Tamaño pequeño                            Lentas de ejecutar     
 
En línea

Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #9 en: 14 Febrero 2011, 22:48 »

El programa está muy bien  ;) , simplemente un consejo.
En vez de estar poniendo continuamente std::, podrías poner en la cabecera "using namespace std;", y es más cómodo   :)
   

Poniendo using namespace std se incluyen cosas que posiblemente no se vayan a utilizar.

Mejor es especificar solo lo que vamos a usar:

Código
  1. using std::cout;
  2. using std::endl;
  3.  
...
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
anonimo12121


Desconectado Desconectado

Mensajes: 1.817


Ver Perfil WWW
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #10 en: 15 Febrero 2011, 00:09 »

UN regalo- raiz
Código:
#include <iostream>
using namespace std;
int raiz(int base,int exp){
    int t=base;
    for(int i=1;i<exp;i++)t=t*base;
    return t;
}
int main(int *argc,char *argv[]){
    int a;
    cout << raiz(2,3);
    cin.get();
    return 0;
   
}
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Fastolfe

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #11 en: 15 Febrero 2011, 22:39 »

No se usar switch. ¿Tu crees que es conveniente dividir cada bloque if en funciones? A mi me parecen pocas lineas de codigo y ademas muy simples.
He leido sobre las inline ¿Es conveniente acostumbrarme a usar estas en funciones cortas?

Ya aprenderás a usarlo entonces xD. Para un programa como este no es necesario hacer funciones, pero según vayas haciendo programas más complejos te facilitarás las cosas. Y sobre las inline ya te ha respondido valenciano013
En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.817


Ver Perfil WWW
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #12 en: 16 Febrero 2011, 00:18 »

Ya aprenderás a usarlo entonces xD. Para un programa como este no es necesario hacer funciones, pero según vayas haciendo programas más complejos te facilitarás las cosas. Y sobre las inline ya te ha respondido valenciano013
No hace falta pero te sirve para practicar usando clases funciones y herencias...
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
komiki007

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: [c++] Suma, resta, multiplicacion y division
« Respuesta #13 en: 24 Agosto 2011, 15:47 »

Pero un programa mas sencillo seria esto:

#include<iostream>
using namespace std;
int main(){
    string st;
    while (cin>>st){
          int a,b;
          cin>>a>>b;
          if (st=="suma") cout<<"La suma es "<<a+b<<".";
          else if (st=="resta") cout<<"La diferencia es "<<a-b<<".";
               else if (st=="multiplica") cout<<"El producto es "<<a*b<<".";
                    else if (st=="divide") cout<<"El cociente es "<<a/b<<".";
          cout<<endl<<endl;
          }
}
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines