Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730

    [C] problema scanf ....

    Ciao a tutti....
    ho fatto un programmino stupidissimo d una calcolatrice in C...
    quello degli esempi in pratica...ma ho un problema....
    quando cerco di inserire l'operatore (+,-,*,/)..mi passa avanti..nn mi fa inserire l'operatore.....definito come char ecco le righe:


    codice:
    float op1, op2;
    char o;
    
    printf("Inserisci il primo numero:\n");
    scanf("%f",&op1);
    printf("\nInserisci operatore:\n");
    scanf("%c",&o); 
    printf("Inserisci il secondo numero:\n");
    scanf("%f",&op2);
    c'è qualche sintassi particolare, qualcosa ???
    dove sbaglio...pensavo fosse elementare.....

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    E' il classico problema del buffer di input che si presenta con la scanf (probabilmente, se fai una ricerca, ci sono tanti post che riportano lo stesso problema).

    Puoi rimediare usando la

    fflush(stdin);

    dopo ogni scanf se usi il compilatore di Microsoft, oppure, in ogni caso, puoi scrivere

    while (getchar( ) != '\n');

    sempre dopo ogni scanf.

    Ambedue le soluzioni puliscono il buffer di input.

  3. #3
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    ho capito,
    ti ringrazio della dritta!!

    ciao!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.