joannakr

Untitled

Jan 7th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. int Readceyboardtoscreen()
  2. {
  3. char line[300];
  4. int flag = 0, flag1 = 0;
  5. int emptyLine = 0;
  6. int logical = 0;
  7. int i = 0;
  8. printf("Напиши програмата(за край на програмата натиснете CTR+Z):\n\n");
  9. scanf("%s", &line);
  10. while (fgets(line, 300, stdin))
  11. {
  12. int len = strlen(line);
  13. emptyLine++;
  14. for (i = 0; i < len; i++)
  15. {
  16. if (line[i] == '\"' && !flag) flag = 1; /*Не търсим в кавичките*/
  17. else if (line[i] == '\"' && line[i - 1] != '\\' && flag == 1) flag = 0;
  18.  
  19. if (!flag && line[i] == '/' && line[i + 1] == '/') break;
  20.  
  21. if (!flag && line[i] == '/' && line[i + 1] == '*') flag = 2;/*Не търсим в коментарите*/
  22. else if (flag == 2 && line[i] == '*' && line[i + 1] == '/') flag = 0;
  23.  
  24.  
  25. if (!flag) {
  26. if (!i || (i && (line[i - 1] == ' ' || line[i - 1] == '\t' || line[i - 1] == '{' || line[i - 1] == '}' || line[i - 1] == '(' || line[i - 1] == ')'))) {
  27. if (line[i] == 'v' && line[i + 1] == 'o' && line[i + 2] == 'i' && line[i + 3] == 'd') { logical++; flag1 = 1; }
  28. else if (line[i] == 'f' && line[i + 1] == 'o' && line[i + 2] == 'r') { logical++; flag1 = 1; }
  29. else if (line[i] == 'w' && line[i + 1] == 'h' && line[i + 2] == 'i' && line[i + 3] == 'l'&& line[i + 4] == 'e') { logical++; flag1 = 1; }
  30. if (line[i] == 'd' && line[i + 1] == 'o'&& line[i + 2] == '{' && flag1 == 1) logical++;
  31.  
  32. }
  33. }
  34.  
  35. if (flag1 && line[i] == ',') logical++;
  36. else if (flag1 && line[i] == ';') flag1 = 0;
  37.  
  38.  
  39. if (line[i] != '\n' && line[i] != '\t' && line[i] != ' ')
  40. {
  41. emptyLine--;
  42. break;
  43. }
  44.  
  45.  
  46.  
  47. }
  48. }
  49. printf("Празните редове са : %d, \n Операторите за цикъл са: %d", emptyLine, logical);
  50. if (line[strlen(line) - 1] == EOF)
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment