Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

c keel

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    #16
    Minul Dev-C++ vers. 4.9.8.0.
    include käsk võtab <> märkide korral faili kompilaatori include-kaustast, "" märkide korral proge enda kaustast. Minu versioonil dev-c++&#39;st igatahes on seal kaustas olemas conio.c fail, kuid conio.h failist ei ole omakorda seda edasi inkluuditud, nagu näiteks siin toodud lingis oleva c ja h komplektiga on tehtud. (Tavaliselt tõesti kompilaatori h-failid peaksid c-failid jms kola ise juurde haakima) Seega tuleb inkluudida c-fail otse või siis h-faili mudida nii, et ta ka c-faili kompileerimisse kaasaks. vastasel juhul ei ole kuskil seda clrscr funktsiooni ja linker ei saa hakkama.

    conio.c failis on veel toredaid tunktsioone, mida võib konsoolis vaja minna... täpsemalt vaata selle faili sisu ise. Üldiselt peaks windowsi konsooli üldse torkima natu teiste funktsioonide kaudu ja see conio.c on lihtsalt selleks tehtud, et saaks vanade dossi konsooli asjadega teha ühilduvuse.

    Huvitav, miks su veateates tahetakse conio.cpp? Äkki kirjutasid .c asemel .cpp? Igatahes include kaustas peaks olema olemas conio.c fail ja parem oleks seda kasutada, mida kompilaatori tegijad sellega kaasa panid, mitte hakkata mingit suvalist asja juurde pookima.

    Ja selle void&#39;iga rea võid niikuinii ära kustutada, see ei tee mitte midagi. Üldse on see veel selle antud clrscr.h&#39;ga vastuolus, seal sama nimega funktsioon ja see on vastuse tüübiga int, seega defineeritakse lihtsalt funktsioon üle. Õnneks sellest midagi ei juhtu, kuna vastust niikuinii ei kasutata.

    Comment


      #17
      tead OK, ma ei viici vaielda, asi töötab ja las ta olla.

      Comment


        #18
        mingi C raamat mul on(nime ei mäleta Eesti keelne) ga see on täis puhast solki mida vaja ei ole... no ei osatud kirjutada ja mingid otsetõlked millest m idagi aru ei saa ja numbrite rajad... ja siis on veel c++ raamat inglisekeeles natuke paksem ja 50,5 korda parem ja arusaadavam. seda kasutan...

        aga ma ei saa aru miks goto käsku nagu kasutada ei tohi? mida ma siis veel kasutama pean?&#33;? <_<

        :angry:
        #include "conio.c"
        see ei tööta ka minul
        5 C:&#092;Dev-Cpp&#092;Rain&#092;calculator.cpp conio.c: No such file or directory. - seda ytleb

        Comment


          #19
          Kood:
          #include &#60;cstdlib&#62;
          #include &#60;iostream&#62;
          #include &#60;stdio.h&#62;
          #include &#60;conio.h&#62;
          
          int main&#40;&#41;
          {
          al&#58; void clrscr&#40;&#41;;
            printf&#40;&#34;Tere&#34;&#41;;
            getch&#40;&#41;;
            goto al;
          }
          goto kasutamine tõesti väga halb, kas tahad teksti mitu korda ekraanile tuua?
          sel juhul saab muudmoodi ka hakkama

          Comment


            #20
            selles programmis on see jah mõtetu... aga mõnel pool ma muudmoodi hakkama ei ole saanud...

            Comment


              #21
              Mis on sinu eestikeelse raamatu pealkiri ?

              Comment


                #22
                bloody-orc: <conio.c>, mitte "conio.c"

                See on üldiselt filosoofiline küsimus aga on välja kujunenud, et struktuurprogrammeeerimises ei kasutata kunagi goto käske. Vajadusel tehakse lihtsalt sobiv alaprogramm ja pannakse sinna kood, mida on vaja kasutada vms. Kui juba c++ peale ja objektorienteeritusele minna, siis veel enam ei kasutata goto&#39;sid, seal vajadusel privaatsed funktsioonid.
                Teine asi, mida ei peata heaks tavaks aga ei ole nii suur rikkumine, on igasugugused globaalmuutujad. Korralik struktuurprogrammeeritud kood (eriti just c-s) annab edasi muutujate eluea jooksul andmestruktuure kas siis väärtustena või pointeritena[viitadena] struktuuri hierarhiat pidi alla ja pärast tagasi.
                Kui tsüklit teha tahad vms, siis alati while abiks. Ega c ei kontrolli mitte midagi rangelt ja seepärast võib kasvõi for&#39;iga teha while-tsüklit kui on soov eriti segast[obfuscated] koodi kirjutada...selleks veel omaette võistlused btw, et kes kirjutab kõige segasema koodi. Või siis teha mingi lõpmatu tsükkel, mida katkestatakse break&#39;iga või continue&#39;ga või mida iganes. Võimalusi on väga palju.

                #include direktiiv ei tee mitte midagi muud, kui tõstab selle koha peale enda asemele toodud nimega faili. <> märkide korral võetakse see süsteemi include-kaustast, "" korral jooksvast kaustast. Kompilaatori seisukohast pole vahet, kas su faili laiend on .c, .cpp, .h või mis iganes. Kõik see pistetakse kokku ühte pütti ja kompilaator teeb ikka ühe pika koodi valmis. H-failid tavaliselt sisaldavad funktsioonide prototüüpe (päiseid), mis tulevad väljapoolt ja mida seega kompilaator ei kompileeri vaid jätab viidad linkerile. Linker pärast seob kokku sinu koodi ja kõik muu, mis sinna lahtistesse otstesse juurde käib.

                Comment


                  #23
                  Originally posted by digital@Jan 10 2005, 00:21
                  bloody-orc: <conio.c>, mitte "conio.c"
                  ka <conio.c> faili pole...

                  Comment

                  Working...
                  X