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

programa c++ help needed

Discussão em 'Programação' iniciada por dmelo, 25 de Abril de 2008. (Respostas: 10; Visualizações: 1156)

  1. dmelo

    dmelo Power Member

    pois é pessoal estou aki cm um problema, sou muito noob nisto e queria ajuda.....l0ol......o programa é simples, pedir 3 numeros ao utilizador, e dp ordenar de forma crescente ou decrescente conforme a vontade do utilizador......a minha duvida é ao utilizar o if dentro do switch......n consigo por a funcionar.......LUZZZZZZZZZZZZZZZ quero uma luZZZZZZZ.....l0ol

    #include <iostream>

    using namespace std;
    int main()
    { int num1,num2,num3;
    int num;

    cout<<"introduza num1:\n";
    cin>>num1;
    cout<<"introduza num2:\n";
    cin>>num2;
    cout<<"introduza num3:\n";
    cin>>num3;

    cout<<"\nescolha uma das opcoes\n\n";
    cout<<" 1.crescente\n";
    cout<<" 2.decrescente\n";
    cin>>num;


    switch(num){
    case 1:
    if(num1>num2&&num2>num3)
    { cout<<"ordem crescente:"<<num1;}

    break;

    case 2:


    break;

    default:
    cout<<"tem de escolher uma das opcoes\n";
    }


    return 0;
    }
     
    Última edição: 25 de Abril de 2008
  2. Assim de repente parece que só estás a escrever o maior dos números. E falta-te fazer algo equivalente para a ordem decrescente.
     
  3. dmelo

    dmelo Power Member

    pois eu queria tb saber como mostrar os vários numeros........
    é claro que tenho de fazer algo semelhante para a ordem decrescente.........
     
  4. Tens mesmo de fazer isso com ifs ou podes usar a função max()? Se puderes o código torna-se mais simples.

    O que tens de fazer é verificar qual deles é o menor e escrever esse. Depois tens de encontrar o menor dos outros dois (aqui isto torna-se chato porque tens casos diferentes dependente de qual deles foi o primeiro) e no fim escreves o outro.
     
  5. dmelo

    dmelo Power Member

    vou tentar......
     
  6. LuisFP

    LuisFP Power Member

    Aqui está (uma forma muito básica de o fazer):

    Código:
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    int num,num1,num2,num3,max=0,max2=0,pos,pos2,min=32600,min2=32600;
    int v[3];
    
    cout<<"introduza num1: ";
    cin>>num1;
    cout<<"introduza num2: ";
    cin>>num2;
    cout<<"introduza num3: ";
    cin>>num3;
    
    v[0]=num1;
    v[1]=num2;
    v[2]=num3;
    
    
    cout<<"\nescolha uma das opcoes\n\n";
    cout<<" 1.crescente\n";
    cout<<" 2.decrescente\n\n";
    cin>>num;
    cout<<endl<<endl;
    
    
    switch(num){
    case 1:
      
      cout<<"Ordem crescente: ";
      for(int i=0;i<3;i++)
      {
        if(v[i]>max)
        {
            max=v[i];
            pos=i;
        }
      }
      for(int i=0;i<3;i++)
      {
        if(i!=pos)
            if(v[i]>max2)
            {
              max2=v[i];
              pos2=i;
            }
      }
      for(int i=0;i<3;i++)
          if(i!=pos && i!=pos2)
              cout<<v[i]<<" ";
      cout<<v[pos2]<<" "<<v[pos]<<endl<<endl;
    
     break;
    
    case 2:
    
      cout<<"Ordem decrescente: ";
      for(int i=0;i<3;i++)
      {
        if(v[i]<min)
        {
            min=v[i];
            pos=i;
        }
      }
      for(int i=0;i<3;i++)
      {
        if(i!=pos)
            if(v[i]<min2)
            {
              min2=v[i];
              pos2=i;
            }
      }
      for(int i=0;i<3;i++)
          if(i!=pos && i!=pos2)
              cout<<v[i]<<" ";
      cout<<v[pos2]<<" "<<v[pos]<<endl<<endl;
    
    break;
    
    default:
    cout<<"Escolha uma das opcoes\n";
    }
    
    return 0;
    }
     
    Última edição: 25 de Abril de 2008
  7. dmelo

    dmelo Power Member

    obrigadão

    obrigado a todos pelas respostas....... bem não tá assim tão básico....l0ol

    já consegui recorrendo aos if´s em cadeia lol.......6 condições, até n é muito.....o k vale é k é só para 3 numeros......
    >>>já n me lembro é como se faz para correr o programa de novo.......tipo perguntar ao utilizador se deseja introduzir novos numeros e voltar a rodar o prog....isso acho k tb é basico mas n me lembro....!!!!!!!!
     
  8. Compilas e corres.
     
  9. dmelo

    dmelo Power Member

    l0ol...n fui muito claro queria adicionar ao fim do programa um opção do tipo: deseja correr outravez? prima 0.....
     
  10. Crias um ciclo infinito e pões essa condição no fim. Depois só tiver sido introduzido 0 sais do ciclo com um break.
     
  11. LuisFP

    LuisFP Power Member

    Basta meteres um ciclo do genero:
    Código:
    int op=1;
    
    do{
    
    //...o teu codigo
    
    cout<<"Deseja voltar a correr o programa? 1-Sim 0-Não"<<endl;
    cin>>op;
    
    if(op!=0)
     //inicializas as variaveis contadoras
    
    if(op==0)
     cout<<"Programa a terminar"<<endl;
    
    }while(op!=0);
    
     

Partilhar esta Página