Jump to content

Recommended Posts

Posted

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

Posted

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;}

 

Posted

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

Posted

 

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!
  • 9 months later...
Posted

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;}

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.

  • Recently Browsing   0 members

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

Important Information

This site uses cookies to enhance your browsing experience and provide relevant content. By continuing to browse, you agree to our We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. and Terms of Use. For more information on how we protect your data, please check our Privacy Policy.