[scienze.unimo] Re: Problema C

  • From: "Roberto Cavicchioli" <trebor86it@xxxxxxxx>
  • To: <scienze.unimo@xxxxxxxxxxxxx>
  • Date: Sat, 23 Dec 2006 19:32:10 +0100

Piuttosto che usare la scanf darebbe molto più auspicabile la getch..
Comunque direi che il resto del programma è scritto benino.
Da quanto capisco devi inserire un carattere e poi battere invio.
La scanf a volte prende il caratere inserito + i 2 caratteri \13 \10 e passa 
quello sbagliato..
Ritenta, sarai più fortunato!

SALUUUUUTOOOO

3br.Fir3<l@ws  (nick completo per la mia controparte compilativa...   ;-)  )
  ----- Original Message ----- 
  From: Emanuele Bardelli 
  To: scienze.unimo@xxxxxxxxxxxxx 
  Sent: Saturday, December 23, 2006 7:07 PM
  Subject: [scienze.unimo] Problema C


  Ciao a tutti,
  prima di tutto, Buone Feste a tutti.
  Detto questo, avrei un piccolo problema con un programmino in C. Non mi 
ricordo molto bene come funziona l'input, e il programma sotto non legge bene i 
caratteri. In poche parole, salta dei caratteri mentre li inserisco.
  Il programma è per un mio amico, e possiamo usare solo le istruzioni sotto 
(niente puntatori, liste, stringhe, ecc). La funzione del programma è mettere 
in maiuscolo le lettere inserite.
  Grazie a tutti per l'interessamento,
  Buone Feste,
  Emanuele


  #include <stdio.h>
  #include <conio.h>
  int main()
  { int N,i;
    int V[200];
    printf ("quanti caratteri vuoi inserire?\t");
    scanf ("%d",&N);
    for (i=0;i<N;i++)
    { printf("inserisci un carattere\t");
  scanf ("%c",&V[i]);
    }
    i=0;
    while (i<N)
    { if (V[i]<='z' && V[i]>='a') V[i]=V[i]-('a'-'A');
  i++;
    }
    i=0;
    do
    { printf ("%c\t",V[i]);
  i++;
    }
    while (i<N);
    getch ();
  }


  -- 
  "Non hai veramente capito qualcosa finché non sei in grado di spiegarlo a tua 
nonna."
  Albert Einstein



Other related posts: