Avatar
Anton Antonis:

Dobrý den,
mám takový malý problém s jedním programem, mohl by mi někdo pomoct?

Zadání:

Vytvořte nový datový typ struktura reprezentující datum s položkami – den, měsíc rok. Pro tuto strukturu vytvořte přetížené operátory pro:

  • Porovnání (větší než i menší než) dvou dat.
  • Inkrementace (zvětšení o jeden den) data
    • postinkrementace i preinkrementace
  • Dekrementace data
  • Rozdíl dvou dat

Děkuji za jakoukoliv pomoc.

 
Odpovědět 16. ledna 17:06
Avatar
Anton Antonis:
#include <string.h>
#include <iostream.h>

typedef struct
{
int den, mesic, rok;
}DATUM;

DATUM operator++(DATUM &x, int) {
        int dny[]={31,28,31,30,31,30,31,31,30,31,30,31};
        if(x.den<dny[x.mesic-1]){
         x.den++;
        }
        if(x.mesic<12){
         x.mesic++;
        }
        else if(x.mesic==12){
     x.mesic=1;
        }
        else break;
        x.rok++;
        return x;
}



int main()
{
DATUM a,b,c;

a.den = 21;             a.den = 27;
a.mesic = 4;    a.mesic = 5;
a.rok = 2001;   a.rok = 2100;

c= a++;

cin.get();
cin.get();
}

Zkusil jsem to takhle, ale nevím proč to nefunguje

 
Nahoru Odpovědět 16. ledna 17:22
Avatar
tomisoka
Redaktor
Avatar
Odpovídá na Anton Antonis
tomisoka:

Ten program je plný chyb, dokonce i v importování knihovny je chyba. Promiň, ale vážně nehodlám dělat úkol za někoho kdo ani nezvládne najít takovou základní chybu.
Tak alespoň pár vypíchnutí:
breakovat funkci?
funkci musíš zapsat do struktury/třídy
té struktuře dej název a pokud to zadání dovoluje smaž to typedef, v C++ už se toto nepoužívá

 
Nahoru Odpovědět  +1 16. ledna 18:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.