#define _CRT_SECURE_NO_WARNINGS #include #include #include #include struct Student { char* imie; char* nazwisko; int wiek; int Indeks; }student; struct Tablica { int aktualny; struct Student studenci[20]; }tablica; void DodajStudenta(char* i, char* n, int w, int ind) { if (tablica.aktualny < 20) { tablica.studenci[tablica.aktualny].imie = malloc(strlen(i) + 1); strcpy(tablica.studenci[tablica.aktualny].imie, i); tablica.studenci[tablica.aktualny].nazwisko = malloc(strlen(n) + 1); strcpy(tablica.studenci[tablica.aktualny].nazwisko, n); tablica.studenci[tablica.aktualny].wiek = w; tablica.studenci[tablica.aktualny].Indeks = ind; tablica.aktualny++; } else printf("nie ma miejsca"); } void WypiszDane() { if (tablica.aktualny == 0) printf("Brak studentow w tablicy"); else for (int i = 0; i < tablica.aktualny; i++) printf("\nLista studentow: %s, %s, %i, %i", tablica.studenci[i].imie, tablica.studenci[i].nazwisko, tablica.studenci[i].wiek, tablica.studenci[i].Indeks); } int Usun(char* nr) { int i = 0; for (i = 0; i < tablica.aktualny; i++) { if (strcmp(nr, tablica.studenci[i]) == 0) { free(tablica.studenci[i].imie); free(tablica.studenci[i].nazwisko); for (; i < tablica.aktualny; i++) { tablica.studenci[i] = tablica.studenci[i + 1]; } tablica.aktualny--; return tablica.studenci[i].imie; } } return -1; } void main() { tablica.aktualny = 0; char wybor = 'x'; char pom[2]; char im[50]; char naz[50]; int wiek, ind; while (pom != 'q') { printf("\n"); printf("Wybierz co chcesz zrobic: \n"); printf("d - Dodawanie studenta\n"); printf("w - Wypisz studentow\n"); printf("u - Usun studenta\n"); scanf("%s", &pom); wybor = *pom; switch (wybor) { case 'd': { printf("Podaj imie\n"); scanf("%s", &im); printf("Podaj nazwisko\n"); scanf("%s", &naz); printf("Podaj wiek\n"); scanf("%i", &wiek); printf("Podaj numer Indeksu\n"); scanf("%i", &ind); printf("\n"); DodajStudenta(im, naz, wiek, ind); printf("\n"); break; } case 'w': { printf("\n"); WypiszDane(); break; } { case 'u': { printf("Podaj nazwisko ktorego studenta chcesz usunac\n"); \ scanf("%s", &naz); Usun(naz); break; } } } } }