Witam,
mam napisać takie zadanie:
Stwórz strukturę reprezentującą datę o nazwie „Data”. Niech zawiera pola: rok,
miesiąc i dzień. Stwórz nowy typ danych na podstawie struktury „Data”. Zaimplementuj funkcje:
– wczytywania daty z klawiatury
– wypisywania daty na ekran
– inicjalizacji zmiennej typu data na 1970-01-01
Napisałem coś takiego:
include <stdio.h>
include <stdlib.h>
include <string.h>
typedef struct
{
int rok;
int miesiac;
int dzien;
} Data;
void WczytajData(Data e)
{
scanf("%d", (&e.rok));
scanf("%d", (&e.miesiac));
scanf("%d",(&e.dzien));
}
void WypiszData(Data f)
{
printf(" Rok to: %d", f.rok);
printf(" Miesiac to: %d", f.miesiac);
printf(" Dzien to: %d",f.dzien);
}
void InicjalizujData(Data h)
{
h.rok=1970;
h.miesiac=1;
h.dzien=1;
}
int main(int argc, char *argv[]) {
Data g;
InicjalizujData(g);
WypiszData(g);
return 0;
}
Wyrzuca mi totalne bzdury, zupełnie inne liczby niż te które są wpisane (1.1.1979). Domyślam się że na pewno powinien być inny typ niż int, ale póki co nie myślę o tym jako o dacie, a o zwykłych cyfrach wczytywanych z klawiatury, i nie rozumiem, czemu program nie działa i skąd bierze takie wartości.
Pozdrawiam,