Проверка корректности ввода - C (СИ)

Узнай цену своей работы

Формулировка задачи:

всем приятного времени суток))тут такой вопросик! имеется прога, которая переводит из любой системы в любую! так вот как сделать проверку на корректность ввода? т.е. сначала мы вводим начальную систему(например 3) а потом вводим строку(например 0124), и надо чтобы мне комп ругнулся на 4, типа недопустимый символ! вот что-то ступор какой-то....
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <iostream>
  4. #include <math.h>
  5. using namespace std;
  6. char mass[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'};
  7. void convert_into_anySystem(int x, int sys1);
  8. int convert_into_ten(char x[50], int sys);
  9. int main()
  10. {
  11. setlocale (LC_ALL,"rus");
  12. char c;
  13. char x[50];
  14. int sys, sys1;
  15. do{
  16. system("cls");
  17. printf("введите начальную систему счисления: ");
  18. scanf("%d", &sys);
  19. printf("\n");
  20. printf("введите: ");
  21. scanf("%s", &x);
  22. printf("\n");
  23. printf("введите систему, в которую требуется перевести : ");
  24. scanf("%d", &sys1);
  25. printf("\n");
  26. convert_into_anySystem(convert_into_ten(x, sys), sys1);
  27. printf("Для повтора нажмите пробел, для выхода любую клавишу.");
  28. } while( ( c = getch() ) == ' ' );
  29. getch();
  30. }
  31. int convert_into_ten(char x[50], int sys)
  32. {
  33. int i=strlen(x), sum=0;
  34. for(int p=0; p<i; p++)
  35. {
  36. if (x[p]>=58)
  37. x[p]-=7;
  38. sum+=((x[p]-48)*pow((double)sys,(i-p-1)));
  39. }
  40. return sum;
  41. }
  42. void convert_into_anySystem(int x, int sys1)
  43. {
  44. int tmp=x, ost, a=0;
  45. char ch[500];
  46. while(tmp>=sys1)
  47. {
  48. tmp=x/sys1;
  49. ost=x%sys1;
  50. ch[a]=mass[ost];
  51. x=tmp;
  52. a++;
  53. }
  54. ch[a]=mass[tmp];
  55. printf("в %d системе = ", sys1);
  56. for(int i=a; i>=0; i--)
  57. cout<<ch[i];
  58. cout<<endl;
  59. }

Решение задачи: «Проверка корректности ввода»

textual
Листинг программы
  1. find_first_not_of("0123");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы