Pues nada, que en informática estamos dando lenguajes de programación y me entró la curiosidad por aprender C++.
NOTA IMPORTANTE: Por ahora el programa solo ha sido probado en Windows 7, donde sí funciona. Debería funcionar en XP y Vista, aunque no lo sé seguro.Pues tras un par de horas en informática y otro en casa, he terminado un pequeño programa.
No es nada del otro mundo, sólo es una «calculadora» que hace, además de las operaciones básicas, perímetros y áreas de algunos polígonos. Podéis descargarlo abajo.
Click para ampliar |
Mostrar/ocultar código
#include <iostream>
#include <string>
#include <math.h>
#include <stdio.h>
#define PI 3.14159265
using namespace std;
int suma(){
double s1, s2;
cout << "Introduce el primer sumando: ";
cin >> s1;
cout << "Introduce el segundo: ";
cin >> s2;
double sr=s1+s2;
cout << "El resultado es: " << endl << sr << endl;
return 0;
}
int resta(){
double r1, r2;
cout << "Introduce el primer numero: ";
cin >> r1;
cout << "Introduce el segundo: ";
cin >> r2;
double rr=r1-r2;
cout << "El resultado es: " << endl << rr << endl;
return 0;
}
int multi (){
double multiplicando, multiplicador;
cout << "Introduce el multiplicando: ";
cin >> multiplicando;
cout << "Introduce el multiplicador: ";
cin >> multiplicador;
double mr=multiplicando*multiplicador;
cout << "El resultado es: " << endl << mr << endl;
return 0;
}
int divis (){
double dividendo, divisor;
cout << "Introduce el dividendo: ";
cin >> dividendo;
cout << "Introduce el divisor: ";
cin >> divisor;
double dr=dividendo/divisor;
cout << "El resultado es: " << endl << dr << endl;
return 0;
}
int pot(){
double base, exp;
cout << "Introduce la base: ";
cin >> base;
cout << "Introduce el exponente: ";
cin >> exp;
double pr=base;
int i=1;
while (i<exp) {
pr=pr*base;
i++;
}
cout << "El resultado es: " << endl << pr << endl;
return 0;
}
int raiz (){
double raiz1;
cout << "Introduce el radicando: ";
cin>>raiz1;
double raizr= sqrt(raiz1);
cout << "El resultado es: " << endl << raizr << endl;
return 0;
}
int sengrad (){
double ang;
cout << "Introduce un angulo (en grados)";
cin >> ang;
double sinr= sin (ang*PI/180);
cout << "El resultado es: " << endl << sinr << endl;
return 0;
}
int senrad (){
double ang;
cout << "Introduce un angulo (en radianes)";
cin >> ang;
double sinr= sin(ang);
cout << "El resultado es: " << endl << sinr << endl;
return 0;
}
int cosgrad (){
double ang;
cout << "Introduce un angulo (en grados)";
cin >> ang;
double cosr= cos (ang*PI/180);
cout << "El resultado es: " << endl << cosr << endl;
return 0;
}
int cosrad (){
double ang;
cout << "Introduce un angulo (en radianes)";
cin >> ang;
double cosr= cos (ang);
cout << "El resultado es: " << endl << cosr << endl;
return 0;
}
int areaCuadrado(){
double l1;
cout << "Introduce un lado: ";
cin >> l1;
double rareac=l1*l1;
cout << "El resultado es: " << endl << rareac << endl;
return 0;
}
int longCuadrado(){
double l1;
cout << "Introduce un lado: ";
cin >> l1;
double rlongc=4*l1;
cout << "El resultado es: " << endl << rlongc << endl;
return 0;
}
int areaRect(){
double l1, l2;
cout << "Introduce un lado: ";
cin >> l1;
cout << "Introduce el otro: ";
cin >> l2;
double rareaR=l1*l2;
cout << "El resultado es: " << endl << rareaR << endl;
return 0;
}
int longRect(){
double l1, l2;
cout << "Introduce un lado: ";
cin >> l1;
cout << "Introduce el otro: ";
cin >> l2;
double rlongR=2*l1+2*l2;
cout << "El resultado es: " << endl << rlongR << endl;
return 0;
}
int areaTri(){
double base, l1, l2;
cout << "Introduce la base:";
cin >> base;
cout << "La base es: " << base << endl << "Introduce un lado:";
cin >> l1;
cout << "Introduce el otro: ";
cin >> l2;
//TEOREMA DE HERÓN
double s=(base+l1+l2)/2;//Semiperímetro
double a2=s*(s-l1)*(s-l2)*(s-base);//área al cuadrado
double rareaTri=sqrt(a2);
cout << "El resultado es: " << endl << rareaTri << endl;
return 0;
}
int areaTri2(){
double base, altura;
cout << "Introduce la base:";
cin >> base;
cout << "La base es" << base << "Introduce la altura:";
cin >> altura;
double rareaTri=base*altura/2;
cout << "El resultado es: " << endl << rareaTri << endl;
return 0;
}
int areaCirc(){
double radio;
cout << "Introduce el radio:";
cin >> radio;
double rareaC=PI*radio*radio;
cout << "El resultado es: " << endl << rareaC << endl;
return 0;
}
int longCirc(){
double radio;
cout << "Introduce el radio:";
cin >> radio;
double rlongC=PI*radio*2;
cout << "El resultado es: " << endl << rlongC << endl;
return 0;
}
int main () {
char q;
int operador;
cout << "Programa creado por Emilio Cobos Alvarez"<< endl << "Realiza diversas operaciones y calculos" << endl << "NOTA IMPORTANTE:ACEPTA DECIMALES, PERO HAY QUE PONER PUNTOS \".\" EN VEZ DE COMAS \",\"" << endl;
cout << "¿Que quieres hacer?" << endl << "1-Suma"<< endl << "2-Resta" << endl << "3-Multiplicar" << endl << "4-Dividir" << endl << "5-Potencia" << endl << "6-Raiz cuadrada" << endl << "7-seno(grados)" << endl << "8-Seno (Radianes)" << endl << "9-Coseno (grados)" << endl << "10-Coseno (radianes)" << endl << "11-area del cuadrado" << endl << "12-Longitud del Cuadrado" << endl << "13-Area del rectángulo" << endl << "14-Longitudo del rectangulo" << endl << "15-area del triangulo (base y altura)" << endl << "16-Area del triangulo (longitud de sus tres lados)" << endl << "17-area del circulo" << endl << "18-Longitud del circulo"<< endl;
cin >> operador;
switch (operador){
case 1: suma(); break;
case 2: resta(); break;
case 3: multi(); break;
case 4: divis(); break;
case 5: pot(); break;
case 6: raiz(); break;
case 7: sengrad(); break;
case 8: senrad();break;
case 9: cosgrad();break;
case 10: cosrad();break;
case 11: areaCuadrado();break;
case 12: longCuadrado(); break;
case 13: areaRect(); break;
case 14: longRect(); break;
case 15: areaTri2(); break;
case 16: areaTri(); break;
case 17: areaCirc();break;
case 18: longCirc(); break;
default: char q;
cout<<"¿Empezar otra vez (s) o salir (q)?";
cin>>q;
switch (q){
case 's': main(); break;
case 'q': exit (0); break;
default: main(); break;
}; break;
}
cout<<"¿Empezar otra vez (s) o salir (q)?";
cin>>q;
switch (q){
case 's': main(); break;
case 'q': exit (0); break;
default: main(); break;
};
return 0;
}
Me gustaría que lo probarais para ver si hay algún fallo además de la falta de tildes (tengo que mirar cómo se incluyen otros juegos de caracteres), os estaría muy agradecido.