Сделать в 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;
}
Объяснение кода листинга программы
- Вводится строка, длина которой не превышает 1024 символа.
- Происходит анализ каждого символа введенной строки.
- Выводится информация о типе каждого символа: цифра, буква, пробел или специальный символ.
- Программа продолжается до тех пор, пока пользователь не введет строку
Yдля нового ввода.