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

    [c++] URGENTE mi serve aiuto con un'esercizietto

    il professore di informatica ci ha dato un esercizio facile facile, almeno a guardarsi, ma andandolo e risolvere non ne son stato capace... La consegna è: Inserire N numeri interi; visualizzare la quantità di quelli pari e la loro somma.
    Ho scritto questo:

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int somma = 0;
        int cont = 0;
        int num = 0;
        char risp;
        
        for (risp == 'S')
        {
        printf("Inserire un numero: ");
        scanf("%d", &num);
                    if (num % 2 == 0) {
                     cont = cont + 1;
                     somma = somma + num; }
                     }
        printf("Vuoi inserire un altro numero? S/N");
        scanf("%c", &risp);
                    if (risp == 'N')
                    { printf("Hai inserito %d numeri interi pari e la loro somma e' %d", cont, somma); }
    }
        getchar(); getchar();
        
        
        return 0;
        
    }
    e non va... aiuti?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462


    Non c'e' nulla di urgente in questo forum ...

    Comunque, correggi questa linea

    for (risp == 'S')

    perche' non ha senso ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    lo so anch'io che quella riga non va bene
    il problema è che non so come modificarla
    cosa dovrei mettere al potso di quelle istruzioni per il ciclo? il resto è corretto? Ciao e grazie per la risposta

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Come fai a saperlo senza neanche cercare di capire il perche'?

    Non vedo come tu possa avere scritto quel codice senza sapere cosa scrivere al posto della for ...

    Cosa dovresti fare con quella linea? Se ti serve un "ciclo controllato" dal contenuto della variabile risp (che, fra l'altro, devi inizializzare), quale "istruzione" dovresti usare al posto della for?

    P.S. Io non correggo i compiti per casa ... niente pappa pronta ... tento solo di ragionare e trovare insieme la soluzione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105
    (Colgo l'occasione per salutare Oregon...son l'utente del database non so se ricordi...ci sto lavorando)
    Comunque:
    Ottimo Oregon,
    ben detto!!
    Kingfelix io ti do un suggerimento dovresti essere tu a saperlo utilizzare...
    (continuo quello di oregon)per avere un ciclo controllato potresti inserire un while...oppure un do-while???(Inserirlo nella maniera piu' opportuna, dato che le studi queste cose non dovrebbe esserti difficile intuirne la posizione...)
    Spero di esserti stato d'aiuto..
    Alla prossima...

    Saluti Satore11

  6. #6
    questa mattina a scuola abbiamo fatto proprio do e while e mi son sembrati molto di più facili del ciclo for, forse sarà un'impressione... mah...
    grazie comqune! ciao!

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non è che siano più facili o più difficili... è che sono cose diverse, con scopi e significati diversi.

    Tradotto in Italiano, mi sembra che sia semplice capire tutti i concetti:

    WHILE (condizione) istruzione;
    Mentre la condizione è vera (si mantiene vera) esegui l'istruzione. Se la condizione è subito falsa non verrà eseguito niente.

    FOR (init; test; incr) istruzione;
    Esegui l'inizializzazione e, finchè il test è verificato esegui istruzione e effettua l'incremento.
    (la forma classica for(var=inizio; var < fine; var++) significa, nientemeno, che per tutti i valori da inizio a fine esegui l'istruzione).

    DO istruzione WHILE( test )
    Esegui istruzione finchè il test non diventa falso. Dato che il test è messo alla fine, almeno una volta verrà eseguita istruzione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.