Facebook
From kubson, 3 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 68
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include<malloc.h>
  5. #include <conio.h>
  6.  
  7. struct Student {
  8.         char* imie;
  9.         char* nazwisko;
  10.         int wiek;
  11.         int Indeks;
  12. }student;
  13.  
  14. struct Tablica {
  15.         int aktualny;
  16.         struct Student studenci[20];
  17. }tablica;
  18.  
  19. void DodajStudenta(char* i, char* n, int w, int ind)
  20. {
  21.         if (tablica.aktualny < 20)
  22.         {
  23.                 tablica.studenci[tablica.aktualny].imie = malloc(strlen(i) + 1);
  24.                 strcpy(tablica.studenci[tablica.aktualny].imie, i);
  25.                 tablica.studenci[tablica.aktualny].nazwisko = malloc(strlen(n) + 1);
  26.                 strcpy(tablica.studenci[tablica.aktualny].nazwisko, n);
  27.                 tablica.studenci[tablica.aktualny].wiek = w;
  28.                 tablica.studenci[tablica.aktualny].Indeks = ind;
  29.                 tablica.aktualny++;
  30.         }
  31.         else printf("nie ma miejsca");
  32.  
  33. }
  34. void WypiszDane()
  35. {
  36.         if (tablica.aktualny == 0)
  37.                 printf("Brak studentow w tablicy");
  38.         else
  39.                 for (int i = 0; i < tablica.aktualny; i++)
  40.         printf("\nLista studentow: %s, %s, %i, %i", tablica.studenci[i].imie, tablica.studenci[i].nazwisko, tablica.studenci[i].wiek, tablica.studenci[i].Indeks);
  41. }
  42. int Usun(char* nr)
  43. {
  44.         int i = 0;
  45.         for (i = 0; i < tablica.aktualny; i++)
  46.         {
  47.                 if (strcmp(nr, tablica.studenci[i]) == 0)
  48.                 {
  49.                         free(tablica.studenci[i].imie);
  50.                         free(tablica.studenci[i].nazwisko);
  51.  
  52.                         for (; i < tablica.aktualny; i++)
  53.                         {
  54.                                 tablica.studenci[i] = tablica.studenci[i + 1];
  55.                         }
  56.                         tablica.aktualny--;
  57.                         return tablica.studenci[i].imie;
  58.                 }
  59.         }
  60.         return -1;
  61. }
  62.  
  63. void main()
  64. {
  65.         tablica.aktualny = 0;
  66.         char wybor = 'x';
  67.         char pom[2];
  68.         char im[50];
  69.         char naz[50];
  70.         int wiek, ind;
  71.        
  72.        
  73.         while (pom != 'q')
  74.         {
  75.                 printf("\n");
  76.                 printf("Wybierz co chcesz zrobic: \n");
  77.                 printf("d - Dodawanie studenta\n");
  78.                 printf("w - Wypisz studentow\n");
  79.                 printf("u - Usun studenta\n");
  80.  
  81.                 scanf("%s", &pom);
  82.                 wybor = *pom;
  83.  
  84.                 switch (wybor)
  85.                 {
  86.                 case 'd':
  87.                 {
  88.                         printf("Podaj imie\n");
  89.                         scanf("%s", &im);
  90.                         printf("Podaj nazwisko\n");
  91.                         scanf("%s", &naz);
  92.                         printf("Podaj wiek\n");
  93.                         scanf("%i", &wiek);
  94.                         printf("Podaj numer Indeksu\n");
  95.                         scanf("%i", &ind);
  96.                         printf("\n");
  97.                         DodajStudenta(im, naz, wiek, ind);
  98.                         printf("\n");
  99.                         break;
  100.  
  101.  
  102.  
  103.                 }
  104.  
  105.                 case 'w':
  106.                 {
  107.                         printf("\n");
  108.                         WypiszDane();
  109.                         break;
  110.                 }
  111.                 {
  112.                 case 'u':
  113.                 {
  114.                         printf("Podaj nazwisko ktorego studenta chcesz usunac\n"); \
  115.                                 scanf("%s", &naz);
  116.                         Usun(naz);
  117.                         break;
  118.                 }
  119.  
  120.  
  121.                 }
  122.                 }
  123.  
  124.  
  125.         }
  126. }