daily pastebin goal
36%
SHARE
TWEET

Untitled

a guest Mar 14th, 2018 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5.  
  6.  
  7.  struct wpis /*struktura główna*/
  8. {
  9.     char *imie;
  10.     char *nazwisko;
  11.     char *ulica;
  12.     char *nrulicy;
  13.     char *nrmieszkania;
  14.     char *miasto;
  15.     char *nrtel;
  16.     struct wpis *next;
  17.     struct wpis *prev;
  18.  
  19. } baza;
  20.  
  21.  
  22. /* wskaznik do struktury glownej*/
  23. struct wpis *dodaj;
  24. struct wpis *poczatek = NULL;
  25. struct wpis *koniec = NULL;
  26.  
  27. /* dodaje elementy struktury*/
  28. void dodawanie ()
  29. {
  30.     char i [60];
  31.     char n [60];
  32.     char u [20];
  33.     char nru [10];
  34.     char nrm [10];
  35.     char m[50];
  36.     char nrtel[60];
  37.    
  38.     printf ("\n");
  39.   dodaj = malloc(sizeof (baza));
  40.   printf("Podaj imie: ");
  41.   scanf("%s", i);
  42.  
  43.   dodaj->imie=malloc( sizeof(char) * strlen(i));
  44.   strcpy( dodaj->imie, i );
  45.  
  46.   printf("Podaj nazwisko: ");
  47.   scanf("%s", n);
  48.  
  49.   dodaj->nazwisko=malloc( sizeof(char) * strlen(n));
  50.   strcpy( dodaj->nazwisko, n );  
  51.  
  52.      printf("Podaj numer telefonu: ");
  53.   scanf("%s", nrtel);
  54.  
  55.   dodaj->nrtel=malloc( sizeof(char) * strlen(nrtel));
  56.   strcpy( dodaj->nrtel, nrtel );
  57.  
  58.     printf("Podaj miasto: ");
  59.   scanf("%s", m);
  60.  
  61.   dodaj->miasto=malloc( sizeof(char) * strlen(m));
  62.   strcpy( dodaj->miasto, m );
  63.  
  64.      printf("Podaj ulice: ");
  65.   scanf("%s", u);
  66.  
  67. dodaj->ulica=malloc( sizeof(char) * strlen(u));
  68.   strcpy( dodaj->ulica, u );
  69.  
  70.    printf("Podaj nr ulicy: ");
  71.   scanf("%s", nru);
  72.  
  73.   dodaj->nrulicy=malloc( sizeof(char) * strlen(nru));
  74.   strcpy( dodaj->nrulicy, nru );
  75.  
  76.     printf("Podaj nr mieszkania: ");
  77.   scanf("%s", nrm);
  78.  
  79.   dodaj->nrmieszkania=malloc( sizeof(char) * strlen(nrm));
  80.   strcpy( dodaj->nrmieszkania, nrm );
  81.  
  82.  
  83.   dodaj -> next = NULL;
  84.  
  85.   if (koniec == NULL)
  86.         poczatek = koniec = dodaj;
  87.   else {
  88.         koniec->next = dodaj;
  89.         koniec = dodaj;
  90.        }
  91.        
  92.        printf ("Dodałeś taki rekord: %s %s %s %s %s %s %s\n", i, n, nrtel, m, u, nru, nrm);
  93.        scanf (" ");
  94. }
  95.  
  96.  
  97.  
  98. /*zapisuje dane z pamieci do pliku txt skonczona*/
  99. void zapisz() {
  100.   FILE* plik;
  101.  
  102.   plik = fopen("plik.txt", "ab");
  103.  
  104.   while(dodaj != NULL) {
  105.         fprintf(plik, "%s,", dodaj->imie);
  106.         fprintf(plik, " %s,", dodaj->nazwisko);
  107.         fprintf(plik, " %s,", dodaj->ulica);
  108.         fprintf(plik, " %s,", dodaj->nrulicy);
  109.         fprintf(plik, " %s,", dodaj->nrmieszkania);
  110.         fprintf(plik, " %s,", dodaj->miasto);
  111.         fprintf(plik, " %s,", dodaj->nrtel);
  112.         printf ("\n");
  113.         dodaj = dodaj->next;
  114.         }
  115.   fclose(plik);  
  116. }  
  117.  
  118. /*wypisanie na ekreanie zawartości bazy*/
  119. void wypisanie ()
  120. {
  121.      
  122.      FILE *plik;
  123.      plik =fopen ("plik.txt", "rb");
  124.    
  125.     printf ("\n");
  126.      if(!plik)
  127.       {
  128.          printf(" Nie ma takiego pliku ");
  129.       }
  130.      else
  131.       {  while (!feof(plik))
  132.            {
  133.               putchar(fgetc(plik));
  134.            }
  135.               printf ("\n Koniec wypisywania pliku\n");
  136.      fclose (plik);
  137.       }    
  138. }
  139. /*
  140. void szukanie ()
  141. {
  142.      
  143. }
  144.  
  145. void kasuj ()
  146. {
  147.      
  148. }
  149.  
  150. void sortuj ()
  151. {
  152.      
  153. }
  154. */
  155. int main ()
  156. {   char y;
  157.     char dane [256];
  158.     char tmp [256];
  159.  
  160.  
  161.           printf("[w]yswietl dotychczasowe dane w ksiazce telefonicznej | [d]odaj nowy rekord | [k]asuj rekord   ");
  162.           y = getch();
  163.          
  164.             while (!(y=='w') && !(y=='d') && !(y=='k'))
  165.                     {
  166.                         printf ("Podałeś zła opcje\n");
  167.                         fgets (tmp, 256, stdin);
  168.                         y=getch();
  169.                     }  
  170.          
  171.           if(y=='w')
  172.               {
  173.                 wypisanie();
  174.                 scanf (" ");
  175.               }
  176.           if(y == 'd')
  177.              {
  178.                 dodawanie();
  179.                 zapisz ();
  180.                 printf ("Rekord zapisany do ksiazki telefonicznel\n");
  181.              }
  182.   /*        if (y=='k')
  183.              {
  184.                 szukaj();
  185.                 kasuj();          
  186.              }*/
  187.   /* fgets  scanf ( %1023[\t]s, cbuf);*/
  188.   return 0;
  189. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top