obsługa liczb w pliku, wczytywanie konkretnych wierszy

0

Witam. Musze zrobic program który wczytuje z pliku txt po dwie liczby wiersza i następnie je sumuje. Wierszy Może być dowolnie dużo.

Przykład wejscia:
1234 34
124 1
12 4

Wyjscie
1268
125
16

Mam takie cudo, ale liczy trochę za dużo.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE* fp = fopen("plik.txt", "r");
    int suma = 0, zm, i;

    if (!fp)
    {
        fputs("Nie można otworzyć pliku\n", stderr);
        return EXIT_FAILURE;
    }

    while (fscanf(fp, "%d", &zm) == 1)
    {


        for (i = 0; i <= 1; i++)
        {
            suma += zm;
        }
        printf("Suma wynosi %d\n", suma);
    }
    fclose(fp);

    printf("Suma wynosi %d\n", suma);

    return EXIT_SUCCESS;
}
 

(To tylko w malej częsci moj kod)

Koniecznie musi to byc c, nie c++(tam poradziłbym sobie >>, a tu nie wiem co). W ogóle musze ogarnąć obsługę plików na perfect w j. c. Macie jakies materiały do polecenia?
Dzięki z góry.

4
#include <stdio.h>
#include <stdlib.h>
 
int main()
  {
   int a,b;
   FILE *fp=fopen("plik.txt","r");
   while(fscanf(fp,"%d%d",&a,&b)==2) printf("%d\n",a+b);
   fclose(fp);
   return 0;
  }
4

Liczy za dużo, bo sumujesz wszystko, a nie 2 kolejne wyrazy.

0

Dzięki bardzo. To takie proste, ale wez to wymysl ;). Macie jakies materiały dotyczące obsługi plików w c, które moglibyście polecić?

1
lamaczyk napisał(a):

Macie jakies materiały dotyczące obsługi plików w c, które moglibyście polecić?
Dokumentacja.

  1. Odkładasz na stos hasło fopen
  2. Pobierasz ze stosu hasło
  3. Znajdujesz to hasło w dokumentacji
  4. Czytasz uważnie
  5. Oglądasz przykład
  6. Odkładasz na stos wszystkie hasła z akapitu "Patrz także" oraz ciekawe hasła z przykłądu
  7. Przechodzisz do pkt 2.

1 użytkowników online, w tym zalogowanych: 0, gości: 1