Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <string.h>
- enum kolor { CZARNY, BIALY, CZERWONY, ZIELONY, NIEBIESKI, ROZOWY,
- SREBRNY, SZARY, FIOLETOWY, ZOLTY, POMARANCZOWY
- };
- void wypiszKolor(int x)
- {
- switch(x)
- {
- case CZARNY:
- printf("czarny\n");
- break;
- case BIALY:
- printf("bialy\n");
- break;
- case CZERWONY:
- printf("czerwony\n");
- break;
- case NIEBIESKI:
- printf("niebieski\n");
- break;
- case ZIELONY:
- printf("zielony\n");
- break;
- case ROZOWY:
- printf("rozowy\n");
- break;
- case SREBRNY:
- printf("srebrny\n");
- break;
- case SZARY:
- printf("szary\n");
- break;
- case FIOLETOWY:
- printf("fioletowy\n");
- break;
- case ZOLTY:
- printf("zolty\n");
- break;
- case POMARANCZOWY:
- printf("pomaranczowy\n");
- break;
- }
- }
- enum naped { BENZYNA, DIESEL, HYBRYDA, ELEKTRYCZNY };
- void wypiszNaped(int x)
- {
- switch(x)
- {
- case BENZYNA:
- printf("benzyna\n");
- break;
- case DIESEL:
- printf("diesel\n");
- break;
- case HYBRYDA:
- printf("hybryda\n");
- break;
- case ELEKTRYCZNY:
- printf("elektryczny\n");
- break;
- }
- }
- struct osobowy
- {
- char *marka;
- enum kolor kolorOsobowy;
- int liczbaDrzwi;
- enum naped napedOsobowy;
- int cena;
- struct tm terminy[10];
- };
- void wypiszOsobowy(struct osobowy *x)
- {
- printf("Marka: %s\n", x->marka);
- printf("Naped: ");
- wypiszNaped(x->napedOsobowy);
- printf("Liczba drzwi: %d\n", x->liczbaDrzwi);
- printf("Kolor: ");
- wypiszKolor(x->kolorOsobowy);
- printf("Cena: %d\n", x->cena);
- printf("Terminy przegladow:\n");
- int i;
- for (i = 0; i< 10; i++)
- {
- printf("%d.%d.%d\n", x->terminy[i].tm_mday, x->terminy[i].tm_mon, x->terminy[i].tm_year);
- }
- }
- struct ciezarowy
- {
- char *marka;
- int ladownosc;
- int liczbaOsi;
- int dlugosc;
- int cena;
- struct tm terminy[10];
- };
- void wypiszCiezarowy(struct ciezarowy *x)
- {
- printf("Marka: %s\n", x->marka);
- printf("Dlugosc: %dm\n", x->dlugosc);
- printf("Ladownosc: %dt\n", x->ladownosc);
- printf("Liczba osi: %d\n", x->liczbaOsi);
- printf("Cena: %d\n", x->cena);
- int i;
- for (i = 0; i< 10; i++)
- {
- printf("%d.%d.%d\n", x->terminy[i].tm_mday, x->terminy[i].tm_mon, x->terminy[i].tm_year);
- }
- }
- struct autobus
- {
- char *marka;
- int liczbaMiejscSiedzacych;
- int dlugosc;
- int cena;
- struct tm terminy[10];
- };
- void wypiszAutobus(struct autobus *x)
- {
- printf("Marka: %s\n", x->marka);
- printf("Dlugosc: %dm\n", x->dlugosc);
- printf("Liczba miejsc siedzacych: %d\n", x->liczbaMiejscSiedzacych);
- printf("Cena: %d\n", x->cena);
- int i;
- for (i = 0; i< 10; i++)
- {
- printf("%d.%d.%d\n", x->terminy[i].tm_mday, x->terminy[i].tm_mon, x->terminy[i].tm_year);
- }
- }
- union Pojazd
- {
- struct osobowy osobowy;
- struct ciezarowy ciezarowy;
- struct autobus autobus;
- };
- int main(void)
- {
- int i;
- struct osobowy LamborghiniGallardo;
- LamborghiniGallardo.marka = "Lamborghini";
- LamborghiniGallardo.napedOsobowy = BENZYNA;
- LamborghiniGallardo.liczbaDrzwi = 3;
- LamborghiniGallardo.kolorOsobowy = BIALY;
- LamborghiniGallardo.cena = 950000;
- for (i = 0; i< 10; i++)
- {
- LamborghiniGallardo.terminy[i].tm_year = 2014 + i;
- LamborghiniGallardo.terminy[i].tm_mon = 6;
- LamborghiniGallardo.terminy[i].tm_mday = 20;
- }
- struct ciezarowy MAN;
- MAN.cena = 800000;
- MAN.dlugosc = 15;
- MAN.ladownosc = 20;
- MAN.liczbaOsi = 9;
- MAN.marka = "MAN";
- for (i = 0; i< 10; i++)
- {
- MAN.terminy[i].tm_year = 2013 + 2 * i;
- MAN.terminy[i].tm_mon = 4;
- MAN.terminy[i].tm_mday = 27;
- }
- struct autobus Solaris;
- Solaris.marka = "Solaris";
- Solaris.cena = 600000;
- Solaris.dlugosc = 20;
- Solaris.liczbaMiejscSiedzacych = 90;
- for (i = 0; i< 10; i++)
- {
- Solaris.terminy[i].tm_year = 2011 + i;
- Solaris.terminy[i].tm_mon = 1;
- Solaris.terminy[i].tm_mday = 17;
- }
- struct ciezarowy scania[2];
- int j;
- for(j = 0; j < 2; j++)
- {
- scania[j].cena = 800000 + j * 100000;
- scania[j].dlugosc = 15 - 2 * j;
- scania[j].ladownosc = 20 + 3 * j;
- scania[j].liczbaOsi = 9;
- scania[j].marka = "Scania";
- for (i = 0; i< 10; i++)
- {
- scania[j].terminy[i].tm_year = 2009 + 2 * i + j;
- scania[j].terminy[i].tm_mon = 11 - j;
- scania[j].terminy[i].tm_mday = 22 + j;
- }
- }
- wypiszOsobowy(&LamborghiniGallardo);
- printf("\n");
- wypiszCiezarowy(&MAN);
- printf("\n");
- wypiszAutobus(&Solaris);
- printf("\n");
- for (i = 0; i < 2; i++)
- {
- wypiszCiezarowy(&scania[i]);
- printf("\n");
- }
- union Pojazd pojazd;
- char *typ;
- int number;
- do
- {
- printf("Wprowadz numer typu (osobowy=1, ciezarowy=2, autobus=3):\n");
- scanf("%d", &number);
- }
- while(!(number == 1 || number == 2 || number == 3));
- switch(number)
- {
- case 1:
- printf("Wprowadz marke: ");
- scanf("%s", &pojazd.osobowy.marka);
- printf("Wprowadz naped (benzyna=0, diesel=1, hybryda=2, elektryczny=3): ");
- scanf("%d", &pojazd.osobowy.napedOsobowy);
- printf("Wprowadz liczbe drzwi: ");
- scanf("%d", &pojazd.osobowy.liczbaDrzwi);
- printf("Wprowadz kolor (CZARNY=0, BIALY=1, CZERWONY=2, ZIELONY=3, NIEBIESKI=4, ROZOWY=5,SREBRNY=6, SZARY=7, FIOLETOWY=8, ZOLTY=9, POMARANCZOWY=10): ");
- scanf("%d", &pojazd.osobowy.kolorOsobowy);
- printf("Wprowadz cene: ");
- scanf("%d", &pojazd.osobowy.cena);
- break;
- case 2:
- printf("Wprowadz marke: ");
- scanf("%s", &pojazd.ciezarowy.marka);
- printf("Wprowadz liczbe osi: ): ");
- scanf("%d", &pojazd.ciezarowy.liczbaOsi);
- printf("Wprowadz dlugosc: ");
- scanf("%d", &pojazd.ciezarowy.dlugosc);
- printf("Wprowadz ladownosc: ");
- scanf("%d", &pojazd.ciezarowy.ladownosc);
- printf("Wprowadz cene: ");
- scanf("%d", &pojazd.ciezarowy.cena);
- break;
- case 3:
- printf("Wprowadz marke: ");
- scanf("%s", &pojazd.autobus.marka);
- printf("Wprowadz liczbe miejsc siedzacych: ");
- scanf("%d", &pojazd.autobus.liczbaMiejscSiedzacych);
- printf("Wprowadz dlugosc: ");
- scanf("%d", &pojazd.autobus.dlugosc);
- printf("Wprowadz cene: ");
- scanf("%d", &pojazd.autobus.cena);
- break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement