#define _CRT_SECURE_NO_WARNINGS #include #include void WpiszDane(char*, char*, int, int); void WypiszDane(); void ZapisDoPliku(); void OdczytZPliku(); struct Student { char* imie; char* nazwisko; int wiek; int indeks; }; struct ListaStudent { struct Student lista[10]; int licznik; } student; //struct ListaSamochodow student; void main() { char imie[20]; char nazwisko[20]; int wiek; int indeks; student.licznik = 0; printf("Podaj imie: "); scanf("%s", imie); printf("Podaj nazwisko: "); scanf("%s", nazwisko); printf("Podaj wiek: "); scanf("%i", &wiek); printf("Podaj numer indeksu: "); scanf("%i", &indeks); WpiszDane(imie, nazwisko, wiek, indeks); printf("n"); printf("Podaj imie: "); scanf("%s", imie); printf("Podaj nazwisko: "); scanf("%s", nazwisko); printf("Podaj wiek: "); scanf("%i", &wiek); printf("Podaj indeks: "); scanf("%i", &indeks); WpiszDane(imie, nazwisko, wiek, indeks); printf("n"); printf("Podaj imie: "); scanf("%s", imie); printf("Podaj nazwisko: "); scanf("%s", nazwisko); printf("Podaj wiek: "); scanf("%i", &wiek); printf("Podaj indeks: "); scanf("%i", &indeks); WpiszDane(imie, nazwisko, wiek, indeks); printf("n"); WypiszDane(); printf("n"); ZapisDoPliku(); printf("n"); OdczytZPliku(); } void WpiszDane(char* imie, char* nazwisko, int wiek, int indeks) { student.lista[student.licznik].imie = malloc(strlen(imie) + 1); strcpy(student.lista[student.licznik].imie, imie); student.lista[student.licznik].nazwisko = malloc(strlen(nazwisko) + 1); strcpy(student.lista[student.licznik].nazwisko, nazwisko); student.lista[student.licznik].wiek = wiek; student.lista[student.licznik].indeks = indeks; student.licznik++; } void WypiszDane() { int i = 0; while (i < student.licznik) { printf("%s, %s, %i , %i n", student.lista[i].imie, student.lista[i].nazwisko, student.lista[i].wiek, student.lista[i].indeks); i++; } } void ZapisDoPliku() { FILE* plik; plik = fopen("student.txt", "w"); int i = 0; while (i < student.licznik) { fprintf(plik, "%s %s %i %in", student.lista[i].imie, student.lista[i].nazwisko, student.lista[i].wiek, student.lista[i].indeks); i++; } fclose(plik); } void OdczytZPliku() { FILE* plik = fopen("student.txt", "r"); char imie[20]; char nazwisko[20]; int wiek; int indeks; char separator; int koniec; while (1) { koniec = fscanf(plik, "%s", imie); if (koniec == EOF) { printf("n"); printf("*** %i ***n", koniec); printf("n"); break; } fscanf(plik, "%c", &separator); fscanf(plik, "%s", nazwisko); fscanf(plik, "%c", &separator); fscanf(plik, "%i", &wiek); fscanf(plik, "%c", &separator); fscanf(plik, "%i", &indeks); fscanf(plik, "%c", &separator); printf("%i: %s, %s, %i , %i n", koniec, imie, nazwisko, wiek, indeks); } fclose(plik); }