Aula 6
Resolução dos exercícios
#include <iostream>
using namespace std;
enum Meses{
Jan = 1, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez
};
float f(float a){
if (a<0)
return 0;
else if (a<=1)
return a;
else
return 1;
}
void escrevePorExtenso(int i){
switch (i) {
case 0 : cout << "zero ";
break;
case 1 : cout << "um ";
break;
case 2 : cout << "dois ";
break;
case 3 : cout << "tres ";
break;
case 4 : cout << "quatro ";
break;
case 5 : cout << "cinco ";
break;
case 6 : cout << "seis ";
break;
case 7 : cout << "sete ";
break;
case 8 : cout << "oito ";
break;
case 9 : cout << "nove ";
break;
default : cout << "argumento inválido ";
break;
}
}
bool bissexto(int ano){
if ((ano % 400) == 0)
return true;
if ( (ano % 4 == 0) && (ano % 100 != 0))
return true;
return false;
}
int diasDoMes(int mes, int ano){
Meses m;
m = Meses(mes);
switch (m){
case Nov :
case Abr :
case Jun :
case Set : return 30;
break;
case Fev : if (bissexto(ano))
return 29;
else
return 28;
break;
default : return 31;
}
}
int main (){
int i1, i2 ;
float f1;
cout << "Introduza um float " << endl;
cin >> f1;
cout << f(f1) << endl;
cout << "Introduza um inteiro entre 0 e 99" << endl;
cin >> i1;
if ((i1>0) && (i1<99)) {
escrevePorExtenso(i1/10);
cout << " dezenas e ";
escrevePorExtenso(i1%10);
cout << " unidades" << endl;
}
else
cout << " Valor inválido"<< endl;
cout << "Introduza uma data (mes e ano)" << endl;
cin >> i1 >> i2;
cout << "O mes em questao tem " << diasDoMes(i1,i2) << " dias"<< endl;
return EXIT_SUCCESS;
}