Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.70 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include <conio.h>
  6. #include <stdlib.h>
  7. #include <math.h>
  8. #include <locale.h>
  9.  
  10. void read_print_ussr(FILE* filein);
  11. void job(FILE*filein, FILE*temp);
  12. void res(FILE*temp, FILE*fileout);
  13.  
  14. struct types
  15. {
  16.     char ed_ezmereniya[30];
  17.     char name[30];
  18.     float year13;
  19.     float year28;
  20.     float year40;
  21.     float year58;
  22.    
  23. } result;
  24.  
  25. struct output
  26. {
  27.     char name[30];
  28.     int prirost1;
  29.     int prirost2;
  30.  
  31. } output;
  32.  
  33. void main(int argc, char *argv[])
  34. {
  35.     setlocale(LC_ALL, "rus");
  36.     system("color F0");
  37.     char file_name[13];
  38.     char file_name2[13];
  39.     FILE * filein;
  40.     FILE * fileout;
  41.     FILE * temp;
  42.     int pr;
  43.     printf("Ââåäèòå èìÿ èñõîäíîãî ôàéëà\n");
  44.     gets(file_name);
  45.     filein = fopen(file_name, "w+");
  46.     printf("Ââåäèòå èìÿ ôàéëà âûâîäà\n");
  47.     gets(file_name2);
  48.     fileout = fopen(file_name2, "w+");
  49.     temp = fopen("temp.txt", "w+");
  50.    
  51.     if (argc == 0)
  52.     {
  53.         printf("Ïðè âûçîâå óêàæèòå èìÿ ôàéëà!\n");
  54.         exit(-1);
  55.     }
  56.     if (filein == NULL)
  57.     {
  58.         printf("Ôàéë %s íå îòêðûò!\n", file_name);
  59.         exit(-1);
  60.     }
  61.     if (fileout == NULL)
  62.     {
  63.         printf("Ôàéë %s íå îòêðûò\n", file_name2);
  64.         exit(-1);
  65.     }
  66.     read_print_ussr(filein);
  67.     filein = fopen(file_name, "r");
  68.     job(filein, temp);
  69.     fileout = fopen(file_name2, "w");
  70.     temp = fopen("temp.txt", "r");
  71.     res(temp, fileout);
  72.     system("pause");
  73. }
  74. void read_print_ussr(FILE * filein)
  75. {
  76.     int i = 0, err = 0, counter = 0, counter2 = 0, error;
  77.     int flag;
  78.     int r;
  79.     float temp;
  80.     char temp1[20];
  81.     char top[120] = "---------------------------------------------------------------------------------------------";
  82.     /*fprintf(filein, "%s\n", top);
  83.     fprintf(filein, "      Èìÿ       Åä. èçì.     |     1913     |     1928     |     1940     |     1958\n");
  84.     fprintf(filein, "%s\n", top);*/
  85.     do
  86.     {
  87.         printf("Ââåäèòå íàèìåíîâàíèå òîâàðà\n");
  88.         scanf("%s", &result.name);
  89.         printf("Ââåäèòå åäèíèöó èçìåðåíèÿ òîâàðà\n");
  90.         scanf("%s", &result.ed_ezmereniya);
  91.        
  92.         do
  93.         {
  94.             printf("Ââåäèòå ïîêàçàòåëü òîâàðà çà 1913\n");
  95.             err = scanf("%f", &temp);
  96.  
  97.             fflush(stdin);
  98.         } while (err == 0);
  99.         result.year13 = temp;
  100.         do
  101.         {
  102.             printf("Ââåäèòå ïîêàçàòåëü òîâàðà çà 1928\n");
  103.             err = scanf("%f", &temp);
  104.  
  105.             fflush(stdin);
  106.         } while (err == 0);
  107.         result.year28 = temp;
  108.         do
  109.         {
  110.             printf("Ââåäèòå ïîêàçàòåëü òîâàðà çà 1940\n");
  111.             err = scanf("%f", &temp);
  112.             fflush(stdin);
  113.         } while (err == 0);
  114.         result.year40 = temp;
  115.  
  116.         do
  117.         {
  118.             printf("Ââåäèòå ïîêàçàòåëü òîâàðà çà 1958\n");
  119.             err = scanf("%f", &temp);
  120.  
  121.             fflush(stdin);
  122.         } while (err == 0);
  123.         result.year58 = temp;
  124.    
  125.         printf("Õîòèòå ëè ââåñòè åùå äàííûå: 1/0\n");
  126.         scanf("%d", &flag);
  127.         if (flag==1)
  128.         {
  129.             error = 1;
  130.         }
  131.         if (flag!=1)
  132.         {
  133.             error = 0;
  134.         }
  135.         fprintf(filein, "%10s     %10s     %10.1f     %10.1f    %10.1f     %10.1f\n", result.name, result.ed_ezmereniya,
  136.             result.year13, result.year28, result.year40, result.year58);
  137.         counter++;
  138.     }while (error);
  139.     fclose(filein);
  140.    
  141. }
  142.  
  143. void job(FILE*filein, FILE*temp)
  144. {
  145.     while (!feof(filein))
  146.     {
  147.         fscanf(filein, "%s%s%f%f%f%f\n", &result.name, &result.ed_ezmereniya,
  148.             &result.year13, &result.year28, &result.year40, &result.year58);
  149.         if (strncmp(result.ed_ezmereniya, "tis.ton", 8) == 0)
  150.         {
  151.             if ((result.year13 <= result.year28) && (result.year28 <= result.year40) && (result.year40 <= result.year58))
  152.             {
  153.                 fprintf(temp, "%s     %s     %f     %f    %f     %f\n", result.name, result.ed_ezmereniya, result.year13, result.year28, result.year40, result.year58);
  154.             }
  155.  
  156.         }
  157.  
  158.     }
  159.     fclose(filein);
  160.     fclose(temp);
  161. }
  162. void res(FILE*temp, FILE*fileout)
  163. {
  164.    
  165.     if (getc(temp)!=EOF)
  166.     {
  167.         while (!feof(temp))
  168.         {
  169.             fscanf(temp, "%s%s%f%f%f%f\n", &result.name, &result.ed_ezmereniya,
  170.                 &result.year13, &result.year28, &result.year40, &result.year58);
  171.             strncpy(output.name, result.name, 8);
  172.             output.prirost1 = (result.year40 * 100 / result.year28) - 100;
  173.             output.prirost2 = (result.year58 * 100 / result.year28) - 100;
  174.             fprintf(fileout, "Íå ñíèçèëîñü ïðîèçâîäñòâî òîâàðà âèäà:  %10s\n ïðîöåíò ïðèðîñòà 1940ãîäà â ñðàâíåíèè "
  175.                 "ñ 1928 : %d%\nnðîöåíò ïðèðîñòà 1958ãîäà â ñðàâíåíèè ñ 28 : %d%\n", output.name, output.prirost1, output.prirost2);
  176.         }
  177.  
  178.     }
  179.     else if (getc(temp) == EOF)
  180.     {
  181.         printf("Íóæíûõ äàííûõ íå íàéäåíî\n");
  182.     }
  183.    
  184.     fclose(temp);
  185.     fclose(fileout);
  186.  
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement