Jump to content

Programa de exemplo: usando arrays e menus


Recommended Posts

Posted

Bem primeiro quero voltar a dizer o mesmo que já disse algumas vezes, os TPCs são pra cada 1 os fazer...e assim é k se aprende...tem duvidas ao faze-los aprendam que nos damos 1 ajuda, e vemos o k fizeram...mas assim do nada, pedirem ajuda constantemente....e nem mostrarem trabalho, acho muito mau...pois não aprendem nada, e andam a espera que cai algo do céu...e depois não fazem o trabalho a tempo, como deve ser...e nem aprendem... enfim cada um sabe de si...mas mais 1 vez ajudo, da pior maneira, fazendo o programa todo...

criei um programa que guarda as despesas diárias dos meses de novembro e dezembro...e depois calcula o total gasto em cada, mês e dos 2 meses em conjunto...note.se que um mês tem 31 dias e o outro 30 😄 aqui fica o

#include <iostream>

using namespace std;


int main(){

   double novembro[30];
   double dezembro[31];
   double despesa;
   int opcao=1,i;

   cout<<"Introduza o valor das despesas diarias do mes de novembro (30) \n";
   for(i=0; i<30; i++)
   {  cout<<"dia "<< i+1;
     cin>>novembro[i];   
   }

   cout<<"Introduza o valor das despesas diarias do mes de dezembro (31) \n"; 
   for(i=0; i<31; i++)
   { 
     cout<<"dia " <<i+1;
     cin>>dezembro[i];   
   }

   while(opcao!=0){

     cout<<"\n\t1-Pretendo calcular o total de despesa feito em Novembro ->";
     cout<<"\n\t2-Pretendo calcular o total de despesa feito em Dezembro ->";
     cout<<"\n\t3-Pretendo calcular o total de despesa feita nos 2 meses: novembro e dezembro "; 
     cout<<"\n\t0-Sair\n";
     cin>>opcao;

     switch(opcao){

       case 0: break;

       case 1: {  despesa=0;
                   for(i=0; i<30; i++)   
                   despesa=despesa+novembro[i];

                   cout<<"\tA despesa no mes de novembro foi de "<<despesa;
                   break;
               }
       case 2:{  despesa=0;
                 for(i=0; i<31; i++)   
                 despesa=despesa+dezembro[i];

                 cout<<"\tA despesa no mes de dezembro foi de "<<despesa;
                 break;
               }
       case 3: { despesa=0;
                 for(i=0; i<30; i++)   
                 despesa=despesa+novembro[i]+dezembro[i];

               despesa=despesa+dezembro[30];
               cout<<"\tA despesa nos 2 meses foi de "<<despesa;
               break;
               }   
       default: cout<<"\n\n\tverifica a opcao introduzida!!ERRO....\n";
     }
     }
     ;

return 0;
}
Posted

Obrigado por partilhare o programa e o código, de certeza que vai ser útil aos que andam a aprender C++, essa linguagem maravilhosa.

Agora sobre o que disseste em primeiro, concordo contigo! Não podemos fazer o trabalho de ninguém, se não nem ajudamos os que ficam com o trabalhinho feito, nem os outros que tiveram MESMO trabalho e que ficam com a mesma nota.

  • 2 years later...
Posted

O endl serve para mudar de linha e fazer flush ao buffer de saída. Ou seja, sim, é facultativo, só o utilizas se quiseres utilizá-lo para aquilo que ele serve 😄

Bem me parecia... Portanto podemos verificar neste exemplo que m vez de ser usado o "endl", foi usado o "\n" que tem o mesmo efeito (corrijam-me se tiver errado). Bons tempos de C.

Posted

Não é exactamente o mesmo. O endl força o flush do stream, ou seja, se estiveres a utilizar o cout para escrever no ecrã, quando usas um endl tens a certeza que o conteúdo aparece no ecrã nesse momento, se estiveres a utilizar um ofstream sabes que o conteúdo foi escrito no disco. Obviamente, além de ter sido escrito um caracter de mudança de linha 😄

Quando utilizas um '\n' isso pode não acontecer devido aos efeitos de buffer dos streams. Tudo o que sabes é que naquele momento foi inserido um caracter de mudança de linha.

Desaparecido.

Posted

Não é exactamente o mesmo. O endl força o flush do stream, ou seja, se estiveres a utilizar o cout para escrever no ecrã, quando usas um endl tens a certeza que o conteúdo aparece no ecrã nesse momento, se estiveres a utilizar um ofstream sabes que o conteúdo foi escrito no disco. Obviamente, além de ter sido escrito um caracter de mudança de linha 😄

Quando utilizas um '\n' isso pode não acontecer devido aos efeitos de buffer dos streams. Tudo o que sabes é que naquele momento foi inserido um caracter de mudança de linha.

Haa, então vou continuar com o meu costume de meter sempre endl no final de cada linha. Pelo que percebi é mais "eficaz" do que o /n. 

Posted

Não é ser mais eficaz, pode até trazer problemas de eficiência, uma vez que escrever para o ecrã/disco/etc é mais demorado que escrever para a memória. É esse o objectivo do uso de buffers em vez da escrita directa no destino.

Desaparecido.

  • 8 months later...
  • 8 months later...
Posted

não custa fazer o programa,e em parte até é fixe, porque testo os meus conhecimentos...mas eu refilo...porque quero que o ppl se esforce e tente fazer algo...para aprenderem!!

Existe um proverbio tipo "ensina o a pescar e nao lhe des o peixe " ...  😉

Mas tutorials a ensinar a pescar há suficientes. Até a explicar o que é um peixe.  😄

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. 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.