1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda a resolver um problema de linhas de codigo em c++

Discussão em 'Programação' iniciada por fernandosantos1, 11 de Maio de 2009. (Respostas: 2; Visualizações: 1051)

  1. eu sou novo nisto tou a tirar um curso de informatica mas verdade seja dita isto pra mim e chines.
    o trabalho final e usar um switch para juntar 4 areas de solidos ate ai tudo bem depois e ke a porca torce o rabo eu fiz com o do while e ai pedia ke me ajudassem e ke para alem disso tenho ke por um while para ke se algum utilizador puser alguma coisa ke n seja s/n volta ao menu agradecia muito a vossa ajuda junto ponho o codigo.
    Código:
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] 
    #include[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]<iostream>
    [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]using[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] std;[/COLOR]
    [COLOR=#000000][/COLOR]
    [COLOR=#000000][/COLOR]
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] main (){[/COLOR]
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Areas;
    
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]const[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]float[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Pi = 3.14159265F;
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]float[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] area, base, altura, ladomaior, ladomenor, radius,lado;
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] menu = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'s'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]do[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] {
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Qual a area que deseja saber?\n1.Circulo\n2.Quadrado\n3.Rectangulo\n4.Triangulo\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    cin >> Areas;
    system ([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"cls"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]switch[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (Areas){
    
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]case[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] 1:
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Qual o raio do circulo?"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    cin >> radius;
    area = Pi *( radius * radius);
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"A area e' "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] << area <<endl;
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]case[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] 2:
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"qual o tamanho do lado? "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]; 
    cin >> lado;
    area=lado*lado;
    cout<<[/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" A area e "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] <<area <<endl;
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]case[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] 3:
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Qual o tamanho do lado maior? "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]; 
    cin >> ladomaior;
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Qual o tamanho do lado menor? "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    cin >> ladomenor;
    cout <<[/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" A area do rectangulo e "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] <<(ladomaior*ladomenor) <<endl;
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]case[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] 4:
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" insira o tamanho da base? "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]; 
    cin >> base;
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" insira o tamanho da altura? "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    cin >> altura;
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" A area do triangulo e "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] << (base*altura/2) <<endl;
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"pretende continuar[s/n]? "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]<< endl;
    cin >> menu ;
    
    
    
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Qual a area que deseja saber?\n1.Circulo\n2.Quadrado\n3.Rectangulo\n4.Triangulo\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    cin >> Areas;
    system ([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"cls"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);
    
    } [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] ( Areas != [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'s'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && != [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'S'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && != [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'n'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && != [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'N'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);{
    cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"pretende continuar[s/n]?"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] << endl;
    cin >> menu;
    }
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] 0;
    }
    [/SIZE]
    
     
    Última edição pelo moderador: 11 de Maio de 2009
  2. OubeLa

    OubeLa Power Member

    Código:
    #include<iostream>
    #include <cmath>
    using namespace std;
    
    
    int main ()
    {
        int Areas;
    
        const float Pi = acos(-1.0);
        float area, base, altura, ladomaior, ladomenor, radius,lado;
        char menu = 's';
    
        do {
            cout << "Qual a area que deseja saber?\n1.Circulo\n2.Quadrado\n3.Rectangulo\n4.Tri angulo\n";
            cin >> Areas;
            system ("cls");
            switch (Areas){
    
    case 1:
        cout << "Qual o raio do circulo?";
        cin >> radius;
        area = Pi *( radius * radius);
        cout << "A area e' " << area <<endl;
        break;
    case 2:
        cout << "qual o tamanho do lado? ";
        cin >> lado;
        area=lado*lado;
        cout<<" A area e " <<area <<endl;
        break;
    case 3:
        cout << "Qual o tamanho do lado maior? ";
        cin >> ladomaior;
        cout << "Qual o tamanho do lado menor? ";
        cin >> ladomenor;
        cout <<" A area do rectangulo e " <<(ladomaior*ladomenor) <<endl;
        break;
    
    case 4:
        cout << " insira o tamanho da base? ";
        cin >> base;
        cout << " insira o tamanho da altura? ";
        cin >> altura;
        cout << " A area do triangulo e " << (base*altura/2) <<endl;
        break;
            }
    
            cout << "pretende continuar[s/n]? "<< endl;
            cin >> menu ;
    
    
        } while ( menu == 's' || menu == 'S');
    
            return 0;
    }
    Para fazeres isso é só fazeres um do while que corre sempre que menu for diferente de 's' ou 'S'. De qualquer forma deverias rever isso porque se o utilizador colocar "sim" o programa vai estourar por todos os lados (deverias usar string em vez de char).

    Para determinares o valor de pi, em vez de colocares o número à mão (arredondado) podes obter o seu valor exacto usando a função float acos(float x); que recebe um argumento do tipo float (neste caso) e retorna o arc co-seno de um número. O pi pode ser obtido através do arc co-seno de -1 (basta ver que o co-seno de pi é -1). Esta função está disponível em cmath. Podes ver mais informação aqui: http://www.cplusplus.com/reference/clibrary/cmath/acos/
     
    Última edição: 11 de Maio de 2009
  3. um agradecimento

    Muito Obrigado pela dica foi muito importante para mim, obrigadao sir_atmc.
     

Partilhar esta Página