Verificare char cifra C++

Variabila s de tip char memoreaza un caracter.Sa se afiseze mesajul DA daca caracterul memorat este o cifra.
Am incercat asta:

if(s>='0' && s<='9')
cout<<"DA";

Doar ca functioneaza si pentru s=‘11’ (iar 11 nu este cifra) de exemplu.Mentionez ca nu stiu codurile HEX(sau DEC)

Poți să returnezi o eroare dacă se citește mai mult de un caracter …

Nu am voie sa folosesc functii speciale sau alte variabile

Scuze, am gresit cerinta, variabila s este deja citita.E dintr-o problema de bacalaureat Subiectul 2 exercitiul 3.Ideea e sa se afiseze un anumit text daca variabila de tip char memoreaza o cifra

pai afaik nici s=‘11’ nu este char…

1 Like

s='11' nu este char si ar trebui sa ti dea eroare de compilare. In rest, logica ta este buna.

PS: Pune acolade, chiar daca scoala te-au invatat ca nu-i nevoie. Si indenteaza si codul, inclusiv pe foaie. Te va ajuta mult.

1 Like

C este putin diferit :slight_smile:

Ti-as recomanda ssa folosesti un debugger. Ce ai scris este ok

m impresia ca la ‘11’ etse doar o repetare de ‘1’ si ‘1’.

Asta pt ca citeste doar primul caracter din ce ii dai

int main()
{
	char s;
	std::cin >> s;
	if (s >= '0' && s <= '9')
		std::cout << "s este cifra";
	else
		std::cout << "nu este";  
}

https://ascii.cl/


Take it with a pinch of salt ! Nu am mai pus mana pe C de mult

1 Like

Ai dreptate! char memoreaza doar un caracter, daca citesc ‘11’ ia doar ‘1’ care este cifra, de asta afiseaza