C| Programma con casting

di il
7 risposte

C| Programma con casting

Buonasera, sto facendo degli esercizi e non capisco dove vada utilizzato il casting nel seguente:

Realizzare un programma che inserito un carattere verifica se è minuscolo o maiuscolo e lo
converta di conseguenza. (CASTING)

Ho già fatto il programma, ma non capisco dove vada usato , di seguito riporto il codice;
int main() {
	char c;
	do{
		printf("Inserire un carattere: ");	
		scanf("%c", &c);
		if(c >= 65 || c <= 90){
			c = c + 32;
			printf("il carattere e' in maiuscolo\nIl minuscolo e': %c", c);
		}else{
			c = c + 32;
			printf("Il carattere e' in minuscolo\nIl maiuscolo e': %c", c);
		}
	}while(c < 65 || c > 90 && c < 97 || c > 122);
	return 0;
}

7 Risposte

  • Re: C| Programma con casting

    Scusate mi sono appena accorto che con le lettere minuscole non funziona, nonostante abbia cambiato l'assegnazione nel secondo else.
  • Re: C| Programma con casting

    Intanto non è casting ma conversione di maiuscole/minuscole.

    In secondo luogo, la if

    if(c >= 65 || c <= 90){

    secondo te quali valori seleziona?

    E poi, sia nella if che nella else esegui comunque

    c = c +32;

    ti sembra che abbia senso?
  • Re: C| Programma con casting

    Grazie mi confondo sempre con and e or, ho sistemato anche c = c + 32 e ora il programma funziona correttamente; comunque nell'esercizio assegnato è specificato che si deve usare il casting e proprio non capisco dove, anche perché il programma non ne necessita. (?)
  • Re: C| Programma con casting

    Casting: da un TIPO ad un' ALTRO. Ad esempio char - int - char
    Conversione: da un VALORE ad un'ALTRO. E' possibile che i due VALORI (DIVERSI) siano di TIPO diverso.
  • Re: C| Programma con casting

    Capito, grazie mille e buona serata
  • Re: C| Programma con casting

    Comunque consiglio per rendere più leggibile il codice: anche se è ammirevole che qualcuno si ricordi la codifica ascii, penso sia preferibile usare i corrispondenti caratteri ('a' vale esattamente come il valore ascii del carattere a, ma è più chiaro per chi non si ricorda tale valore)
  • Re: C| Programma con casting

    Grazie del consiglio, lo terrò a mente
Devi accedere o registrarti per scrivere nel forum
7 risposte