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:
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..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; }
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![]()

Rispondi quotando

