Сделать в switch проверку на цифры\буквы и другие символы - C (СИ)

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

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

Всем привет, не понимаю как сделать в свиче проверку на цифры\буквы и другие символы.
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
#define MIN -10000
#define MAX  10000
 
main()
{
    int key,a,b,c;
    float d,x,x1,x2,SqrtD;
    //int con_min = -10000,con_max = 10000;
    do
    {   
        system("cls");
        printf("ax^2 + bx + c = 0");
        
        switch(a)
        {
         case a >= MIN && a <= MAX :  
            printf("\nEnter a: ");
            scanf("%f",&a);
            break;
 
         default:
            printf("error. incorrect char");
            break;  
        }
        
       switch(b)
        {
       case b >= MIN && b <= MAX :  
            printf("\nEnter b: ");
            scanf("%f",&b);
            break;
            
         default:
            printf("error. incorrect char");
            break; 
        }
        
        switch(c)
        {
         case c >= MIN && c <= MAX :  
            printf("\nEnter c: ");
            scanf("%f",&c);
            break;
 
         default:
            printf("error. incorrect char");
            break; 
        }
        d = (b * b)- 4 * a * c;
        printf("\n%.1f\n\n",d);
    
         if (d<0)
         {
            printf("D<0. No sqrts\n");
         }
    
         if (d==0)
         {
           x = (-b / 2 * a);
           printf("D=0. 1 sqrt : %.1f\n",x);
         }
     
        if (d>0)
         {
          SqrtD = sqrt(d);
          x1 = ((-b + SqrtD) / (2 * a));
          x2 = ((-b - SqrtD) / (2 * a));
          
          printf("D>0. 2 sqrts:\n");
          printf("x1 = %.1f\n",x1);
          printf("x2 = %.1f\n",x2);
         }
        
    printf("Enter Esc to exit\nSpace to continue\n");   
    key = _getch(); 
    printf("Your enter a %c\n",key);  
    }
      while (key != 27);
}
можно ли поставить проверку на тип? просто прописывать все цифры тоже не вариант...

Решение задачи: «Сделать в switch проверку на цифры\буквы и другие символы»

textual
Листинг программы
#include <iostream>
#include <cstdlib>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int i, sLen;
    char str[1024];
    do
    {
        std::cout<<"\tEnter input string(less than 1024 chars)\r\n";
        std::cin.getline(str,1024);
        sLen = strlen(str);
        //Char analizing
        for(i = 0; i < sLen; i++)
        {
            std::cout<<str[i]<<" : ";
            if(isdigit(str[i]))
                std::cout<<"is digit\r\n";
            if(isalpha(str[i]))
                std::cout<<"is alpha\r\n";
            if(isspace(str[i]))
                std::cout<<"is space\r\n";
            if(ispunct(str[i]))
                std::cout<<"is punkt\r\n";
        }
 
        std::cout<<"Press Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}

Объяснение кода листинга программы

  1. Вводится строка, длина которой не превышает 1024 символа.
  2. Происходит анализ каждого символа введенной строки.
  3. Выводится информация о типе каждого символа: цифра, буква, пробел или специальный символ.
  4. Программа продолжается до тех пор, пока пользователь не введет строку Y для нового ввода.

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


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

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

15   голосов , оценка 3.867 из 5
Похожие ответы