Pliki opis Programowanie w C

background image

#include <stdio.h> // instrukcja include nakazuje preprocesorowi umieszczenie w programie zawartości plików

#include <conio.h> // nagłówkowych stdio.h oraz conio.h (program pobiera i wysyła informacje na ekran (input-output)

struct pracownicy // definicja struktury pracownicy - jest to określenie własnego zbioru danych
{

char nazwisko[25];
char stanowisko[20]; // deklaracja składowych struktury

short int rok_urodzenia;
char numer_telefonu[15];

}pracownik; // deklaracja zmiennej "pracownik", której wzorzec stanowi struktura pracownicy

main()
{

char wybor; // deklaracja zmiennej typu znakowego
int id,ilosc; // deklaracja zmiennych typu całkowitego (liczb)

FILE *fp; // deklaracja wskaźnika położenia w pliku

do
{

if(wybor==13) // jeżeli zmiennej typu znakowego równa się 13 (Enter = 13-sty znak ASCII)
{

fp=fopen("pracownicy.txt","a"); // otwarcie pliku w trybie dołączającym dane na koniec pliku
fflush(stdin); // czyści bufor (klawiatury)

printf("\n Podaj nazwisko pracownika: ");
gets(pracownik.nazwisko); // gets - funkcja wczytująca łańcuch

fflush(stdin);
printf("\n Podaj stanowisko pracownika: ");

gets(pracownik.stanowisko);
fflush(stdin);

printf("\n Podaj rok urodzenia pracownika: ");
scanf("%d",&pracownik.rok_urodzenia);

fflush(stdin);
printf("\n Podaj numer telefonu pracownika: ");

gets(pracownik.numer_telefonu);
fflush(stdin);

fwrite(&pracownik,sizeof(struct pracownicy),1,fp); // funkcja zapisuje do pliku poczynając
// od miejsca położenia wskaźnika fp

// dane (bity) z pamięci zaczynając od
// adresu zmiennej pracownik na długości

// jednej struktury typu pracownicy
fclose(fp);

}
else

if((fp=fopen("pracownicy.txt","r"))==NULL) // jeżeli nie da się otworzyć pliku do odczytu
printf("\n Baza danych nie zawiera zadnych danych o pracownikach...");

else // jeżeli można otworzyć pliku w trybie do odczytu
{

fseek(fp,0,SEEK_END); // przesunięcie wskaźnika względem końca pliku
ilosc=ftell(fp)/sizeof(struct pracownicy); // ftell podaje aktualne położenie wskaźnika

// operator sizeof zwraca podany w bajtach rozmiar obiektu
fseek(fp,0,SEEK_SET); // przesunięcie wskaźnika względem początku pliku

printf("\n Nazwisko \t Stanowisko \t Rok \t Telefon");
for(id=0;id<ilosc;id++)

{
fread(&pracownik,sizeof(struct pracownicy),1,fp); // funkcja odczytuje z pliku

// przypisuje zmiennej pracownik dane (bajty) z pliku rozpoczynając
// przypisywanie od miejsca położenia wskaźnika fp na długości równej

// jednej strukturze typu pracownicy
printf("\n %s \t %s \t %d \t %s",

pracownik.nazwisko,pracownik.stanowisko,pracownik.rok_urodzenia,pracownik.numer_telefonu);
}

fclose(fp); // zamyka plik - upewnia, że wszystkie dane w buforze zostały zapisane
// zamknięcie zwalnia też wskaźnik do pliku

}
printf("\n\n Wybierz:");

printf("\n Enter - wprowadzenie danych nowego pracownika");
printf("\n Esc - wyjscie z programu");

printf("\n Spacja - wyswietlenie zawartosci bazy danych pracownikow");
wybor=getch(); // pobranie znaku z klawiatury

clrscr();
}

while(wybor!=27); // dopóki wartość zmiennej wybor jest różna od 27 (Esc = 27-my znak ASCII)

return 0; // za pomocą słowa kluczowego return zwracana jest wartość z funkcji main
// wartość 0 dla funkcji main oznacza, że program zakończył się pomyślnie

}


Wyszukiwarka

Podobne podstrony:
kolokwium2-zap, opis programow, Wszystkie pliki poza zad1
Opis programu komputerowego Twierdzenie Pitagorasa-dowód i z, wrzut na chomika listopad, Informatyka
Opis programu Photo Collage Platinum
1 Opis programu CorelDRAW
Opis programu Arena
Opis programu TrUtil i jego funkcje, Travian, Travian
Polski opis programu EST
Pliki opis[Pascal]
Polski opis programów pakietu winPenPack Flash 2Gb
opis programu skrot
Opis programu YAGI
links-opis programu
opis programu ksztalcenia - psychologia , ! PSYCHOLOGIA PSYCHIATRIA
Opis programów w Pascalu
Alg. Kruskala PJ, Opis programu, Autor całego projektu: Paweł Jaroszewski gr 12
Opis programu DalilyDiary
Polski opis programu FX ChemStruct 1
Opis programów

więcej podobnych podstron