cecko subory

Sekcia: Programovanie 24.01.2014 | 13:22
pindo   Návštevník

Caute, Nejde mi spravit jednoducha vec: 1.mam subor.txt 2.nacitat zo suboru hodnotu 3.spracovat hodnotu podla nejakeho vzorca a nasledne urobit vystup na obrazovku 4.bod 3 pre kazdu hodnotu suboru Ked som si subor vytvoril na zapisovanie a zapisal som do neho cisla od 1 do 100 a nasledne som dal tieto cisla precitat a vypisat na monitor, vsetko OK. ALE, akonahle som chcel po programe, aby precital cislo so suboru /uz vytvoreneho a existujuceho /, testujem cislo na podmienku ci je kladne a potom ked je tak vypocita obsah stvorca. vysledok bol asi taky, ze mi to hodilo rozne cisla - akokeby miesta v pamati, bolo tam aj stack, heap.

    • RE: cecko subory 24.01.2014 | 13:44
      Avatar lieko jr.   Návštevník

      ked sem pastnes ten svoj kod urcite ti niekto rad poradi

    • RE: cecko subory 24.01.2014 | 13:45
      Avatar bedňa LegacyIce-antiX  Administrátor

      Bolo by dobré, keby si sem ten kód hodil. Umiestni ho medzi značky <pre>kód</pre>

      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: cecko subory 24.01.2014 | 14:17
      Avatar pindo   Návštevník

      tak niekedy vecer, som v kniznici, nemam zo sebou ten svoj code :))

    • RE: cecko subory 24.01.2014 | 17:18
      Avatar WlaSaTy   Návštevník

      Neviem či nebude treba to číslo skonvertovať cez atoi, v binárnom formáte to nezapisuješ.

    • RE: cecko subory 24.01.2014 | 18:20
      Avatar Fridolín Pokorný Fedora 21  Používateľ
       vysledok bol asi taky, ze mi to hodilo rozne cisla - akokeby miesta v pamati, bolo tam aj stack, heap

      Pravedopodobne siahas tam, kam nemas. Pozri si tvoju pracu s ukazovatelmi. Lepsie vsak bude ak ukazes kod.

    • RE: cecko subory 13.02.2014 | 13:49
      Avatar pindo   Návštevník

      Caute, po dlhsej pauze sposobenej zoznamovanim sa s roznymi distrami a riesenim sietovych problemom som spat v programatorskom okienku. Dostal som sa do bodu, ked som velmi blizko k vysledku: zatial netestujem nic na podmienku, vstupny subor obsahuje integer cisla 0-10, ALE, vysledok je, ze mi dava IBA mocniny neparnych cisel. Kompilovane v gcc, aj v CodeBlocks a vzdy rovnaky vysledok. Preco ?

      #include<stdio
      #include<stdlib
      
       main()
      
      { //main program
      
      FILE *vstup;
      int rozmer;
      
      vstup=fopen("data.txt","r");		//citanie suboru
      while (fscanf(vstup,"\n%d", &rozmer) != EOF)
      {
      fscanf(vstup,"\n%d", &rozmer);
      
      printf("\n%d\t%d", rozmer,rozmer*rozmer);
      }
      printf("\n\nKoniec suboru.\n");
      fclose(vstup);
      
       }
      //main program
      
      • RE: cecko subory 13.02.2014 | 14:45
        Avatar Juraj Artix - OpenBox  Používateľ

        pretože 2 krát čítaš hodnotu zo súboru, raz v podmienke cyklu a potom v tele cyklu

        skús to takto:

        #include <stdio.h>
        #include <stdlib.h>
        
        int main()
        { //main program
        	FILE *vstup;
        	int rozmer;
        
        	vstup = fopen("data.txt", "r");		//citanie suboru
        
        	while (fscanf(vstup,"\n%d", &rozmer) != EOF)
        	{
        		printf("\n%d\t%d", rozmer, rozmer * rozmer);
        	}
        
        	printf("\n\nKoniec suboru.\n");
        	fclose(vstup);
        
        	return 0;
        }
        //main program</stdlib</stdio
        Happy falling
        • RE: cecko subory 13.02.2014 | 16:03
          Avatar pindo   Návštevník

          No teraz to funguje. Je super stravit 2 dni hladanim chyby v programe a nakoniec clovek zisti, ze je to zaludnost, ktoru ani nepredpoklada :)). Nikdy pred tymto programom sa mi nestalo, ze by v podmienke cyklu program nieco aj vykonaval, ked mal dany kod iba vyhodnocovat. Dikejs.