Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Programma C che non gira

    Buongiorno a tutti, volevo chiedere a voi che ne saprete sicuramente piu di me di C qualche delucidazione su questo programmino che stavo svolgendo come esercizio

    ################################################## ##########

    #include <stdio.h>

    void quadrato(int a, int b);

    int main()
    {
    int lato;
    int carattere;

    printf("\n\nInserire il valore del lato del nostro quadrato [-1 per terminare]\n>");
    scanf("%d", &lato);

    while(lato != -1)
    {
    printf("\nInserire il carattere che s'intende utilizzare per disegnare il quadrato\n>");
    scanf("%c", &carattere);

    quadrato(lato, carattere);

    printf("\n\nInserire il valore del lato del nostro quadrato [-1 per terminare]\n>");
    scanf("%d", &lato);
    }
    return 0;
    }

    void quadrato(int a, int b)
    {
    int i, j;

    for(i = 1; i <= a; i++)
    {
    for(j = 1; j <= a; j++)
    {
    printf("%c", b);
    }
    printf("\n");
    }
    }

    ################################################## ###############

    ora non so perchč ma il programma dopo avermi stampato la prima printf e avermi chiesto l'immissione del numero intero continua a ciclarmi questa richiesta invece di chiedermi di inserire il dato char, xo tuttavia se io come prima richiesta inserisco l'intero, e come secondo dato sempre sulla richiesta dell'intero gli do un char allora mi stampa quello che deve stampare.....qualcuno di voi sā perchč ?????
    Non capisco perchč mi salti la richiesta char, io non ci vedo nessun errore e nemmeno il compilatore me ne segnala xo non capisco questa cosa.

    Un grazie anticipatamente a tutti

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

    while(!getchar());

    per eliminare l'effetto della bufferizzazione dei tasti della scanf.

    P.S. Dai un'occhiata al regolamento prima di postare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.