Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++] Ciclo for

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    2

    [C++] Ciclo for

    Salve, e' da qualche ora che mi sono inceppato in un problema su c++, con l'utilizzo del cilo for.
    Il mio intento era quello di creare un semplice programma che mi avrebbe permesso di indovinare un numero inizializzato, in "t" tentativi, a quanto pare non c'e' alcun errore sintattico poiche' il programma viene compilato senza problemi; una volta eseguito, pero', dopo aver inserito in input i tentativi ("t") il programma si blocca dando il seguente errore: "Si e' verificato un errore. L'applicazione verra' chiusa. Potrebbe essersi verificata la perdita dei dati su cui si sta lavorando...ecc...ecc...Invia segnalazione errori\Non inviare.
    Come detto in precedenza si tratta di un programma molto semplice, ma nonostante cio' non riesco ad individuare il problema

    codice:
    #include <iostream>
    #define C 3 \\ Inizializzo il numero da trovare
    
    
    int n, t, f;
    int main (void)
    {
        printf("Di quanti tentativi vuoi usufruire?");
        scanf("%d\n", t); \\ Inserisce in quanti tentativi vuole cercare di indovinare il numero
        for(int i = 0; i<t; i=i+1)
        {printf("Inserisci il numero vincente");
        scanf("%d", n);
        if (n==C)
        f = t-i;
        printf("Hai indovinato in tentativi %d", f);
        system("pause");
    }
    }

    P.S uso Dev-C++ 4.9.9.2
    Ultima modifica di LeleFT; 25-03-2014 a 09:46 Motivo: Aggiunti i tag CODE

  2. #2
    Ciao
    alla scanf() devi passare l'indirizzo della variabile
    quindi
    codice:
    scanf("%d", &t);
    il line comment inizia con due slash //, non con due backslash \\ che sono diversi.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Hai incluso iostream (C++) ma stai usando printf e scanf (C, che richiedono l'inclusione di stdio.h)

    n, t e f; non hanno senso di essere globali, le puoi dichiarare direttamente nel main.
    Potresti usare dei nomi migliori. Ad esempio, tentativiTotali al posto di t.

    Perché calcoli in quel modo il numero di tentativi con cui l'utente ha vinto? Lo hai già quel numero, è i + 1.

    Al posto di i = i + 1 puoi abbreviare con i++

    Indenta correttamente e usa le parentesi grafe: la stringa "Hai indovinato in tentativi %d" viene stampata sempre (e tra l'altro è meglio scriverla come "Hai indovinato in %d tentativo/i"

    Il commento \\ non esiste, è // (e non so come faccia a compilare...) ed è valido solo in C++. In C esiste solo /* commento */
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    2
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Hai incluso iostream (C++) ma stai usando printf e scanf (C, che richiedono l'inclusione di stdio.h)

    n, t e f; non hanno senso di essere globali, le puoi dichiarare direttamente nel main.
    Potresti usare dei nomi migliori. Ad esempio, tentativiTotali al posto di t.

    Perché calcoli in quel modo il numero di tentativi con cui l'utente ha vinto? Lo hai già quel numero, è i + 1.

    Al posto di i = i + 1 puoi abbreviare con i++

    Indenta correttamente e usa le parentesi grafe: la stringa "Hai indovinato in tentativi %d" viene stampata sempre (e tra l'altro è meglio scriverla come "Hai indovinato in %d tentativo/i"

    Il commento \\ non esiste, è // (e non so come faccia a compilare...) ed è valido solo in C++. In C esiste solo /* commento */
    Per quanto riguarda i commenti ho fatto la domanda dal portatile e il tasto dello slash e' rotto, nel programma, compilato dal fisso, ho usato gli slash, come anche in altri programmini funzionanti realizzati precedentemente; nel libro che sto seguendo come guida viene usato usato #include <iostream> e poi prosegue con printf, scanf e cosi via..Per quanto riguarda invece le graffe, sono sicuro di non averle messe correttamente, sono alle prime armi e non ho capito perfettamnte il meccanismo, soprattuto nel for.

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