Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- typedef struct Osoba
- {
- char imie[100];
- char nazwisko[100];
- int wiek;
- struct Osoba* next;
- } Osoba ;
- int dlugosc_listy(Osoba* lista) // zlicza dlugosc listy
- {
- int d = 0;
- Osoba* wsk = lista;
- while(wsk != NULL)
- {
- d++;
- wsk = wsk->next;
- }
- return d;
- }
- void dodaj(Osoba** lista, Osoba* nowa) // dodaje nowy wezel do listy
- {
- nowa->next=NULL;
- if((*lista)==NULL)
- {
- *lista = nowa;
- }
- else
- {
- Osoba* wsk = *lista;
- while(wsk->next != NULL)
- {
- wsk = wsk->next;
- }
- wsk->next = nowa;
- }
- }
- void dodajOsobe(Osoba** lista) // dodaje osobe do listy
- {
- Osoba* nowa = (Osoba*)malloc(sizeof(Osoba)); //malloc przydziela pamiec operacyjna dla elementu listy
- printf("Podaj imie: ");
- scanf("%s", nowa->imie);
- printf("Podaj nazwisko: ");
- scanf("%s", nowa->nazwisko);
- printf("Podaj wiek: " );
- scanf("%d", &(nowa->wiek));
- dodaj(lista, nowa);
- }
- void wypisz_liste(Osoba* lista) //Wypisuje cala liste
- {
- Osoba* wsk = lista;
- if(lista == NULL)
- printf("PUSTA LISTA");
- else
- printf("Lista posiada %d elementow: \n", dlugosc_listy(lista) );
- int i = 1;
- while( wsk != NULL)
- {
- printf("%d %s %s %d \n", i, wsk->imie, wsk->nazwisko, wsk->wiek);
- wsk=wsk->next;
- i++;
- }
- }
- int main()
- {
- Osoba* lista = NULL;
- int opcja;
- while(opcja != 0)
- {
- printf("\n\n MENU PROGRAMU");
- printf("\n 1 Wpisz dane osoby do bazy");
- printf("\n 2 Wyswietl cala liste");
- printf("\n 0 Wyjscie z programu\n");
- scanf("%d", &opcja);
- switch(opcja)
- {
- case 1:
- printf("DODAWANIE OSOBY\n");
- dodajOsobe(&lista);
- break;
- case 2:
- printf("WYSWIETL WSZYSTKIE OSOBY\n");
- wypisz_liste(lista);
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement