[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.07.11
Prihlásený: 09.08.16
Príspevky: 20
Témy: 6 | 6
NapísalOffline : 31.03.2012 19:07 | Problem s vypisom zo suboru C

Problem je v tom ze nacitam zaznamy zo suboru a potom ich chcem vypisat, nastane ale to ze sa mi kazdy jeden zaznam duplikuje. Fakt uz netusim v com by mohla byt chyba. Cyklus na nacitanie a vypis vyzera takto
Kód:
for( i = 0 ; i < pocet ; i++){
            fgets(transakcia, 40, fr);
            fscanf(fr,"%d %d %lf %s", &stav, &cu, &suma, &datum);
            
               printf("Transakcia: %s", transakcia);
                  if (stav == 1)
                  {
                     printf("Kredit/Debet: 1\n");
                  }
                  else printf("Kredit/Debet: 0\n");
               printf("Cislo uctu kam/odkial idu peniaze: %d\nSuma: %.2lf\nDatum: %s\n\n", cu, suma, datum);
               
         
      
         }
         rewind(fr);


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 31.03.2012 23:11 | Problem s vypisom zo suboru C

A aký má byť a aký je výstup? A aký je súbor?


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.07.11
Prihlásený: 09.08.16
Príspevky: 20
Témy: 6 | 6
Napísal autor témyOffline : 01.04.2012 10:50 | Problem s vypisom zo suboru C

No výstup ma vyzerat tak ze tam bude z kazdeho zaznamu len po jednom, subor vyzera takto
SK 35QJ FF
0
10088567
77888.88
05111999
CZK 7541A
1
85003457
85.01
01012012
BG 47U9A
1
13574894
520.45
11112011

vystup vyzera tak ze mi to nevypise len raz ale kazdy zaznam 2 krat.


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s vypisom zo suboru C

Registrovaný: 11.01.09
Prihlásený: 08.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 01.04.2012 12:09 | Problem s vypisom zo suboru C

Problem je velmi casty a zrejme velmi oblubeny - neprecitany znak noveho riadku, ktory sa precita az v nasledujucom cyke.
Riesenie ( ktore ti sice pomoze vyriesit tento konkretny problem, ale mozno nepomoze inokedy ):
- v prikaze fscanf napis za posledny %s aj znak noveho riadku \n, cize celkovo to bude vyzerat takto ( +poznamka - ak nacitavas retazec cez %s, v premennej uz neuvadzaj ampersant & )
Kód:
#include <stdio.h>

int main()
{

    int     i, pocet, stav, cu;
    double  suma;
    char    datum[20], transakcia[40];
    FILE    *fr;

    fr = fopen( "input", "r" );
    if ( fr == NULL )
        return 1;

    pocet = 4;

    for( i = 0 ; i < pocet ; i++)
    {
        fgets( transakcia, 40, fr );
        fscanf( fr, "%d %d %lf %s\n", &stav, &cu, &suma, datum );         /* precitaj aj novy riadok */
             
        printf( "Transakcia: %s", transakcia );
        if ( stav == 1 )
        {
            printf("Kredit/Debet: 1\n");
        }
        else
            printf("Kredit/Debet: 0\n");
       
        printf( "Cislo uctu kam/odkial idu peniaze: %d\nSuma: %.2lf\nDatum: %s\n\n", cu, suma, datum );
    }

    rewind(fr);
    fclose( fr );
    return 0;

}


Riesenie 2 ( ktore by som vrelo odporucal pouzivat ):
Nauc sa zapisovat/citat binarne, to znamena pracovat s presnymi velkostami dat a nehrozi, ze sa zabudne precitat nejaky znak, alebo sa nahodou nejako prekombinuje citatanie a zapise sa povedzme udaj do nespravnej premennej a podobne. Povedzme, ze potrebujeme zapisat do suboru 4 polozky: meno, adresu, vek a vysku v metroch. Vytvorime si strukturu:
Kód:
typedef struct {
    char meno[30];
    char adresa[50];
    int vek;
    double vyska;
} NasaStruktura;

NasaStruktura ns = { "Moje meno", "moja adresa", 33, 200.5 };

/* zapis */
pFile = fopen ( "subor" , "wb" );
fwrite( (void*) &ns, 1, sizeof( NasaStruktura ), pFile );

/* citanie */
pFile = fopen( "subor", "rb" );
fread( (void*) &ns, 1, sizeof( NasaStruktura ), pFile );


Takto po precitani mas vsetky data vyplnene bez akejkolvek obavy, ze sa nieco precitalo nespravne ( za predpokladu, ze aj zapis bol vykonany takymto sposobom ).

P.S.: priklad som pisal z hlavy, momentalne dost nestiham, tak dufam, ze je bez chyb.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.07.11
Prihlásený: 09.08.16
Príspevky: 20
Témy: 6 | 6
Napísal autor témyOffline : 01.04.2012 12:47 | Problem s vypisom zo suboru C

uz som to vyriesil dakujem za odpovede mozte lock.


 [ Príspevkov: 5 ] 


Problem s vypisom zo suboru C



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Problem s vypisom pri strankovani

v PHP, ASP

12

579

02.06.2008 13:26

lostwarrior

V tomto fóre nie sú ďalšie neprečítané témy.

PHP,MySQL problem s vypisom

v PHP, ASP

7

496

18.05.2010 17:10

Ecko

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s vypisom textu cez kresliaceho robota

v Delphi, Visual Basic

2

822

21.10.2008 19:06

chiwo

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc s vypisom z databázy

v PHP, ASP

2

379

29.03.2009 15:05

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc s PHP vypisom MySQL databazy

v PHP, ASP

8

1030

14.05.2008 14:55

eMPiko

V tomto fóre nie sú ďalšie neprečítané témy.

problem: odstranenie suboru, priecinka

v Ostatné

6

4628

11.08.2009 14:54

i666

V tomto fóre nie sú ďalšie neprečítané témy.

problem s odstraniním súboru

v Pevné disky a radiče

6

647

20.01.2007 7:32

Holup

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s instalaciou dmg suboru

v Ostatné programy

2

1432

28.04.2010 18:32

Kentaro

V tomto fóre nie sú ďalšie neprečítané témy.

Win10 - priradenie typu súboru problém

v Operačné systémy Microsoft

4

449

08.10.2018 10:16

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s odstránením priečinka/súboru

v Ostatné

2

3416

07.08.2012 10:01

zen

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so spustením exe súboru.

v Operačné systémy Microsoft

16

633

24.08.2017 13:53

Trajan

V tomto fóre nie sú ďalšie neprečítané témy.

PROBLEM s otvorenim DVD suboru...

v Video programy

8

677

23.04.2007 16:04

tre-SKA

V tomto fóre nie sú ďalšie neprečítané témy.

ASSEMBLER Problém s otvorením súboru

v Assembler, C, C++, Pascal, Java

5

413

13.03.2014 20:27

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so zvacsenim PNG súboru

v Grafické programy

3

450

12.03.2011 21:28

Memorex88

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so spätným premenovaním súboru

v Ostatné programy

8

902

01.09.2008 21:44

MANIAC

V tomto fóre nie sú ďalšie neprečítané témy.

Problém po vytvorení jar súboru

v Assembler, C, C++, Pascal, Java

9

1233

04.08.2010 9:26

coldak



© 2005 - 2024 PCforum, edited by JanoF