Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
acerik97
Člen
Avatar
acerik97:14.1.2015 19:40

Ahoj
Potřeboval bych nějak poradit s jedním programem.Tento program má za úkol přečíst z texťáku čísla(každý řádek obsahuje 7 čísel) dokud nebude konec souboru.Na konci každého řádku má vypsat aritmetický průměr čísel daného řádku.Nevíte prosím jak bych to mohl vyřešit?

#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * soubor;
int a,b,c,d,e,f,g­,soucet = 0;
float prumer;

soubor = fopen("text.txt","r");

if(soubor==NULL)
{
printf("Otevreni se nepodariloZN :");
printf("Chyba souboru %s na radce %i\n",__FILE__, __LINE__);
perror(NULL);
system("PAUSE");
return 1;
}
while(!(feof(sou­bor)))
{
fscanf(soubor,"%d;%d;%­d;%d;%d;%d;%d",&a,&b,&c,­&d,&e,&f,&g);
if(soubor == '\n')
{
soucet = soucet + a + b + c + d + e + f+ g;
prumer = soucet/7;
}
printf("\nByla nactena cisla %d, %d, %d, %d, %d, %d, %d, prumer: %d",a,b,c,d,e­,f,g,prumer);
}

fclose(soubor);
printf("\nProgram skoncil");
system("PAUSE");
return 0;

}

 
Odpovědět
14.1.2015 19:40
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na acerik97
Lukáš Hruda:14.1.2015 20:45

Vkládej kód pomocí funkce pro vložení kódu.
Napiš co nefunguje.

 
Nahoru Odpovědět
14.1.2015 20:45
Avatar
Odpovídá na acerik97
Libor Šimo (libcosenior):15.1.2015 9:17
#include <stdio.h>
#define TRUE 1

int main(void)
{
    FILE *fr;
    int vysledok = 0, i = 0, c;

    if ((fr = fopen("test.txt", "r")) == NULL)
        printf("Subor test.txt sa nepodarilo otvorit.\n");
    while ((fscanf(fr, "%d", &c)) == TRUE) {
        printf ("%3d + ", c);
        vysledok += c;
        i++;
        if (!(i % 7)) {
            printf("\b\b= %d priemer = %.2f\n", vysledok, vysledok / 7.0);
            vysledok = 0;
        }
    }
    if (fclose(fr) == EOF)
        printf("Subor sa nepodarilo zavriet.\n");

    return 0;
}
Editováno 15.1.2015 9:17
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
15.1.2015 9:17
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.