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

    [C] Problema su redirezione da File

    Ciao ragazzi, ho un problema..
    Devo fare un esercizio riguardante la redirezione da File..
    Praticamente il mio programma deve prendere dei numeri da un file e assegnarli a delle variabili, le quali poi daranno diversi risultati.. Mi spiegate quale errore compio in questo codice?

    codice:
    #include<stdio.h>
    
    int main(int argc, char *argv[])
    {
    FILE *ifp;
    int i;
    double x;
    double avg=0.0;
    double navg;
    double sum=0.0;
    
    ifp=fopen(argv[1],"r");
    
    printf("%5s%17s%17s%17s\n%5s%17s%17s%17s\n\n",
    	"Count","Item","Average", "Naive avg",
    	"-----","----","-------","---------");
    for(i=1;(x=getc(ifp))==1;++i) {
    	avg+=(x-avg)/i;
    	sum+=x;
    	navg=sum/i;
    	printf("%5d%17e%17e%17e\n",i,x,avg,navg);
    	}
    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    ************
    ciao,prima bisogna considerare come è costituito il file !
    hai detto che contiene numeri , io userei la fscanf() , la getc restituisce un intero ma è il
    codice ascii del carattere "anche se si tratta di un numero", al posto del for potresti usare
    un while(!feof(file)) .



    codice:
    int main(int argc, char *argv[])
    {
    FILE *ifp;
    int i;
    double x;
    double avg=0.0;
    double navg;
    double sum=0.0;
    
    ifp=fopen(argv[1],"r");
    
    printf("%s%s%s%s\n%s%s%s%s\n\n",
    	"Count","Item","Average", "Naive avg",
    	"-----","----","-------","---------");
    while(!feof(ifp)) {
                fscanf(ifp,"%f",&x);
    	avg+=(x-avg)/i;
    	sum+=x;
    	navg=sum/i;
    	printf("%d%e%e%e\n",i,x,avg,navg);
                 if( feof(ifp) )
                             break;
    
    	}
    return 0;
    }
    Tecnologia

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.