Apuaa!!

Meikä

Pystyiskö joku C:tä paremmin osaava kertomaan et mikä seuraavassa koodinpätkässä on vikana?

Funktion olis siis tarkotus poistaa tiedostossa oleva yksittäinen tietue ja jättää muut tietueet sinne. Kuitenkin funktio luo uuden tiedoston ja tyhjentää edellisen ja kirjoittaa tyhjennetyn tiedoston tiedot sinne uuteen tiedostoon. SIIS HUOMATKAA ET FUNKTION ALKUOSA (case 1), JONKA TARKOTUS ON TYHJENTÄÄ TIEDOSTO TOIMII; MUT case2 EI!! En käsitä mikä siinä mättää. Hermo menee!! Ohjelmana käytän MS Visual C . Toivottavasti joku truekoodari ymmärtää tästä jotain. Kiitoksia etukäteen!!

int poista(int maara)//poista funktio
{
int i,k,g, valinta;
int nappi; // muuttujien määrittely
char button;


FILE *fp_muusikot; //käytettävä tiedosto

fp_muusikot = fopen ("C:\\testi\\muusikko.txt", "w"); //tiedoston avaus kirjoittamista varten

printf ("Haluat siis poistaa tallennettuja tietoja\n\n");
printf ("Paina 1 jos haluat poistaa kaikki tallennetut tiedot\n");
printf ("Paina 2 jos haluat poistaa jonkun tietyn muusikon tiedot\n\n\n");

nappi = getch();
switch(nappi)
{
case '1' : // tyhjentää kaikki tietokannassa olevat tiedot
printf ("\n\n");
printf ("Oletko nyt aivan varma, etta haluat poistaa kaikkien muusikoiden tiedot?\n");
printf ("Paina K, jos haluat, muussa tapauksessa E\n\n");

button = getch();
switch(button)
{
case 'k' :
printf("Kaikki tiedot on poistettu tietokannasta!!!\n\n");
fprintf (fp_muusikot, ""); //tulostaa tyhjää tiedostoon,
//poistaa kaikki tiedot tiedostosta
fclose(fp_muusikot); // tiedoston sulku
printf("Paina ENTER palataksesi paavalikkoon\n\n");
break;

case 'e' :

printf ("Tietoja ei poistettu\n\n\n"); // ei poista tietoja käyttäjän niin halutessa

break;

default:

printf ("%c", BELL); //antaa äänimerkin, jos painaa virheellistä näppäintä
printf ("Painoit vaaraa merkkia\n\n");
printf ("Paina ENTER siirtyaksesi paavalikkoon\n\n");

break;

}
break;

case '2' :

FILE *fp_muusikot; //käytettävä tiedosto

fp_muusikot = fopen ("C:\\testi\\muusikko.txt", "r"); //tiedoston avaus kirjoittamista varten


for(i=0, k=1 ;i

1

421

    Vastaukset 1

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • fopenissa "w" luo uuden tiedoston kirjoittamista varten, eli jos samalla nimellä on olemassa vanha, se tuhotaan ensin. "a" avaa tiedoston loppuun lisäämistä varten, ja "a " avaa tiedoston luettavaksi ja kirjoitettavaksi (myös loppuun). a/a :n tapauksessa tiedosto luodaan vain silloin, jos sitä ei ole ennestään. Olikohan tarkoitus käyttää a:ta w:n sijaan ?

      Nykyään siis ensimmäinen fopen tuhoaa tiedoston sisällön, ja myöhemmät luvut eivät lue oikein mitään.

      "return maara, g, i;" ei myöskään ole sallittu syntaksi, voit palauttaa vain yhden arvon tuossa funktiossa.

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

    Luetuimmat keskustelut

    1. Mitä mieltä miehet ovat 40-50v naisista?

      Rehellisesti. Mitä ajattelet kun naiselle tulee ikäää
      Ikävä
      161
      1140
    2. Palstamiittinkiä taas ajattelen

      Niin.. oli tuossa elokuussa Randen kanssa juttua palstamiitistä ensi kesälle. Ajatuksena oli miitti Jyväskylässä, joka
      Sinkut
      176
      727
    3. Kun olet noin varovainen, niin tehdään näin

      Ollaan luontevia kun tavataan. Ei mitään paineita. Halataan lämpimästi toisiamme, ja sitä hetkeä voi viivyttää, kunnes s
      Ikävä
      28
      583
    4. Mitä haluaisit minusta mies

      Meidän tilanne on ns.vaikea, eikä olla koskaan puhuttu tai edes ehditty puhua siitä, että mihin me tällä kaikella säätäm
      Ikävä
      36
      517
    5. Mikä on ollut

      Paras kuva kaivatustasi?
      Ikävä
      30
      491
    6. Työttömille tulossa pakollinen ilmaistyö sanoo kokoomusministeri

      https://www.iltalehti.fi/politiikka/a/078a91b0-4bdf-4a7b-9c3b-f3cf2bdd3dae Kokoomus, persut ja kepu laittavat työttömät
      Maailman menoa
      341
      485
    7. Kyllä siinä oli jotain enemmän

      vaikka moni asia meni pieleen ja mutkille. Oli sähköä välillämme ja siis sinäkin olit kiinnostunut. Mutta kun ne esteet,
      Ikävä
      11
      462
    8. Voi, voi herttinen nainen

      Kun olet ollut niin..... Tyly ja kylmä. Eikö
      Ikävä
      17
      457
    9. Niin se mies

      Mikä sen miehen etunimi muuten on ketä kaipailet
      Ikävä
      31
      449
    10. Selvitetään tämä meidän välinen juttu

      Kertoisin sulle, mitä sinussa näen ja mikä viehättää eniten. Pitkä tarina tulisi siitä, mutta haluisin nähdä, kun kuunte
      Ikävä
      19
      446
    Aihe