Advertisement
icatalin

Model de citire struct-uri din fisier cu functii separate

Apr 20th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct interval
  5. {
  6.     int start, finish;
  7. };
  8.  
  9. void citire(FILE *fin,int *n, struct interval *ptr)
  10. {
  11.     fscanf(fin,"%d",&(*n));
  12.     int i;
  13.  
  14.     for (i=0; i<*n; i++)
  15.     {
  16.         fscanf(fin,"%d %d",&ptr->start,&ptr->finish);
  17.         ptr++;
  18.     }
  19.  
  20. }
  21.  
  22. void afisare(FILE *fout, int n, struct interval *ptr)
  23. {
  24.     int i;
  25.  
  26.     fprintf(fout,"%d\n",n);
  27.  
  28.     for (i=0; i<n; i++)
  29.     {
  30.         fprintf(fout,"%d %d\n", ptr->start, ptr->finish);
  31.         ptr++;
  32.     }
  33.  
  34. }
  35.  
  36. int main()
  37. {
  38.     FILE *fin, *fout;
  39.  
  40.     fin = fopen("date.in","r");
  41.     fout = fopen("date.out","w");
  42.  
  43.     struct interval vec[100];
  44.     int n;
  45.  
  46.     citire(fin,&n,vec);
  47.  
  48.     afisare(fout,n,vec);
  49.  
  50.     printf("%d",n);
  51.     printf("\n%d %d",vec[0].start,vec[0].finish);
  52.  
  53.     return 0;
  54. }
  55.  
  56. // model de pe net
  57.  
  58. #include <stdio.h>
  59.  
  60. // student structure
  61. struct student {
  62.   char id[15];
  63.   char firstname[64];
  64.   char lastname[64];
  65.   float points;
  66. };
  67.  
  68. // function declaration
  69. void getDetail(struct student *);
  70. void displayDetail(struct student *);
  71.  
  72. int main(void) {
  73.  
  74.   // student structure variable
  75.   struct student std[3];
  76.  
  77.   // get student detail
  78.   getDetail(std);
  79.  
  80.   // display student detail
  81.   displayDetail(std);
  82.  
  83.   return 0;
  84. }
  85.  
  86. // function definition
  87.  
  88.  
  89. void getDetail(struct student *ptr) {
  90.  
  91.   int i;
  92.  
  93.   for (i = 0; i < 3; i++) {
  94.     printf("Enter detail of student #%d\n", (i + 1));
  95.     printf("Enter ID: ");
  96.     scanf("%s", ptr->id);
  97.     printf("Enter first name: ");
  98.     scanf("%s", ptr->firstname);
  99.     printf("Enter last name: ");
  100.     scanf("%s", ptr->lastname);
  101.     printf("Enter Points: ");
  102.     scanf("%f", &ptr->points);
  103.  
  104.     // update pointer to point at next element
  105.     // of the array std
  106.     ptr++;
  107.   }
  108.  
  109. }
  110.  
  111. void displayDetail(struct student *ptr) {
  112.  
  113.   int i;
  114.  
  115.   for (i = 0; i < 3; i++) {
  116.     printf("\nDetail of student #%d\n", (i + 1));
  117.  
  118.     // display result via ptr variable
  119.     printf("\nResult via ptr\n");
  120.     printf("ID: %s\n", ptr->id);
  121.     printf("First Name: %s\n", ptr->firstname);
  122.     printf("Last Name: %s\n", ptr->lastname);
  123.     printf("Points: %f\n", ptr->points);
  124.  
  125.     // update pointer to point at next element
  126.     // of the array std
  127.     ptr++;
  128.   }
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement