Răspuns :
#include <iostream>
using namespace std;
int main(){
char c;
cout<<"Introduceti o cifra, o litera, sau un caracter special."<<endl;
cin>>c;
int a = 1;
switch(a){
case 1: if(c >= 'a' && c<='z'){
cout<<"Caracterul introdus este o litera mica.";
break;}
else{
a = a+1;
}
case 2: if(c >= 'A' && c<='Z'){
cout<<"Caracterul introdus este o litera mare.";
break;
}
else{
a = a + 1;}
case 3: if(c >= '0' && c<='9'){
cout<<"Caracterul introdus este o cifra.";
break;
}
else{
a = a + 1;
}
case 4:
cout<<"Caracterul introdus este un caracter special.";
break;
}
}
E testat si merge. In ASCII caracterele sunt puse intr-o ordine, gen literele mici sunt de la a la z una dupa alta, literele mari de la A la Z, etc de aceea am folosit acele conditii in if-urile de mai sus. Daca scrii un ascii table pe google imagini o sa gasesti si o sa vezi. Case-ul merge destul de simplu, ai o variabila a, care initial e 1, Deci va lua prima optiune(va verifica daca caracterul e o litera mare) si in cazul in care e adevarat instructiunea "break" va face ca programul sa se opreasca acolo si sa scrie rezultatul, in caz contrar programul va incrementa a (a = a + 1) si va merge la cazul urmator (case 2). Daca niciuna din primele 3 conditii nu este indeplinita (litera mica, litera mare, cifra) atunci este evident ca ce am introdus de la tastatura este un caracter special, se va scrie rezultatul si se iese din switch.
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Pe curând și nu uitați să ne adăugați la favorite!