Programa C++

Iniciado por Danyel_Casvill, 25 Agosto 2011, 17:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Danyel_Casvill

Hola!!

Veran, en vista de que no tengo nada mas que hacer ( :xD) me puse a hacer todos los algoritos que el profesor de geometría nos ha dado, y al ver que el de catetos me quedo tan largo cuando es algo tan censillo, pense en que se podrá simplificar.

Código (cpp) [Seleccionar]
#include <iostream>
#include <math.h>
#include <cstdlib>
using std::cout;
using std::cin;
using std::endl;

int main()
{
    char p;
    float a,b,r;
    while(a){
    cout<<endl<<"\t\tTeorema de pitagoras";
    cout<<endl<<endl<<"\tUsando C^2=a^2+b^2."<<endl<<endl;
    cout<<"\n\n\n\tTienes el valor de la hipotenusa?(s/n):";
    cin>>p;
    switch(p)
    {
        case 's':
        {
            cout<<"\tDame el valor de la hipotenusa:";cin>>a;
            cout<<"\tDame el valor del cateto:";cin>>b;
            r=sqrt((a*a)-(b*b));
            if(r==((int)r))
               {
                   cout<<"\tEl valor del cateto es:"<<r;
               }
             else cout<<"\tEl valor de el cateto es:Sqr("<<(a*a)-(b*b)<<")";
            break;
        }
        case 'n':
        {
            cout<<"\tDame el valor del cateto a:";cin>>a;
            cout<<"\tDame el valor del cateto b:";cin>>b;
            r=sqrt((a*a)+(b*b));
            if(r==((int)r))
               {
                   cout<<"\tEl valor de la hipotenusa es:"<<r;
               }
             else cout<<"\tEl valor de el cateto es:Sqr("<<(a*a)+(b*b)<<")";
            break;
        }
    }
    cin.get();cin.get();
    system("CLS");
    }

    return 0;
}



Ustedes que dicen, quedo bien hecho o se le podría añadir o quitar algo, etc.

Gracias de antemano. ;D

PD:Gracias Alien-Z, no me acorada que existía \t  :P ya edite el código, y por lo de remplazar endl por \n, lo dices porque ahorra código o porque es preferible usar \n? Saludos!! ;D
adada

Alien-Z

#1
Se ve largo por la cantidad de mensajes pero los cálculos en si están bien.

En vez de usar "cout << endl;" puedes poner al principio del mensaje siguiente "\n" y tienes el mismo efecto pero con menos código.

Otra cosa que no tiene mucho que ver, en vez de poner espacios asi:

Citarcout<<endl<<"                   Teorema de pitagoras";

Usa el tabulador (\t):

Citarcout<<endl<<"\t Teorema de pitagoras";

Puedes ponerlo las veces que quieras. No es nada improtante pero queda mejor de esta forma.

Sobre los cálculos creo que no se puede acortar más...

Saludos.