Guest User

Untitled

a guest
Dec 4th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. bool test = true;
  2. while (test)
  3. {
  4. int i = 0;
  5. n[i] = getchar();
  6. while (n[i] != 'n')
  7. {
  8. i++;
  9. n[i] = getchar();
  10. if (n[i] >= '0' && n[i] <= '9')test = false;
  11. else
  12. {
  13. test = true;
  14. cout << "Введены некорректные данные, повторите попытку: " << endl;
  15. break;
  16. }
  17. }
  18. }
  19.  
  20. test = false;
  21.  
  22. n[i] != 'n'
  23.  
  24. n[i] != 'n'
  25.  
  26. n[i] = 0;
  27.  
  28. char n[1000];
  29. for(bool ok = false;!ok;puts("Retry"))
  30. {
  31. ok = true;
  32. printf("Enter number: ");
  33. fgets(n,1000,stdin);
  34. if (n[strlen(n)-1] == 'n') n[strlen(n)-1] = 0;
  35. for(int i = 0; n[i]; ++i)
  36. if (!isdigit(n[i]))
  37. {
  38. ok = false;
  39. break;
  40. }
  41. }
  42.  
  43. string s = "a";
  44. for(;s.find_first_not_of("0123456789") != string::npos;)
  45. {
  46. cout << "Enter number: ";
  47. getline(cin,s);
  48. }
  49.  
  50. bool test = true;
  51.  
  52. while (test)
  53. {
  54. cout << "Введите число, факториал которого вам нужно найти. Число доолжно быть от 10 дo 100: ";
  55. getline(cin, N);
  56. for (int i = 0; i < N.size(); i++)
  57. {
  58. if (N[i] >= '0' && N[i] <= '9')test = false;
  59. else
  60. {
  61. test = true;
  62. cout << "Некорректный ввод, вы дурак!" << endl;
  63. cout << endl;
  64. break;
  65. }
  66. }
  67. if (N.size() != 2)
  68. {
  69. test = true;
  70. cout << "Введенное число должно быть из диапозона [10; 100]" << endl;
  71. }
  72. }
  73.  
  74. #include <stdio.h>
  75. #include <stdlib.h>
  76.  
  77. static inline int skipnl (int n, int *err) {
  78. *err = 1;
  79. int c;
  80. while ((c = getchar()) != EOF && c != 'n');
  81.  
  82. return n;
  83. }
  84.  
  85. int
  86. get_digits (char *input, int lim, int *err)
  87. {
  88. int c, n = 0;
  89.  
  90. *err = 0;
  91. if (lim < 1) {
  92. printf("call error: lim = %dn", lim);
  93. return skipnl(0, err);
  94. }
  95.  
  96. while ((c = getchar()) != EOF) {
  97. if (c == 'n') {
  98. if (!n)
  99. continue;
  100. return n;
  101. }
  102.  
  103. if (c >= '0' && c <= '9') {
  104. if (n < lim)
  105. input[n++] = c;
  106. else {
  107. printf("too long, max: %dn", lim - 1);
  108. return skipnl(n, err);
  109. }
  110. } else {
  111. printf("incorrect input: '%c'n", c);
  112. return skipnl(n, err);
  113. }
  114. }
  115.  
  116. return n;
  117. }
  118.  
  119.  
  120. int
  121. main (int ac, char *av[])
  122. {
  123. char s[1000];
  124. int n, err;
  125.  
  126. while (!feof(stdin)) {
  127. fputs("Enter: ", stdout); fflush(stdout);
  128. err = 0;
  129. n = get_digits(s, 999, &err);
  130. s[n] = 0;
  131. if (n && !err)
  132. puts(s);
  133. }
  134.  
  135.  
  136. return puts("End") == EOF;
  137. }
  138.  
  139. #include <stdio.h>
  140. #include <stdlib.h>
  141.  
  142. static inline int check_cvt_chr (char *p)
  143. {
  144. if (*p < '0' || *p > '9') {
  145. printf("invalid input: '%c'n", *p);
  146. return 0;
  147. }
  148.  
  149. *p -= '0';
  150. return 1;
  151. }
  152.  
  153. int
  154. check_convert (char *s, ssize_t l)
  155. {
  156. size_t i = 0, j = l - 1;
  157.  
  158. for (; i < j; i++, j--)
  159. if (check_cvt_chr(s + i) && check_cvt_chr(s + j)) {
  160. char t = s[i];
  161. s[i] = s[j];
  162. s[j] = t;
  163. } else
  164. return 0;
  165.  
  166. return i == j ? check_cvt_chr(s + i) : 1;
  167. }
  168.  
  169. static void
  170. print (char *s, ssize_t l)
  171. {
  172. while (l)
  173. putchar(s[--l] + '0');
  174. puts("");
  175. }
  176.  
  177. int
  178. main (int ac, char *av[])
  179. {
  180. size_t sz;
  181. ssize_t len;
  182. char *str = 0;
  183.  
  184. while (fputs("Enter: ", stdout), fflush(stdout),
  185. (len = getline(&str, &sz, stdin)) > 0) {
  186. str[--len] = 0; // erase 'n' at the end
  187. if (check_convert(str, len))
  188. print(str, len);
  189.  
  190. free(str);
  191. str = 0;
  192. }
  193.  
  194.  
  195. return puts("End") == EOF;
  196. }
Add Comment
Please, Sign In to add comment