Jump to content

Recommended Posts

Posted

boas noites. pessoal tou me a atrofiar tdo com isto. alguem me pode dizer o k tenho mal aki e o k tenho de alterar???

#include <iostream.h>

void main()

{

int nota;

cout<<"0 - 4 Mau\n";

cout<<"5 - 9 Mediocre\n";

cout<<"10 - 13 Suficiente\n";

cout<<"14 - 17 Bom\n";

cout<<"18 - 20 Muito Bom\n";

cout<<"Introduza a nota\n";

cin>> nota;

switch (nota)

{

case 'nota': (nota >=0 && <=4); cout<<"Mau\n" <<endl;break;

case 'nota': (nota >=5 && <=9); cout<<"Mediocre\n" <<endl;break;

case 'nota': (nota >=10 && <=13); cout<<"Suficiente\n" <<endl;break;

case 'nota': (nota >=14 && <=17); cout<<"Bom\n" <<endl;break;

case 'nota': (nota >=18 && <=20); cout<<"Muito Bom\n" <<endl;break;

default : cout<<"ERRO!!!\n";

}

}

agradeço as respostas obrigado

Posted

Tens um erro redondo no case!... não podes fazer case 'nota' mas sim, em vez de 'nota', por o valor que o case tem de ter para ser executado o código posterior.

E falta-te o using namespace std;

🙂

Posted

Tens um erro redondo no case!... não podes fazer case 'nota' mas sim, em vez de 'nota', por o valor que o case tem de ter para ser executado o código posterior.

E falta-te o using namespace std;

🙂

Deve começar por:

#include <iostream>

using namespace std;

E o 'case' só aceita constantes!

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/statem_10.asp

Por isso conselho-te a usar o if...elseif...

Outra coisa, ' cout<<endl ' é o mesmo que ' cout<<"\n" '.

Posted

#include <iostream.h>

void main()

{

int x, nota;

cout<<"0 - 4 Mau\n";

cout<<"5 - 9 Mediocre\n";

cout<<"10 - 13 Suficiente\n";

cout<<"14 - 17 Bom\n";

cout<<"18 - 20 Muito Bom\n";

cout<<"Introduza a nota\n";

cin>> nota;

x=nota/4;

switch (x)

{

case 0: (nota >=0 && nota <=4); cout<<"Mau\n" <<endl;break;

case 1: (nota >=5 && nota <=9); cout<<"Mediocre\n" <<endl;break;

case 2: (nota >=10 && nota <=13); cout<<"Suficiente\n" <<endl;break;

case 3: (nota >=14 && nota <=17); cout<<"Bom\n" <<endl;break;

case 4: (nota >=18 && nota <=20); cout<<"Muito Bom\n" <<endl;break;

default : cout<<"ERRO!!!\n";

}

}

este é o meu programa mas ta a dar uma coisa mal.eu meto 4 e ele ja me da mediocre, em x de me dar mau

Posted

bem pra comecar nao podes fazer iostream.h!!  :dontgetit: fiz a minha versao...

#include <iostream>
using namespace std;
int main()
{
   int x, nota;

   cout<<"0 se 0 - 4 \n";
   cout<<"1 se 5 - 9 \n";
   cout<<"2 se 10 - 13\n";
   cout<<"3 se 14 - 17\n";
   cout<<"4 se 18 - 20\n";

   cout<<"Introduza a nota\n";
   cin>> nota;

  
   switch (nota)
   {
   case 0: { cout<<"Mau\n" <<endl;break;}
   case 1: { cout<<"Mediocre\n" <<endl;break;}
   case 2: { cout<<"Suficiente\n" <<endl;break;}
   case 3: { cout<<"Bom\n" <<endl;break;}
   case 4: { cout<<"Muito Bom\n" <<endl;break;}
   default : cout<<"ERRO!!!\n";
   }
int sair; cin>>sair;   
return 0;
}

e nao entendi o pq de

(nota >=0 && nota <=4); 

nao vai servir para nada...  🙂

Posted

tofas... não percebi para que era a variavel x.... além disso o objectivo do rapaz era introduzir uma nota de 1 a 20 e ser retornado a apreciação correspondente à escala em que se encontra... 😕

EDIT: eu faria assim:

