Somma di elementi programma in C

di il
10 risposte

Somma di elementi programma in C

Buonasera, chi sa scrivermi una funzione che stampa a video il saldo attuale, ovvero corrispondente all’ultima data salvata nel file?

il file è di tipo txt ed è di questo genere:

12345 2000.00
01/01 1200.00 +
20/01 100.50 -
05/02 523.10 +
10/02 3000.00 -
14/02 1430.23 -
20/03 1555.55 +
01/04 56.00 +

10 Risposte

  • Re: Somma di elementi programma in C

    Con questa richiesta stai violando il regolamento del forum. E comunque nel thread precedente hai già tutti gli elementi per fare questo calcolo.
  • Re: Somma di elementi programma in C

    Tutti meno uno
  • Re: Somma di elementi programma in C

    daniimpa ha scritto:


    ... chi sa scrivermi ...
    Io penso di sì...
  • Re: Somma di elementi programma in C

    oregon ha scritto:


    daniimpa ha scritto:


    ... chi sa scrivermi ...
    Io penso di sì...
    CIAO OREGON COME PENSI CHE SI FACCIA??
  • Re: Somma di elementi programma in C

    Leggi e rispetta il regolamento. Non si richiede codice pronto. Non si scrive in maiuscolo. E non si scrive in privato se l'utente non vuole.
  • Re: Somma di elementi programma in C

    Per stampare il saldo finale il printf va messo dopo il ciclo while o dopo if?
  • Re: Somma di elementi programma in C

    Con un po' di "schermature" per non infrangere il mitico regolamento, ecco come farei io.
    #include <stdio.h>
    
    void DataLimite( FILE *fp, float limite ) {
        if( /*verifica parametri*/ ) {
            float saldo, movimento;
            char buff[16];
            int g, m;
    
            // qui leggi il saldo dal file, come hai gia' fatto
    
            while( /*rilevi i dati a gruppi, riga per riga*/ ) {
                // quando si dice la sintesi :) confronta il saldo col limite
                if( (saldo+=('+'==*buff?1:-1)*movimento)<limite ) {
                    printf( /*mostra la data e il tetto dello "sforamento"*/ );
                    return; // fatto! torna a casa Lessie
                }
            }
    
            // se siamo arrivati fin qui, vuol dire che non c'e' stato sforamento
            printf( /*segnala che non c'e' stato sforamento*/ );
        } else puts( /*messaggio d'errore*/ );
    }
    
    int main() {
        float limite = 0.0f;
        FILE *fp;
    
        while( limite>=0.0f ) {
            printf( "Valore limite (negativo): " );
            scanf( "%g", &limite );
        }
    
        if( /*apre il file in fp e verifica l'esito*/ ) {
            DataLimite( fp, limite );
            fclose( fp );
        } else puts( /*messaggio d'errore*/ );
    
        return 0;
    }
    
  • Re: Somma di elementi programma in C

    Il 'mitico' regolamento è anche una questione di 'educazione civica'. Mi dispiace che si sbeffeggino le regole per di più da parte di un insegnante.
  • Re: Somma di elementi programma in C

    Non riesco a capire perché nella compilazione mi segna come errore la parentesi di apertura dell'ultimo blocco (come segnalato in seguito)
    qualcuno sa darmi una spiegazione o un aiuto??


    #include <stdio.h>
    #include <stdlib.h>
    struct Data
    { int giorno;
    int mese;
    };

    struct Data DataLimite( float limite);

    int main()
    {
    FILE *fp;
    float saldo, movimento;
    char segno;
    struct Data dat;

    fp = fopen("movimenti.txt","r");
    fscanf(fp,"%*s%g", &saldo);
    while (fscanf(fp,"%d%*c%d%f%*c%c",&dat.giorno,&dat.mese,&movimento,&segno) != EOF)
    {
    if (segno == '+')
    saldo += movimento;
    else
    {
    saldo -= movimento;

    }

    } fclose(fp);
    printf("il saldo attuale e': %f", saldo);
    return 0;
    }


    { //parentesi che da errore//
    struct Data datal;
    float limite;
    printf("Inserire valore limite (negativo) : ");
    scanf("%g",&limite);
    datal = DataLimite(limite);
    printf("Data limite %d-%d\n",datal.giorno,datal.mese);
    return 0;
    }
  • Re: Somma di elementi programma in C

    Quella parte sembra stare dopo la fine del main.

    Indenta il codice e usa i tag code.
Devi accedere o registrarti per scrivere nel forum
10 risposte