joannakr

Untitled

Jan 1st, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.75 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <Windows.h>
  6.  
  7. int fun4();
  8. int fun5();
  9. int main()
  10. {
  11. int choice;
  12. int lines;
  13. char prog[100];
  14. SetConsoleOutputCP(1251);
  15. SetConsoleCP(1251);
  16. printf("Меню:\n");
  17. printf("1:четене програмата от файл и запис на резултата във файл(потребителят трябва да въведе имената на двата файла, като файла с програмата трябва да завършва с '.С')\n\n");
  18. printf("2:четене програмата от файл и извеждане на резултата на екрана(файлът въведен от потребителят трябва да завършва на '.С')\n\n");
  19. printf("3:четене на програмата от клавиатура и извеждане във файл зададен от потребителят\n\n");
  20. printf("4:четене на програмата от клавиатурата и извеждане на екрана\n\n");
  21. printf("Напишете вашия избор:");
  22. fflush(stdout);
  23. scanf("%d", &choice);
  24. switch (choice)
  25. {
  26. case 1:
  27. fun4();
  28. printf("Резултатите са във файла");
  29. break;
  30. case 2:
  31. fun5();
  32. break;
  33. case 3:
  34. fun6();
  35. printf("Резултатите са във файла");
  36. break;
  37. case 4:
  38. fun7();
  39. break;
  40. default:
  41. printf("ГРЕШКА!");
  42. }
  43. system("pause");
  44. return 0;
  45. }
  46. int fun4()
  47. {
  48. char line[300];
  49. int emptyLine = 0;
  50. int logical = 0;
  51. char fpname[255], newfpname[255];
  52. printf("Въведи името на файла за четене :\n");
  53. scanf("%s", fpname);
  54. printf("Въведи името на файла за запис на резултата:\n");
  55. scanf("%s", newfpname);
  56. FILE *fp = fopen(fpname, "r");
  57. if (fp == NULL)
  58. {
  59. printf("ГРЕШКА: Файлът не може да се отвори!\n");
  60. return -1;
  61. }
  62. else
  63. if (fpname[strlen(fpname) - 2] != '.'&& fpname[strlen(fpname) - 1] != 'c')
  64. {
  65. printf("ГРЕШКА: Файлът не е с правилното разширение!\n");
  66. return -1;
  67. }
  68. {
  69. while (fgets(line, 300, fp)) {
  70. int i = 0;
  71. int len = strlen(line);
  72. emptyLine++;
  73. for (i = 0; i < len; i++) {
  74. if (line[i] != '\n' && line[i] != '\t' && line[i] != ' ') {
  75. emptyLine--;
  76. break;
  77. }
  78. }
  79. if (strstr(line, "while") || strstr(line, "do") || strstr(line, "for"))
  80. {
  81. logical++;
  82. }
  83. }
  84.  
  85. }
  86. fclose(fp);
  87. if (newfpname[strlen(newfpname) - 2] != '.'&& newfpname[strlen(newfpname) - 1] != 'c')
  88. {
  89. printf("ГРЕШКА: Файлът не е с правилното разширение!\n");
  90. return -1;
  91. }
  92. FILE *newfp = fopen(newfpname, "w");
  93. if (newfp)
  94. {
  95. fprintf(newfp, "Празните редове са : %d, \n Операторите за цикъл са: %d", emptyLine, logical);
  96. }
  97. fclose(newfp);
  98. return 0;
  99. }
  100. int fun5()
  101. {
  102. char line[300];
  103. int emptyLine = 0;
  104. int logical = 0;
  105. char fpname[255], newfpname[255];
  106. printf("Въведи името на файла за четене :\n");
  107. scanf("%s", fpname);
  108. FILE *fp = fopen(fpname, "r");
  109. if (fp == NULL) {
  110. printf("ГРЕШКА: Файлът не може да се отвори!\n");
  111. return -1;
  112. }
  113. else
  114. if (fpname[strlen(fpname) - 2] != '.'&& fpname[strlen(fpname) - 1] != 'c')
  115. {
  116. printf("ГРЕШКА: Файлът не е с правилното разширение!\n");
  117. return -1;
  118. } else
  119. {
  120. while (fgets(line, 300, fp)) {
  121. int i = 0;
  122. int len = strlen(line);
  123. emptyLine++;
  124. for (i = 0; i < len; i++) {
  125. if (line[i] != '\n' && line[i] != '\t' && line[i] != ' ') {
  126. emptyLine--;
  127. break;
  128. }
  129. }
  130. if (strstr(line, "while") || strstr(line, "do") || strstr(line, "for"))
  131. {
  132. logical++;
  133. }
  134. }
  135.  
  136. }
  137. printf("Празните редове са : %d, \n Операторите за цикъл са: %d", emptyLine, logical);
  138. return 0;
  139. }
  140. int fun6()
  141. {
  142. char line[300];
  143. int emptyLine = 0;
  144. int logical = 0;
  145. char newfpname[255];
  146. printf("Въведи името на файла за запис на резултата:\n");
  147. fflush(stdout);
  148. scanf("%s", newfpname);
  149. printf("Напиши програмата:(за край на програмата натиснете CTR+Z)\n");
  150. fflush(stdout);
  151. scanf("%s", &line);
  152. {
  153. while (fgets(line, 300, stdin)) {
  154. int i = 0;
  155. int len = strlen(line);
  156. emptyLine++;
  157. for (i = 0; i < len; i++) {
  158. if (line[i] != '\n' && line[i] != '\t' && line[i] != ' ') {
  159. emptyLine--;
  160. break;
  161. }
  162. }
  163. if (strstr(line, "while") || strstr(line, "do") || strstr(line, "for"))
  164. {
  165. logical++;
  166. }
  167. }
  168.  
  169. }
  170. FILE *newfp = fopen(newfpname, "w");
  171. if (newfp)
  172. {
  173. fprintf(newfp, "Празните редове са : %d, \n Операторите за цикъл са: %d", emptyLine, logical);
  174. }
  175. fclose(newfp);
  176. return 0;
  177. }
  178. int fun7()
  179. {
  180. char line[300];
  181. int emptyLine = 0;
  182. int logical = 0;
  183. printf("Напиши програмата:(за край на програмата натиснете CTR+Z)\n");
  184. fflush(stdout);
  185. scanf("%s", &line);
  186. {
  187. while (fgets(line, 300, stdin))
  188. {
  189. int i = 0;
  190. int len = strlen(line);
  191. emptyLine++;
  192. for (i = 0; i < len; i++) {
  193. if (line[i] != '\n' && line[i] != '\t' && line[i] != ' ') {
  194. emptyLine--;
  195. break;
  196. }
  197. }
  198. if (strstr(line, "while") || strstr(line, "do") || strstr(line, "for"))
  199. {
  200. logical++;
  201. }
  202. }
  203.  
  204. }
  205. printf("Празните редове са : %d, \n Операторите за цикъл са: %d", emptyLine, logical);
  206. if(line[strlen(line) - 1] == EOF)
  207. return 0;
  208. }
Advertisement
Add Comment
Please, Sign In to add comment