ren811

ex02

Apr 3rd, 2013
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <cctype>
  4.  
  5. using namespace std;
  6.  
  7. class Mes {
  8.     private:
  9.  
  10.     char nome[20];
  11.     int dias;
  12.     int n_mes;
  13.  
  14.  
  15.     public:
  16.     Mes(){
  17.         dias = 0;
  18.         n_mes = 0;
  19.     };
  20.  
  21.     Mes(int d, int m){
  22.         dias = d;
  23.         n_mes = m;
  24.     };
  25.  
  26.     void getDados(){
  27.         char meses[13][20] = { "Undefined", "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" };
  28.         cout << "Digite o codigo (numero) do mes: ";
  29.         cin >> n_mes;
  30.         strcpy(meses[n_mes], nome);
  31.     };
  32.  
  33.     void printInfo(){
  34.         char meses[13][20] = { "Undefined", "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" };
  35.         char siglas[13][4] = { "UND", "JAN", "FEV", "MAR", "ABR", "MAI", "JUN", "JUL", "AGO", "SET", "OUT", "NOV", "DEZ" };
  36.         int _dias[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
  37.         cout << "Mes: " << meses[n_mes] << endl;
  38.         cout << "Sigla: " << siglas[n_mes] << endl;
  39.         cout << "N de dias: " << _dias[n_mes] << endl;
  40.     };
  41.  
  42.     void daysUntil(int d){
  43.         int _dias[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
  44.         char meses[13][20] = { "Undefined", "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" };
  45.         int diasAte = 0;
  46.         int i;
  47.         if (d >= 32){ cout << "ERRO, DIA NAO EXISTE.\n"; }
  48.         else if (d <= 31){
  49.             for (i = 1; i < n_mes; i++){
  50.                 diasAte += _dias[i];
  51.             }
  52.             diasAte += d - 1;
  53.             cout << "A contar de 1 de Janeiro, faltam " << diasAte << " ate o dia " << d << " de " << meses[n_mes] << endl;
  54.         }
  55.     };
  56.     void recebeNome(const char* input){
  57.         char meses[13][20] = { "undefined", "janeiro", "fevereiro", "marco", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" };
  58.         int i;
  59.         int encontrou = 0;
  60.         for (i = 0; i < 13; i++){
  61.             if (strcmp(input, meses[i]) == 0){
  62.                 n_mes = i;
  63.                 encontrou = 1;
  64.                 break;
  65.             }
  66.         }
  67.         if (encontrou == 0){
  68.             cout << "Mes nao encontrado ou com nome incorreto.\n" << endl;
  69.         }
  70.     }
  71. };
  72.  
  73. int main(){
  74.     Mes m1(31, 1);
  75.     Mes m2;
  76.     Mes m3;
  77.  
  78.     m3.recebeNome("marco");
  79.     m3.printInfo();
  80.  
  81.     m2.getDados();
  82.     m2.printInfo();
  83.  
  84.     m1.printInfo();
  85.     m1.daysUntil(25);
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment