Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81

    [C] problema scanf carattere

    Ciao ragazzi..stavo facendo un programma banalissimo in cui l'utente deve specificare il valore di due numeri e l'operazione da fare.UNa volta scelta l'operazione (es.somma) se ne visualizzi la somma (in questo caso..)

    codice:
    #include <stdio.h>
    
    main()
    {
        char z;
        float x,y;
        
        printf("Inserire un numero: ");
        scanf("%f", &x);
        printf("Inserire un altro numero: ");
        scanf("%f", &y);
        printf("Specificare l'operazione da fare (+, -, *, /): ");
        scanf("%c", &z);
        
            switch(z){
            case '+':
                printf("La somma e': %f", x+y);
                break;
            case '-':
                printf("La differenza e': %f", x-y);
                break;
            case '*':
                printf("Il prodotto e': %f", x*y);
                break;
            case '/':
                printf("La divisione e': %f", x/y);
                break;
            }
    }
    A me sembra corretto però non mi fa digitare il carattere...come se scanf %c non fungesse..
    Cosa può essere?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Dopo ogni scanf inserisci

    fflush(stdin);

    per svuotare il buffer ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    In effetti così funziona!
    Però sapresti spiegarmi cos'è che accadeva prima???

    Edit: avevo anche provato con %s e con questo fungeva?Perchè?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Te l'ho gia' accennato ... e' per fare modo che il tasto Invio memorizzato nel buffer non influenzi i prossimi input ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    Edit: avevo anche provato con %s e con questo fungeva?Perchè?
    Avevi risposto prima che io editassi..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.