Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Napisać program, który pozwoli
- - zapamiętać w postaci tablicy struktur dane o 10 posiadaczach kont w banku.
- Struktura powinna zawierać pola
- - imię, nazwisko, rok urodzenia, numer konta, nazwa banku, kwota.
- Program powinien zawierać funkcję do
- - wyświetlania struktur (struktura przekazana przez wskaźnik),
- - znajdowania posiadacza konta o największej i najmniejszej kwocie na koncie (struktura przekazana przez wskaźnik, funkcja zwraca wskaźnik na strukture)
- - funkcję sumującą kwoty wszystkich użytkowników.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #define LN 50
- #define ROZMIAR 10
- struct rekord {
- char imie[LN];
- char nazwisko[LN];
- int rok_urodzenia;
- char numer_konta[LN];
- char nazwa_banku[LN];
- float srodki;
- };
- void wyswietl(struct rekord *wsk)
- {
- for (int n = 0; n < ROZMIAR; n++)
- {
- printf("Imie: %s\nNaziwsko: %s\nRok urodzenia: %d\nNumer konta: %s\nNazwa banku: %s\nSrodki: %.2f\n\n", (wsk + n)->imie, (wsk + n)->nazwisko, (wsk + n)->rok_urodzenia, (wsk + n)->numer_konta, (wsk + n)->nazwa_banku, (wsk + n)->srodki);
- }
- }
- struct rekord* najmniejsza_wartosc(struct rekord* wsk)
- {
- struct rekord *najmniejsza;
- najmniejsza = wsk;
- for (int i = 1; i < ROZMIAR; i++)
- {
- if (najmniejsza->srodki > (wsk + i)->srodki)
- najmniejsza = wsk + i;
- }
- return(najmniejsza);
- }
- struct rekord* najwieksza_wartosc(struct rekord* wsk)
- {
- struct rekord *najwieksza;
- najwieksza = wsk;
- for (int i = 1; i < ROZMIAR; i++)
- {
- if (najwieksza->srodki < (wsk + i)->srodki)
- najwieksza = wsk + i;
- }
- return(najwieksza);
- }
- void sumuj_srodki(struct rekord* wsk)
- {
- float suma = 0;
- for (int m = 0; m < ROZMIAR; m++)
- {
- suma += (wsk + m)->srodki;
- }
- printf("Suma srodkow wszystkich uzytkownikow to: %.2f\n\n", suma);
- }
- int main(void)
- {
- struct rekord* wsk;
- struct rekord* wsk2;
- int operacja;
- char wybor;
- int i = 0;
- struct rekord osoba[ROZMIAR] =
- {
- "Piotr", "Klimczak", 1997, "123456789", "Bank Millenium", 9000,
- "Ilona", "Badowska", 1998, "987654321", "Eurobank", 10000,
- "Michal", "Rybak", 1997, "456789123", "Getin Bank", 7000,
- "Robert", "Krolikowski", 1997, "789123456", "PKO Bank", 5000,
- "Szymon", "Kokot", 1990, "741258963", "mBank", 2000,
- "Rafal", "Izykowski", 1994, "159753126", "Alior Bank", 4500,
- "Piotr", "Szewczyk", 1972, "128745963", "BGZ BNP Paribas", 4550,
- "Jan", "Kowalski", 1985, "789145236", "ING Bank", 2654,
- "Konrad", "Lukaszewski", 1940, "123589647", "Raiffeisen Polbank", 50,
- "Wojciech", "Kluba", 1954, "452369781", "BZ WBK", 4246,
- };
- for (;;)
- {
- printf("STRUKTURY\n\n");
- printf("Wybierz, co chcesz zrobic:\n1 - wyswietl wszystkie osoby\n2 - wyswietl najmniej srodkow\n3 - wyswietl najwiecej srodkow\n4 - wyswietl sume wszystkich srodkow\n\nWpisz opcje: ");
- scanf_s("%d", &operacja);
- rewind(stdin);
- switch (operacja)
- {
- case 1:
- wyswietl(&osoba);
- break;
- case 2:
- wsk = najmniejsza_wartosc(osoba);
- printf("Najmniejsza wartosc na koncie to: %.2f\n\n", (wsk->srodki));
- break;
- case 3:
- wsk2 = najwieksza_wartosc(osoba);
- printf("Najwieksza wartosc na koncie to: %.2f\n\n", (wsk2->srodki));
- break;
- case 4:
- sumuj_srodki(osoba);
- break;
- default:
- rewind(stdin);
- printf("Nie ma takiej opcji!\n\n");
- break;
- }
- printf("Czy chcesz kontynuowac? t -> tak / inny znak -> nie: ");
- scanf_s(" %c", &wybor);
- printf("\n");
- if (wybor == 't')
- {
- continue;
- rewind(stdin);
- }
- else
- {
- break;
- }
- }
- return 0;
- }
- /*wyswietl(osoba);
- wsk = najmniejsza_wartosc(osoba); // do wskaznika przypisujemy adres 1 osoby w tabeli
- wsk2 = najwieksza_wartosc(osoba);
- printf("Najmniejsza wartosc na koncie to: %.2f\n\n", (wsk->srodki));
- printf("Najwieksza wartosc na koncie to: %.2f\n\n", (wsk2->srodki));
- sumuj_srodki(osoba);*/
- //dorobic menu, funckje zwracaja itp
- //dodac malloc, skasowac co wczesniej statycznie bylo i pyknie
- // zwrocic to pojedynczo do pokazywania min max
- // dorobic menu
- // ZALICZENIE: sortowanie tablicy struktur, wartosci
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement