Ohjelmointityö & C:llä

Tumpelo aloittelija

APUVA! OSAAKO JOKU YSTÄVÄLLINEN C-KIELTÄ OSAAVA AUTTAA? MITEN IHMEESSÄ TÄLLÄNEN TEHDÄÄN? TAI TIETÄIS LINKIN MISTÄ TÄLLÄISEN OHJLELMAN VOISI LÖYTÄÄ? Kastos kun pitäis rakentaa ohjelma jolla voidaan muodostaa ja käsitellä tietokantaa (esim. asunnot, autot jne) ja pitäis tehdä seuraavia juttuja:
- tietokanta tallennetaan teksti-tai binääritiedostoksi
- luetaan tiedot tiedostosta taulukkoon tai listaan ja käsitellään niitä siinä. Alussa ei tiedosta tai se voi olla tyhjä. Pitää olla muuttuja joka sisältää tietokannassa olevien tietojen määrän
- Lisätään/poistetaan/muutetaan/etsitään tietoja

8

1209

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • lapm

      Ikävä sanoa mutta kuullostaa koulutehtävältä ja vieläpä helpolta sellaiselta.

      Yritä nyt hyvä ihminen lukea niitä muistiinpanoja ja yrittää itse.

      Taulukon käsittely on helppoa muistissa, samoin tiedoston käsittely.

      • Nimetön

        Mä tunnen/luulen tuntevani jotenkin C/C perusteet mutta siihen se sitten jää, enkä mä väittäis tota helpoksi aloittelijalle. Vaikuttaa aika laajalta tehtävältä ton kuvauksen perusteella.


      • hohhoi
        Nimetön kirjoitti:

        Mä tunnen/luulen tuntevani jotenkin C/C perusteet mutta siihen se sitten jää, enkä mä väittäis tota helpoksi aloittelijalle. Vaikuttaa aika laajalta tehtävältä ton kuvauksen perusteella.

        Minä en osaa hevonvittua mitään, mutta tuo on helposti ratkaistavissa.


    • Builder

      -En käytä enkä oikein hallitse C-kieltä,mutta mielenkiinnosta opiskelin hieman.
      -Ohjelma luo tietokantatiedoston ja kirjoittaa uusia tietueita plus tulostaa failin.
      Jos tiedostoa ei ole se luodaan.
      -Lisäksi tehdään dynaamiset taulukot ja tulostetaan ne.
      Dynaamisista taulukoista on sorvattu staattinen 2-ulotteinen taulukko,
      joka on käytettävissä.
      -Ohjelma toimii minulla.Kopioi se ainakin ensin suoraan ohjelmaasi tästä.
      -Valmiita ohjelmakokonaisuuksia et löydä mistään!!?? - on tehtävä itse.
      Tässä kuitenkin eräs osoite http://mastodontti.net/bbs/viewforum.php?f=1
      ,josta saa hieman alkeita aiheeseen.

      #include
      #include
      #include
      #include
      #include

      #pragma hdrstop
      //---------------------------------------------------------------------------
      #pragma argsused
      int kirjoita(char *tiedosto);
      int tulosta(char *tiedosto);
      int tietueita(char *tiedosto);
      void tau(char *tiedosto);
      void showmenu(void);

      struct person
      {
      //Jos syötetään enemmän merkkejä niin tietokanta on sekaisin!!!
      //Sinun täytyy estää liian pitkän merkkijonon syöttö
      char etunimi [50];
      char sukunimi [50];
      };
      //**************************************************************************
      int main(void)
      {

      //Jos tiedostoa memo.txt ei ole se luodaan
      FILE *stream;
      int valinta;
      if ((stream=fopen("memo.txt", "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      }
      fclose(stream);
      //----------------------------------------------------
      showmenu();
      scanf("%d", &valinta);
      while(valinta!=4)
      {
      switch(valinta)
      {
      case 1: kirjoita("memo.txt");
      break;

      case 2:
      system("cls");
      tulosta("memo.txt");
      break;

      case 3:
      tau("memo.txt");
      break;

      case 4:
      printf("\n\n");
      }

      printf("\n\n");
      showmenu();
      scanf("%d",&valinta);
      }
      system("cls");
      printf("Hei hei tavataan!!");

      getch();
      return 0;
      }
      //**************************************************************************
      int kirjoita(char *tiedosto)
      {
      //Kirjoitetan yksi tietue
      struct person s;
      FILE *stream;
      //Avataan tiedosto ja luodaan jos sitä ei ole
      if ((stream=fopen(tiedosto, "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      return 1;
      }
      else
      {
      printf ("Anna etunimi : \n");
      scanf("%s",s.etunimi);
      printf ("Anna sukunimi: \n");
      scanf ("%s",s.sukunimi);
      fwrite(&s, sizeof(s), 1, stream);//Kirjoita structi tiedostoon
      fclose(stream);
      return 0;
      }
      }
      //*************************************************************************
      int tulosta(char *tiedosto)
      {
      //Tulostetaan tietokantatiedoston sisältö(ilman taulukkoa)
      struct person s;
      FILE *stream;
      int tietueita=0;
      clrscr();
      printf("Tiedoston sisalto\n");
      printf("*********************\n");

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "r " )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      return 1;
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      printf ("%s %s\n",s.etunimi,s.sukunimi); /* tulostetaan tietueen kentät */
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      return 0;
      }//else
      }
      //*************************************************************************
      int tietueita(char *tiedosto)
      {
      //Tietueitten lukumäärä
      struct person s;
      FILE *stream;
      int tietueita=0;

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      }//else
      return tietueita;
      }
      //*************************************************************************
      void showmenu(void)
      {
      printf("Valitse toiminto:\n");
      printf("******************\n");
      printf("1=Kirjoita tietue\n");
      printf("2=Tulosta naytolle\n");
      printf("3=Tee taulukot plus tulosta ne\n");
      printf("4=Lopetus\n");

      }
      //*************************************************************************
      void tau(char *tiedosto)
      {
      struct person s;
      int tietueet=0;
      int pituus1=0,pituus2=0;
      FILE *stream;
      char *enimet[100]={NULL};
      char *snimet[100]={NULL};
      int i;
      char* tiedot[100][2];
      clrscr();

      printf("Taulukoitten sisalto\n");
      printf("*********************\n");
      tietueet=tietueita(tiedosto);//Tietueita tiedostossa

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      i=0;//Nollataan tietuelaskuri
      while (!feof(stream)&& i

    • Builder

      -Siinä vähän uutta
      -Tietueen deletointi lisätty
      -Hakutoiminnot voidaan suorittaa 2-ulotteisessa taulukossa,jonka ohjelma
      sisältää.(koodattavaa)
      -Tietueen muuttamista ei vielä ole.
      -Hakutoimintojakan ei vielä ole,mutta taulukosta on helppo hakea

      -Mitäs sinulle muuten kuuluu?? - loppuiko ohjelmoijan ura??

      #include
      #include
      #include
      #include
      #include

      #pragma hdrstop
      //---------------------------------------------------------------------------
      #pragma argsused
      int kirjoita(char *tiedosto);
      int tulosta(char *tiedosto);
      int tietueita(char *tiedosto);
      void tau(char *tiedosto);
      void showmenu(void);
      void poista_tietue(char *tiedosto);

      struct person
      {
      //Jos syötetään enemmän merkkejä niin tietokanta on sekaisin!!!
      //Sinun täytyy estää liian pitkän merkkijonon syöttö
      char etunimi [50];
      char sukunimi [50];
      };
      //**************************************************************************
      int main(void)
      {

      //Jos tiedostoa memo.txt ei ole se luodaan
      FILE *stream;
      int valinta;
      if ((stream=fopen("memo.txt", "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      }
      fclose(stream);
      //----------------------------------------------------
      showmenu();
      scanf("%d", &valinta);
      while(valinta!=7)
      {
      switch(valinta)
      {
      case 1:
      //Kirjoita tietue
      kirjoita("memo.txt");
      break;

      case 2:
      //Tulosta faili
      tulosta("memo.txt");
      break;

      case 3:
      //Tulosta taulukko
      tau("memo.txt");
      break;

      case 4:
      //Poista tietue
      clrscr();
      poista_tietue("memo.txt");
      break;

      case 5:
      clrscr();
      //Muuta tietue
      printf("Under work...!!");
      break;

      case 6:
      //Etsi etunimi
      clrscr();
      printf("Under work...!!");
      break;

      case 7:
      //Lopetus
      printf("\n\n");
      }

      printf("\n\n");
      showmenu();
      scanf("%d",&valinta);
      }
      system("cls");
      printf("Hei hei tavataan!!");
      getch();
      return 0;
      }
      //**************************************************************************
      int kirjoita(char *tiedosto)
      {
      //Kirjoitetan yksi tietue
      struct person s;
      FILE *stream;
      clrscr();

      //Avataan tiedosto ja luodaan jos sitä ei ole
      if ((stream=fopen(tiedosto, "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      return 1;
      }
      else
      {
      printf ("Anna etunimi : \n");
      scanf("%s",&s.etunimi);
      printf ("Anna sukunimi: \n");
      scanf ("%s",&s.sukunimi);
      fwrite(&s, sizeof(s), 1, stream);//Kirjoita structi tiedostoon
      fclose(stream);
      return 0;
      }
      }
      //*************************************************************************
      int tulosta(char *tiedosto)
      {
      //Tulostetaan tietokantatiedoston sisältö(ilman taulukkoa)
      struct person s;
      FILE *stream;
      int tietueita=0;
      clrscr();
      printf("Tiedoston sisalto\n");
      printf("*********************\n");

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "r " )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      return 1;
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      printf ("Tietue %d %s %s\n",tietueita 1,s.etunimi,s.sukunimi); /*

      tulostetaan tietueen kentät */
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      return 0;
      }//else
      }
      //*************************************************************************
      int tietueita(char *tiedosto)
      {
      //Tietueitten lukumäärä
      struct person s;
      FILE *stream;
      int tietueita=0;

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      }//else
      return tietueita;
      }
      //*************************************************************************
      void showmenu(void)
      {
      printf("Valitse toiminto:\n");
      printf("******************\n");
      printf("1=Kirjoita tietue\n");
      printf("2=Tiedostosta naytolle\n");
      printf("3=Taulukosta naytolle\n");
      printf("4=Poista tietue\n");
      printf("5=Muuta tietue\n");
      printf("6=Etsi etunimi\n");

      printf("7=Lopetus\n");

      }
      //*************************************************************************
      void tau(char *tiedosto)
      {
      struct person s;
      int tietueet=0;
      int pituus1=0,pituus2=0;
      FILE *stream;
      char *enimet[100]={NULL};
      char *snimet[100]={NULL};
      int i;
      char* tiedot[100][2];
      clrscr();

      printf("Taulukoitten sisalto\n");
      printf("*********************\n");
      tietueet=tietueita(tiedosto);//Tietueita tiedostossa
      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      i=0;//Nollataan tietuelaskuri
      while (!feof(stream)&& i

    • Builder

      -Lisätty hakutoiminto
      -Missä aloittaja luuraa???
      -Loppuiko ohjelmoijan ura??

      #include
      #include
      #include
      #include
      #include
      #include
      #pragma hdrstop
      //---------------------------------------------------------------------------
      #pragma argsused
      int kirjoita(char *tiedosto);
      int tulosta(char *tiedosto);
      int tietueita(char *tiedosto);
      void tau(char *tiedosto);
      void showmenu(void);
      void poista_tietue(char *tiedosto);
      void etsi(char *tiedosto);
      struct person
      {
      //Jos syötetään enemmän merkkejä niin tietokanta on sekaisin!!!
      //Sinun täytyy estää liian pitkän merkkijonon syöttö
      char etunimi [50];
      char sukunimi [50];
      };
      //**************************************************************************
      int main(void)
      {

      //Jos tiedostoa memo.txt ei ole se luodaan
      FILE *stream;
      int valinta;
      if ((stream=fopen("memo.txt", "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      }
      fclose(stream);
      //----------------------------------------------------
      showmenu();
      scanf("%d", &valinta);
      while(valinta!=7)
      {
      switch(valinta)
      {
      case 1:
      //Kirjoita tietue
      kirjoita("memo.txt");
      break;

      case 2:
      //Tulosta faili
      tulosta("memo.txt");
      break;

      case 3:
      //Tulosta taulukko
      tau("memo.txt");
      break;

      case 4:
      //Poista tietue
      clrscr();
      poista_tietue("memo.txt");
      break;

      case 5:
      clrscr();
      //Muuta tietue
      printf("Under work...!!");
      break;

      case 6:
      //Etsi etunimi
      clrscr();
      etsi("memo.txt");
      break;

      case 7:
      //Lopetus
      printf("\n\n");
      }

      printf("\n\n");
      showmenu();
      scanf("%d",&valinta);
      }
      system("cls");
      printf("Hei hei tavataan!!");
      getch();
      return 0;
      }
      //**************************************************************************
      int kirjoita(char *tiedosto)
      {
      //Kirjoitetan yksi tietue
      struct person s;
      FILE *stream;
      clrscr();

      //Avataan tiedosto ja luodaan jos sitä ei ole
      if ((stream=fopen(tiedosto, "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      return 1;
      }
      else
      {
      printf ("Anna etunimi : \n");
      scanf("%s",&s.etunimi);
      printf ("Anna sukunimi: \n");
      scanf ("%s",&s.sukunimi);
      fwrite(&s, sizeof(s), 1, stream);//Kirjoita structi tiedostoon
      fclose(stream);
      return 0;
      }
      }
      //*************************************************************************
      int tulosta(char *tiedosto)
      {
      //Tulostetaan tietokantatiedoston sisältö(ilman taulukkoa)
      struct person s;
      FILE *stream;
      int tietueita=0;
      clrscr();
      printf("Tiedoston sisalto\n");
      printf("*********************\n");

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "r " )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      return 1;
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      printf ("Tietue %d %s %s\n",tietueita 1,s.etunimi,s.sukunimi); /* tulostetaan tietueen kentät */
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      return 0;
      }//else
      }
      //*************************************************************************
      int tietueita(char *tiedosto)
      {
      //Tietueitten lukumäärä
      struct person s;
      FILE *stream;
      int tietueita=0;

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      }//else
      return tietueita;
      }
      //*************************************************************************
      void showmenu(void)
      {
      printf("Valitse toiminto:\n");
      printf("******************\n");
      printf("1=Kirjoita tietue\n");
      printf("2=Tiedostosta naytolle\n");
      printf("3=Taulukosta naytolle\n");
      printf("4=Poista tietue\n");
      printf("5=Muuta tietue\n");
      printf("6=Etsi \n");

      printf("7=Lopetus\n");

      }
      //*************************************************************************
      void tau(char *tiedosto)
      {
      struct person s;
      int tietueet=0;
      int pituus1=0,pituus2=0;
      FILE *stream;
      char *enimet[100]={NULL};
      char *snimet[100]={NULL};
      int i;
      char* tiedot[100][2];
      clrscr();

      printf("Taulukoitten sisalto\n");
      printf("*********************\n");
      tietueet=tietueita(tiedosto);//Tietueita tiedostossa
      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      i=0;//Nollataan tietuelaskuri
      while (!feof(stream)&& i

      • Builder

        Noin niitä virheitä tulee,varsinkin tähän aikaan aamusta!!


    • Builder

      -Tässä olisi nyt tietokantaohjelma,jota muuttamalla saadaan aikaiseksi
      jokin oma rakenne.
      -Taulukon muodostamisesta voisi tehdä oman funktion,jottei muutoksia
      tietueiden määrään tarvitsisi tehdä niin moneen paikkaan.
      En vain viitsinyt sorvata sitä tähän.
      -Lisäksi hakutoimintoon voi pistää tolower-funktion,jotta ei tarvitsisi
      välittää isoista ja pienistä kirjaimista.

      -Toiminnot:
      ***********
      Kirjoita tietue
      Poista tietue
      Tulosta tietueet
      Muuta tietue
      Hae tietue

      Muuta
      *****
      -Mitäs kuuluu aloittajan elämään??Vieläkö ohjelmoijan ura jatkuu??
      Asioitten kesken jättäminen on hiukan samaa,kuin keskeytetty
      yhdyntä,eivätkä nämä asiat niin vaikeita ole,ettei niitä voisi
      normaalijärjellä saada selvitettyä!!!

      #include
      #include
      #include
      #include
      #include
      #include
      #pragma hdrstop
      //---------------------------------------------------------------------------
      #pragma argsused
      int kirjoita(char *tiedosto);
      int tulosta(char *tiedosto);
      int tietueita(char *tiedosto);
      void tau(char *tiedosto);
      void showmenu(void);
      void poista_tietue(char *tiedosto);
      void etsi(char *tiedosto);
      void muuta(char *tiedosto);
      struct person
      {
      //Jos syötetään enemmän merkkejä niin tietokanta on sekaisin!!!
      //Sinun täytyy estää liian pitkän merkkijonon syöttö
      char etunimi [50];
      char sukunimi [50];
      };
      //**************************************************************************
      int main(void)
      {

      //Jos tiedostoa memo.txt ei ole se luodaan
      FILE *stream;
      int valinta;
      if ((stream=fopen("memo.txt", "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      }
      fclose(stream);
      //----------------------------------------------------
      showmenu();
      scanf("%d", &valinta);
      while(valinta!=7)
      {
      switch(valinta)
      {
      case 1:
      //Kirjoita tietue
      kirjoita("memo.txt");
      break;

      case 2:
      //Tulosta faili
      tulosta("memo.txt");
      break;

      case 3:
      //Tulosta taulukko
      tau("memo.txt");
      break;

      case 4:
      //Poista tietue
      clrscr();
      poista_tietue("memo.txt");
      break;

      case 5:
      clrscr();
      //Muuta tietue
      muuta("memo.txt");
      break;

      case 6:
      //Etsi etunimi
      clrscr();
      etsi("memo.txt");
      break;

      case 7:
      //Lopetus
      printf("\n\n");
      }

      printf("\n\n");
      showmenu();
      scanf("%d",&valinta);
      }
      system("cls");
      printf("Hei hei tavataan!!");
      getch();
      return 0;
      }
      //**************************************************************************
      int kirjoita(char *tiedosto)
      {
      //Kirjoitetan yksi tietue
      struct person s;
      FILE *stream;
      clrscr();

      //Avataan tiedosto ja luodaan jos sitä ei ole
      if ((stream=fopen(tiedosto, "a " )) == NULL)
      {
      fprintf(stderr, "Tiedostoa ei voi avata!!\n");
      return 1;
      }
      else
      {
      printf ("Anna etunimi : \n");
      scanf("%s",&s.etunimi);
      printf ("Anna sukunimi: \n");
      scanf ("%s",&s.sukunimi);
      fwrite(&s, sizeof(s), 1, stream);//Kirjoita structi tiedostoon
      fclose(stream);
      return 0;
      }
      }
      //*************************************************************************
      int tulosta(char *tiedosto)
      {
      //Tulostetaan tietokantatiedoston sisältö(ilman taulukkoa)
      struct person s;
      FILE *stream;
      int tietueita=0;
      clrscr();
      printf("Tiedoston sisalto\n");
      printf("*********************\n");

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "r " )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      return 1;
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      printf ("Tietue %d %s %s\n",tietueita 1,s.etunimi,s.sukunimi); /*

      tulostetaan tietueen kentät */
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      return 0;
      }//else
      }
      //*************************************************************************
      int tietueita(char *tiedosto)
      {
      //Tietueitten lukumäärä
      struct person s;
      FILE *stream;
      int tietueita=0;

      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      fread (&s,sizeof s,1,stream);

      while (!feof(stream))
      {
      fread(&s,sizeof s,1,stream); /* luetaan seuraava tietue */
      tietueita ;
      }
      fclose(stream);
      }//else
      return tietueita;
      }
      //*************************************************************************
      void showmenu(void)
      {
      printf("Valitse toiminto:\n");
      printf("******************\n");
      printf("1=Kirjoita tietue\n");
      printf("2=Tiedostosta naytolle\n");
      printf("3=Taulukosta naytolle\n");
      printf("4=Poista tietue\n");
      printf("5=Muuta tietue\n");
      printf("6=Etsi \n");

      printf("7=Lopetus\n");

      }
      //*************************************************************************
      void tau(char *tiedosto)
      {
      struct person s;
      int tietueet=0;
      int pituus1=0,pituus2=0;
      FILE *stream;
      char *enimet[100]={NULL};
      char *snimet[100]={NULL};
      int i;
      char* tiedot[100][2];
      clrscr();

      printf("Taulukoitten sisalto\n");
      printf("*********************\n");
      tietueet=tietueita(tiedosto);//Tietueita tiedostossa
      //Avataan tiedosto
      if ((stream=fopen(tiedosto, "rb" )) == NULL)
      {
      printf ("Tiedoston avaus ");
      printf (" ei onnistu.\n");
      }
      else
      {
      i=0;//Nollataan tietuelaskuri
      while (!feof(stream)&& i

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. en vaan saa häntä pois

      Mielestäni pyörimästä. Onko kellekään toiselle käynyt näin? Ihastuin pakkomielteisesti noin vuosi sitten erääseen naiseen. Ei vaan katoa mielestä va
      Ikävä
      176
      2066
    2. Suomi24 kysely: ihmisten kuplautumista ei pääosin koeta vakavaksi ongelmaksi

      “Kuplautumista on mahdotonta estää. Ihmiset ovat aina viihtyneet samankaltaiset arvot ja maailmankatsomuksen jakavassa seurassa ja muodostaneet sen pe
      Suomi24 Blogi ★
      36
      1728
    3. Ohhoh! Glamourmalli Elena, 29, teetti tiimalasivartalon - Vei rahaa ja tuotti tuskaa - Katso kuvat!

      Transtaustainen glamourmalli Elena Vikström on käynyt vuosien ajan plastiikkakirurgisissa toimenpiteissä. Tästä näet lopputuloksen: https://www.suomi
      Kotimaiset julkkisjuorut
      10
      1402
    4. Ostiko Martina uuden ponin tyttärelleen, vai oliko myös Stefan itsekkin valitsemassa ponia .?

      Kiva kun on tyttärelle mielekäs harrastus annettu, ehkä vielä on tulevaisuudessa hänelle tärkeä ja valitsee sen perusteella tulevan ammatin.
      Kotimaiset julkkisjuorut
      229
      1200
    5. Sinä olet tärkeä

      Herätät minussa kunnioitusta. Kiehdot minua. En oikein saa kiinni sinusta. Ehkä juuri siksi. Aistin että sinäkin pidät minusta. Vetovoima on ollut alu
      Ihastuminen
      59
      1198
    6. Varisjärvellä mersu.

      Varisjärven tiellä tuli vanhamersu kylkiedellä mutkassa vastaan ja vähällä keulaan mutta tökkäs penkkaan, hyppäsin omasta autosta ulos ja kävin kiskas
      Suomussalmi
      16
      1041
    7. Mitähän ajattelet J

      Tästä kaikesta? Mä välitän susta oikeasti.
      Ikävä
      60
      959
    8. Belorf haistattaa seuraajiaan "You can hate me now"...

      Vai haistattaako lompakkoa, joka taisi viimeinkin ymmärtää häipyä Sofian ulottumattomiin ? Sofia raukka on niin typerä, että ottaa nostetta "omasta tv
      Kotimaiset julkkisjuorut
      58
      957
    Aihe