Jump to content

[C++] Mini Calculadora + Explicación


PACI
 Share

Recommended Posts

Hola.

Algunos, o la mayoría de nosotros, gracias a la iniciativa propuesta por Serex, estamos aprendiendo a manejar el C++.

Yo como soy sincero os digo que no estoy aprendiendo por la guia de Serex aqui en zone, si no por mi cuenta.

Entonces se me ocurrió hacer lo más basico que pude hacer, una calculadora.

 

Como mis conocimientos sobre C++ aún no son muy grandes, apenas pude hacerla que sumara 2 valores.

No es lo algo grande pero algo es algo, y tengo explicados todas, o la mayoría de las cosas del codigo.

 

En esta calculadora se usan variables que guarden strings, se usan integers, se usa un bucle for y un array.

Así que aqui va:

 

#include <iostream>#include <string>   // Se necesita este include para poder usar strings.using namespace std;int main(){    // Declaración de las variables. En este caso se usa un array con espacio hasta 2 integers, y dos variables, k y calc.    int yolo[2], k = 1, calc;  // Apenas se aceptan numeros, tanto en el array como en las otras dos variables;    string type, sn;            // Apenas se aceptan strings.    // Print del texto    cout << "Que calculo quieres hacer?n";    cout << " + = suman - = subtraccionn * = multiplicacionn / = divisionn";    // Atribuicion de una string a la variable type. En este caso la variable sera igual a un simbolo matematico, que se usara para calcular.    cin >> type;    // En el caso que no se introduzcan los simbolos requeridos, salta este print y cierra el programa.    if (type != "+" and type != "-" and type != "*" and type != "/"){        cout << "Error! Debes introducir uno de los simbolos referidos!!n";        return 0;    }    // Print de texto    cout << "Introduce los valores que quieras: n";    /*  Bucle for (init; cond; incr);        El bucle empieza en el 0 y le aumenta un valor a la variable Z hasta que esta tenga un valor menor o igual        a la variable k.        for (int z = 0; z <= k; z = z + 1)     */    for (int z = 0; z <= 1; z++){        // Atribuicion de un valor a cada elemento del array.        cin >> yolo[z];        // Si la string en la variable type es un +, entonces se hará una suma.        if (type == "+"){            calc = yolo[k-z]+yolo[k];        }        // Si la string en la variable type es un -, entonces se hará una subtracción.        else if (type == "-"){            calc = yolo[k-z]-yolo[k];        }        //  Si la string en la variable type es un *, entonces se hará una multiplicación.        else if (type == "*"){            calc = yolo[k-z]*yolo[k];        }        // Si la string en la variable type es un /, entonces se hará una división.        else if (type == "/"){            calc = yolo[k-z]/yolo[k];        }        // O mejor dicho, el valor de la variable calc será el resultado de los calculos.    }    // Print del resultado y del texto    cout << "Resultado: " << calc << "nnnnn";    cout << "Deseas continuar haciendo calculos?n S = Sin N = Non";    // Se le atribuye a la variable sn la string que hemos escrito.    cin >> sn;    // Si la variable sn corresponde a S o s entonces reiniciará el programa. Caso contrário, lo cerrará.    if (sn == "S" | sn == "s"){main();}    else{return 0;}}
Otros:

- En el array se guardan los valores que queramos sumar/restar/multiplicar/dividir.

- La variable K es igualada a 1 porque en C++ el 1º valor del array corresponde al numero 0.

 

Por ejemplo:

int ejemplo[3] = {1,2,3};

cout << ejemplo[0] << "n";

-> Esto hará print al primer valor del array, en este caso, 1.

 

Es todo, no es mucho, pero bueno, siempre es algo diferente xD

Saludos y comentad ! :l

Link to comment
Share on other sites

Yo hace tiempo hice una muy sencilla tambien, pero use la funcion "switch", por las dudas lo dejo aqui.. 

#include<iostream>#include <string>using namespace std;int main(){        string confirmacion = "SI";    system("title Calculadora");    cout << "Bienvindo/a, esta es una calculadora" << endl;    cout << "" << endl;        while(confirmacion == "SI")    {          cout << "Ten en cuenta al momento de hacer la operacion los signos n n+(Suma)n-(Resta)n*(Multiplicacion)n/(Division)n" << endl;          cout << "Ejemplo de una operacion: 1+2 (No deje espacio entre signo y numeros)n" << endl;          system("pause");          system("cls");          cout << "Coloque a continuacion la operacion a realizar:n" << endl;          double n1, n2;          char signo;              cin >> n1 >> signo >> n2;          cout << "" << endl;              switch(signo)          {                 case '+':                      cout << n1 << signo << n2 << " = " << n1+n2 << endl;                      break;                 case '-':                      cout << n1 << signo << n2 << " = " << n1-n2 << endl;                      break;                 case '*':                      cout << n1 << signo << n2 << " = " << n1*n2 << endl;                      break;                 case '/':                      cout << n1 << signo << n2 << " = " << n1/n2 << endl;                      break;                 default:                         cout << "Ha intruducido un formato incorrecto" << endl;                         break;          }          cout << "" << endl;          system("pause");          system("cls");          cout << "¿Desea continuar con la calculadora?nnSi es asi escriba 'SI'.nnRecuerde la diferencia entre mayuscula y minusculas.n" << endl;          cout << "Escriba la confirmacion a continuacion: ";                    cin >> confirmacion;          cout << "" << endl;          system("pause");          system("cls");    }    if(confirmacion != "SI")    {        cout << "La palabra clave es incorrectan" << endl;        cout << "Adiosn" << endl;        system("pause");        system("exit");       }        return 0;}

 

Link to comment
Share on other sites

Bien Viejo, Pero Pues Nose Seria Mejor Hacerlas Por Visual Basic Ya Que Es El Mas Facil Para Usar No Crees.?

Puede, pero ya que estoy aprendiendo C++ es mejor que haga algo en ese lenguage con los conocimientos que voy adquiriendo.Francoiz gracias, más se aprende con la manera de hacer las cosas de los demás :P solo una cosa, el "n" es lo mismo que el endl, así que no necesitas hacer cout << "texton" << endl; con cout << "texton"; basta xD

Link to comment
Share on other sites

 

Puede, pero ya que estoy aprendiendo C++ es mejor que haga algo en ese lenguage con los conocimientos que voy adquiriendo.Francoiz gracias, más se aprende con la manera de hacer las cosas de los demás :P solo una cosa, el "n" es lo mismo que el endl, así que no necesitas hacer cout << "texton" << endl; con cout << "texton"; basta xD

Ah, gracias!Igualmente aprendí lo BÁSICO, y lo deje al c++, yo aprendí c++ porque me interesaba hacer dlls, pero nunca lo logré, asi que lo deje...Saludos, y suerte!
Link to comment
Share on other sites

  • 9 months later...

Aquí te hice un código de ejemplo para te guíes como hacer para que sume N numeros:

 

#include <iostream>using namespace std;int main(){    int n = 0, suma = 0;    cout << "Con cuantos numeros hara operaciones?" << endl;    cin >> n;    double x[n];    for (int i = 0; i<n; i++)    {        cout << "N"<<i+1<<": ";        cin >> x[i];        cout << endl;        suma += x[i];    }    cout << "La suma es: " << suma << endl;    return 0;}
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...