Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. struct para {
  5. int nr_indeksu;
  6. char nazwisko[30];
  7. float ocena;
  8. struct para *nast;
  9. };
  10.  
  11. int main(){
  12. char nazwa_pliku[30];
  13. FILE * wczyt,* zapis;
  14. para *glowa=NULL,*wsk=NULL;
  15. para str;
  16.  
  17. printf("\n\nPodaj nazwe pliku z ktorego chcesz czytac: "); ///otwarcie pliku
  18.  
  19. scanf("%s", &nazwa_pliku);
  20.  
  21.  
  22. if ((wczyt = fopen(nazwa_pliku, "r")) == NULL) {
  23. printf("\n\nNie mozna otworzyc pliku do odczytu: %s\n\n", nazwa_pliku);
  24. return 0;
  25. }
  26. else {
  27. printf("\n\nUdalo sie otworzyc plik do odczytu: %s\n\n", nazwa_pliku);
  28. }
  29. fscanf(wczyt,"%d",str.nr_indeksu);
  30. fscanf(wczyt,"%s",str.nazwisko);
  31. fscanf(wczyt,"%f",str.ocena);
  32. while(!feof(wczyt)){
  33. if(glowa==NULL){
  34. glowa=wsk=(para*)malloc(sizeof(struct para));
  35. glowa->nr_indeksu=str.nr_indeksu;
  36. strcpy(glowa->nazwisko,str.nazwisko);
  37. glowa->ocena=str.ocena;
  38. glowa->nast=NULL;
  39. wsk=glowa;
  40.  
  41. }
  42. else{
  43. wsk->nast=(para*)malloc(sizeof(para));
  44. wsk=wsk->nast;
  45. }
  46. }
  47.  
  48.  
  49. //zamykanie pliku do odczytu
  50. if (fclose(wczyt)){
  51. printf("\n\nPlik: %s nie zostal zamkniety\n\n",nazwa_pliku);
  52. }
  53. else {
  54. printf("\n\nPlik: %s zostal poprawnie zamkniety\n\n", nazwa_pliku);
  55. }
  56.  
  57. //otwieranie pliku do zapisu
  58. printf("\n\nPodaj nazwe pliku do ktorego chcesz zapisac te informacje: ");
  59.  
  60. scanf("%s", &nazwa_pliku);
  61.  
  62.  
  63. if ((zapis = fopen(nazwa_pliku, "w")) == NULL) {
  64. printf("\n\nNie mozna otworzyc pliku do zapisu: %s\n\n", nazwa_pliku);
  65. return 0;
  66. }
  67. else {
  68. printf("\n\nUdalo sie otworzyc plik do zapisu: %s\n\n", nazwa_pliku);
  69. }
  70.  
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement