Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- #include <string.h>
- struct wpis /*struktura główna*/
- {
- char *imie;
- char *nazwisko;
- char *ulica;
- char *nrulicy;
- char *nrmieszkania;
- char *miasto;
- char *nrtel;
- struct wpis *next;
- struct wpis *prev;
- } baza;
- /* wskaznik do struktury glownej*/
- struct wpis *dodaj;
- struct wpis *poczatek = NULL;
- struct wpis *koniec = NULL;
- /* dodaje elementy struktury*/
- void dodawanie ()
- {
- char i [60];
- char n [60];
- char u [20];
- char nru [10];
- char nrm [10];
- char m[50];
- char nrtel[60];
- printf ("\n");
- dodaj = malloc(sizeof (baza));
- printf("Podaj imie: ");
- scanf("%s", i);
- dodaj->imie=malloc( sizeof(char) * strlen(i));
- strcpy( dodaj->imie, i );
- printf("Podaj nazwisko: ");
- scanf("%s", n);
- dodaj->nazwisko=malloc( sizeof(char) * strlen(n));
- strcpy( dodaj->nazwisko, n );
- printf("Podaj numer telefonu: ");
- scanf("%s", nrtel);
- dodaj->nrtel=malloc( sizeof(char) * strlen(nrtel));
- strcpy( dodaj->nrtel, nrtel );
- printf("Podaj miasto: ");
- scanf("%s", m);
- dodaj->miasto=malloc( sizeof(char) * strlen(m));
- strcpy( dodaj->miasto, m );
- printf("Podaj ulice: ");
- scanf("%s", u);
- dodaj->ulica=malloc( sizeof(char) * strlen(u));
- strcpy( dodaj->ulica, u );
- printf("Podaj nr ulicy: ");
- scanf("%s", nru);
- dodaj->nrulicy=malloc( sizeof(char) * strlen(nru));
- strcpy( dodaj->nrulicy, nru );
- printf("Podaj nr mieszkania: ");
- scanf("%s", nrm);
- dodaj->nrmieszkania=malloc( sizeof(char) * strlen(nrm));
- strcpy( dodaj->nrmieszkania, nrm );
- dodaj -> next = NULL;
- if (koniec == NULL)
- poczatek = koniec = dodaj;
- else {
- koniec->next = dodaj;
- koniec = dodaj;
- }
- printf ("Dodałeś taki rekord: %s %s %s %s %s %s %s\n", i, n, nrtel, m, u, nru, nrm);
- scanf (" ");
- }
- /*zapisuje dane z pamieci do pliku txt skonczona*/
- void zapisz() {
- FILE* plik;
- plik = fopen("plik.txt", "ab");
- while(dodaj != NULL) {
- fprintf(plik, "%s,", dodaj->imie);
- fprintf(plik, " %s,", dodaj->nazwisko);
- fprintf(plik, " %s,", dodaj->ulica);
- fprintf(plik, " %s,", dodaj->nrulicy);
- fprintf(plik, " %s,", dodaj->nrmieszkania);
- fprintf(plik, " %s,", dodaj->miasto);
- fprintf(plik, " %s,", dodaj->nrtel);
- printf ("\n");
- dodaj = dodaj->next;
- }
- fclose(plik);
- }
- /*wypisanie na ekreanie zawartości bazy*/
- void wypisanie ()
- {
- FILE *plik;
- plik =fopen ("plik.txt", "rb");
- printf ("\n");
- if(!plik)
- {
- printf(" Nie ma takiego pliku ");
- }
- else
- { while (!feof(plik))
- {
- putchar(fgetc(plik));
- }
- printf ("\n Koniec wypisywania pliku\n");
- fclose (plik);
- }
- }
- /*
- void szukanie ()
- {
- }
- void kasuj ()
- {
- }
- void sortuj ()
- {
- }
- */
- int main ()
- { char y;
- char dane [256];
- char tmp [256];
- printf("[w]yswietl dotychczasowe dane w ksiazce telefonicznej | [d]odaj nowy rekord | [k]asuj rekord ");
- y = getch();
- while (!(y=='w') && !(y=='d') && !(y=='k'))
- {
- printf ("Podałeś zła opcje\n");
- fgets (tmp, 256, stdin);
- y=getch();
- }
- if(y=='w')
- {
- wypisanie();
- scanf (" ");
- }
- if(y == 'd')
- {
- dodawanie();
- zapisz ();
- printf ("Rekord zapisany do ksiazki telefonicznel\n");
- }
- /* if (y=='k')
- {
- szukaj();
- kasuj();
- }*/
- /* fgets scanf ( %1023[\t]s, cbuf);*/
- return 0;
- }
Add Comment
Please, Sign In to add comment