Guest User

Untitled

a guest
Mar 14th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  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. }
Add Comment
Please, Sign In to add comment