Salve a tutti mi sto da poco inserendo a programmare col linguaggio C.
Adesso mi stavo esercitando facendo un programma che convertisse una lettera minuscola in una lettera maiuscola utilizzando a scelta i due rispettivi metodi: 1) tramite la funzione toupper() e 2) tramite un calcolo dei valori ASCII:
Inizialmente avevo scritto una cosa simile:
codice:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int scelta;
char min;
char max;
int scelta2;
printf("Benvenuto!\n questo programma effettua il cambio da maiuscolo a miniscolo");
printf("Puoi scegliere se utilizzare la funzione toupper o utilizzare un calcolo ASCII");
printf("Digita 0 per la funzione toupper o 1 per la funzione ASCII, digita qualsiasi altra lettera per uscire dal programma");
scanf("%d",&scelta);
while(scelta==0 || scelta==1){
printf("Inserisci la lettera minuscola\n");
scanf("%c",&min);
if(scelta==0){
printf("funzione toupper\n");
max=toupper(min);
printf("Il maiuscolo e'\n%c ",max);
}
else{
max=min+'A'-'a';
printf("Il maiuscolo e'\n%c ",max);
}
scanf("%d",&scelta);
}
system("PAUSE");
return 0;
}
Poi però mi sono accorto che mi saltava totalmente lo SCANF interno al while per la lettera minuscola...non so per quale motivo...e quindi sono stato costretto a mettere lo scanf della lettera minuscola esternamente al ciclo while..
adesso non che mi interessi...però voglio sapere perchè internamente al ciclo while lo scanf non mi funziona...esternamente sì..
spero che possiate essermi di aiuto e soprattutto che sono stato chiaro!
grazie in anticipo