Untitled
unknown
plain_text
2 years ago
2.7 kB
5
Indexable
#include <stdio.h>
#include <stdlib.h>
// Struktura przechowująca dane studenta
struct student {
char imie[25];
char nazwisko[50];
int nrind;
};
// Funkcja do wprowadzania danych studentów
void wprowadz_dane(struct student* st) {
int ilosc;
printf("Podaj ile studentow chcesz dodac:\n");
scanf("%d", &ilosc);
// Sprawdzenie, czy ilość studentów jest dodatnia
if (ilosc <= 0) {
printf("Bledna ilosc studentow. Koniec programu.\n");
exit(EXIT_FAILURE);
}
// Pętla wprowadzająca dane dla ilości studentów podanej przez użytkownika
for (int i = 0; i < ilosc; i++) {
// Wprowadzanie imienia
printf("Podaj Imie: ");
if (scanf("%24s", st[i].imie) != 1) {
printf("Blad wprowadzania imienia. Koniec programu.\n");
exit(EXIT_FAILURE);
}
// Wprowadzanie nazwiska
printf("Podaj Nazwisko: ");
if (scanf("%49s", st[i].nazwisko) != 1) {
printf("Blad wprowadzania nazwiska. Koniec programu.\n");
exit(EXIT_FAILURE);
}
// Wprowadzanie numeru albumu
printf("Podaj numer albumu: ");
if (scanf("%d", &st[i].nrind) != 1) {
printf("Blad wprowadzania numeru albumu. Koniec programu.\n");
exit(EXIT_FAILURE);
}
}
}
// Funkcja do wyświetlania danych studentów
void wyswietl(struct student* st, int ilosc) {
// Pętla wyświetlająca dane dla ilości studentów
for (int i = 0; i < ilosc; i++) {
// Wyświetlanie wprowadzonych danych
printf("Wprowadzone dane: \n");
printf("Imie: %s, Nazwisko: %s, Nr Albumu: %d \n", st[i].imie, st[i].nazwisko, st[i].nrind);
}
}
int main() {
int ilosc;
printf("Podaj ile studentow chcesz dodac: ");
if (scanf("%d", &ilosc) != 1) {
printf("Blad wprowadzania ilosci studentow. Koniec programu.\n");
return 1;
}
// Sprawdzenie, czy ilość studentów jest dodatnia
if (ilosc <= 0) {
printf("Bledna ilosc studentow. Koniec programu.\n");
return 1;
}
// Alokacja pamięci dla tablicy studentów
struct student *tablica_studentow = malloc(ilosc * sizeof(struct student));
if (tablica_studentow == NULL) {
fprintf(stderr, "Blad alokacji pamieci.\n");
return 1;
}
// Wywołanie funkcji do wprowadzania danych
wprowadz_dane(tablica_studentow);
// Wywołanie funkcji do wyświetlania danych
wyswietl(tablica_studentow, ilosc);
// Zwolnienie zaalokowanej pamięci
free(tablica_studentow);
return 0;
}
Editor is loading...
Leave a Comment