#include <iostream>
using namespace std;
int main () {
   int nota,sair;

   cout<<"0 se 0 - 4 \n";
   cout<<"1 se 5 - 9 \n";
   cout<<"2 se 10 - 13\n";
   cout<<"3 se 14 - 17\n";
   cout<<"4 se 18 - 20\n";

   cout<<"Introduza a nota\n";
   cin>> nota;
   
if (nota > 20) cout<<"INSERE-ME UMA NOTA SUA BESTA!"; 
else if (nota >= 18) cout <<"Muito bom\n\n";
   else if (nota >=14) cout << "Bom\n\n";
     else if (nota >=10) cout << "Suficiente\n\n";
       else if (nota >= 5) cout << "Mediocre\n\n";
         else if (nota >= 0) cout << "Mau\n\n";


cin>>sair;   
return 0;
}
Posted

tofas... não percebi para que era a variavel x.... além disso o objectivo do rapaz era introduzir uma nota de 1 a 20 e ser retornado a apreciação correspondente à escala em que se encontra... 😕

essa variavel nao estava mto correcta... acho que melhorando 1 pouco o bla bla ...fica c o programa que prentende...

Posted

#include <iostream.h>

void main()

{

int x, nota;

cout<<"0 - 4 Mau\n";

cout<<"5 - 9 Mediocre\n";

cout<<"10 - 13 Suficiente\n";

cout<<"14 - 17 Bom\n";

cout<<"18 - 20 Muito Bom\n";

cout<<"Introduza a nota\n";

cin>> nota;

x=nota/4;

switch (x)

{

case 0: (nota >=0 && nota <=4); cout<<"Mau\n" <<endl;break;

case 1: (nota >=5 && nota <=9); cout<<"Mediocre\n" <<endl;break;

case 2: (nota >=10 && nota <=13); cout<<"Suficiente\n" <<endl;break;

case 3: (nota >=14 && nota <=17); cout<<"Bom\n" <<endl;break;

case 4: (nota >=18 && nota <=20); cout<<"Muito Bom\n" <<endl;break;

default : cout<<"ERRO!!!\n";

}

}

este é o meu programa mas ta a dar uma coisa mal.eu meto 4 e ele ja me da mediocre, em x de me dar mau

(nota >=18 && nota <=20); <- só assim não faz nada de útil!!

x=nota/4; <- até poderia funcionar se os intervalos fossem constantes (de 4 em 4)

este é o meu programa mas ta a dar uma coisa mal.eu meto 4 e ele ja me da mediocre, em x de me dar mau

Simples, tu ao colocares 4, na linha:

x=nota/4; <- faz a divisão inteira 4/4=1 por isso vai para o case 1!!

Posted

vdmaster acho que  o que fizeste é andar para tras!! o case é o melhor para estes casos!!  😕 nao te aconselho isso[quote

caso apresentem um código com case e que funcione totalmente, eu reconheço essa afirmação..... 😉 (subentende-se que ainda não o vi... )

Posted

Para quem teima em querer utilizar o case, fica aqui um exemplo (por enquanto não vejo outro):

#include <iostream>
#include <math.h>

using namespace std;

int main()
{
   int nota, categoria,
   aux1, aux2;

   cout<<"0 - 4 Mau\n";
   cout<<"5 - 9 Mediocre\n";
   cout<<"10 - 13 Suficiente\n";
   cout<<"14 - 17 Bom\n";
   cout<<"18 - 20 Muito Bom\n";

   cout<<"Introduza a nota\n";
   cin>>nota;

   aux1=nota/10;
   aux2=pow(aux1,2)+aux1;

   categoria = (nota>=0) ? (nota - aux2)/(5-aux1) : -1;
  
   switch (categoria)
   {
   case 0:
   cout<<"Mau\n" <<endl;
   break;
   case 1:
   cout<<"Mediocre\n" <<endl;
   break;
   case 2:
   cout<<"Suficiente\n"<<endl;
   break;
   case 3:
   cout<<"Bom\n" <<endl;
   break;
   case 4:
   cout<<"Muito Bom\n"<<endl;
   break;
   default :
   cout<<"ERRO!!!\n";
   }
   
   return 0;
}

...

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.