Program sumujący wiersze z plików txt

Odpowiedz Nowy wątek
2016-02-26 00:39

Rejestracja: 4 lata temu

Ostatnio: 4 lata temu

0

Witam,
Jestem początkującym programistą i mam problem ponieważ, muszę napisać program który pobiera liczby z wiersza pliku1.txt i liczbę z wiersza pliku2.txt, i sumuje obie liczby.
Gdy wiersz jest pusty brać jako zero, lub gdy któryś plik się skończy, a drugi jeszcze nie to również ma tak być. Program konczy sumowanie gdy dojdzie do EOF w obu plikach.
próbowałem zrobić to fscanf'em i w tablicach program działa połowicznie udało mi się sumować itd, ale nie wiem jak zrobić by gdy wiersz bedzie pusty brało jako zero lub gdy któryś plik się skonczy. Czytałem coś w sieci, że można wykorzystać argc i argv ale nie rozumiem tego i nie wiem jak sobie z tym poradzić... bardzo proszę o pomoc :)

Pozostało 580 znaków

2016-02-26 01:01

Rejestracja: 14 lat temu

Ostatnio: 1 minuta temu

0

Wyzeruj liczbę przed scanf()


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2016-02-28 14:47

Rejestracja: 4 lata temu

Ostatnio: 4 lata temu

0

próbuję i nic z tego ;/, Czy ktoś mógłby napisać mi ten program ?

Pozostało 580 znaków

2016-02-28 14:52
Moderator

Rejestracja: 12 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

2

100zł (przelew lub paysafecard) dziś wieczór, pisz na PW.


Pozostało 580 znaków

2016-02-28 15:44

Rejestracja: 6 lat temu

Ostatnio: 2 miesiące temu

Lokalizacja: Warszawa

2

jeśli nie jesteś w stanie tego napisać, to albo komuś zapłacisz albo przeczytasz jakiś poradnik do fstreama...


Programuje i programuje ,przychodzi człowiek "o niższej inteligencji" i rok pracy zmarnowany

Pozostało 580 znaków

2016-02-29 01:12

Rejestracja: 4 lata temu

Ostatnio: 4 lata temu

0

Program piszę w ramach ćwiczeń na plikach.. nie będę płacił, liczyłem na pomoc w celu porównania jakby ktoś to napisał i do przeanalizowania kodu . Pracowałem nad programem dziś i wszystko jest dobrze oprócz tego, że gdy wiersz jest pusty pomija go i "szuka " następnej liczby w celu pobrania. Wykorzystuję fscanf i pobieram jako int czy to dobra droga do stworzenia tego programu ? Proszę o podpowiedzi jak mogę rozwiązać ten problem.
ps. UP. program pisze w C, a nie w C++.

Pozostało 580 znaków

2016-02-29 07:38
Moderator

Rejestracja: 12 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

0

Wrzuć kod ;p


Pozostało 580 znaków

2016-02-29 08:19

Rejestracja: 14 lat temu

Ostatnio: 1 minuta temu

0

Pokaż: kod, dane wejściowe oraz dokładniej co oczekujesz.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2016-02-29 09:47

Rejestracja: 12 lat temu

Ostatnio: 10 minut temu

0

double ReadNext(FILE *file, double def = 0.0)
{
      double x = def;
      fscanf(file, "%lf%*[^\n] ", &x);
      return x;
}

</del>


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 4x, ostatnio: MarekR22, 2016-02-29 17:46

Pozostało 580 znaków

2016-02-29 14:36

Rejestracja: 4 lata temu

Ostatnio: 4 lata temu

0
 #include <stdio.h>
 #include <stdlib.h>
 #include <windows.h>
int main()
{

FILE *file1;
FILE *file2;
char plik1[30];
char plik2[30];
int suma=0,a=0,b=0,flaga=0;
printf("Podaj nazwy plikow :np. nazwa.txt\n\n");
    gets(plik1);
    gets(plik2);

if ((file1=fopen(plik1, "r"))==NULL) {
    printf ("Nie moge otworzyc pliku %s do odczytu!\n",plik1);
        exit(1);
        }

if ((file2=fopen(plik2, "r"))==NULL) {
    printf ("Nie moge otworzyc pliku %s do odczytu!\n",plik2);
        exit(1);
        }
while(flaga!=1){

if(!feof(file1))
 {
    fscanf(file1,"%d",&a);
    printf("%d. ",a);
    suma+=a;}
    else {printf("0. ");
     suma+=0;};

if(!feof(file2))
 {
    fscanf(file2,"%d",&b);
    printf("%d. ",b);
    suma+=b;}
    else {printf("0. ");
     suma+=0;};
sleep(1);
printf("%d \n",suma);
suma=0;

if(feof(file1)&&feof(file2)) flaga=1;
}

fclose(file2);  
fclose(file1);

    return 0;
} 

plik1:

1
1
2
2

1
4
1
8

plik2:

0
1
1
2

4

5
7

Program ma sumować wiersze. gdy wiersz jest pusty powinen brać go jako zero. Jak jeden z plików się skończy ma dodawać również zero.

Pozostało 580 znaków

2016-02-29 14:59

Rejestracja: 14 lat temu

Ostatnio: 1 minuta temu

1

http://ideone.com/IBrSaz

#include <stdio.h>

int main(void) 
{
    int i,x;
    char row[16];
    for(i=0;i<7;++i)
      {
       *row=0;
       fscanf(stdin,"%15[^\n]s",&row);
       fgetc(stdin);
       x=0;
       sscanf(row,"%d",&x);
       printf("%d\n",x);
      }
    return 0;
}

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz

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