Löytyisikö täältä ketään C-kieltä osaavaa, joka omaisi messengerin? Ja jolla olisi aikaa? Minä nimittäin olen päättänyt tässä opetella sen, mutta ohjekirjat ovat kovin huonot siihen. Niistä kun ei koskaan löydy sitä mitä haluan oppia ja valmis koodikaan ei käy.
Ei, vaan haluan tehdä kaiken alusta lähtien, jonkun osaavan opastuksella, erehdysten, oppimisten ja kokemusten kautta. Askel askeleelta, aina siihen asti kunnes on saanut jotain aikaan, samalla oppien uutta. Mestari/Oppipoika suhde opetuksessa. Minulle ainakin paras tapa oppia. Tiedän kokemuksesta ihan.
Eli siis, löytyisikö ketään joka osaisi C tai C++-kieltä? Sillain että voisi ainakin saada alkuun erään joka ei osaa. Intoa olisi, jos löytyisi opettaja, jolla olisi myös intoa. Jeah, niin. Sikäli haluan oppia C/C++ kielen, kun sille olisi nyt tarvetta.
Jeah, ei tässä muuta. Kiitokset vain Antille siitä että hän rekisteröi minut tänne...
-Grey-
PS. Kääntäjäni on muuten Bloodshed Dev-C++ tai jotain sinne päin. Muutakaan kun ei löytynyt mistään, ilmaiseksi, kunnollista :-/
No minä osaan C:n ja C++:n alkeet, eli jos olet _aivan_ alussa niin osaan varmaan neuvoa, mutta mitään grafiikkaa ynm. en osaa, eli sellaisissa täytyy kyllä löytyä joku muu guru selittämään. Omakin kääntäjäni on Dev-C++. Jos siis tarvitset jotain neuvoa niin voin auttaa jos ehdin ja osaan.
Itsekin käytän sitä ja se on paras ilmainen.
Eipäs olekaan, vaan paras ilmainen, imo, on kyllä DJGPP. Voiko Dev-C++:lla vääntää muuten Wintoosa ohjelmia?
Ootko ikinä edes käyttäny sitä kun et tiedä? Totta kai sillä pystyy tekemään windows ohjelmia, niinkuin melkein kaikkea muutakin tärkeää...
Ja mikä siinä djgpp:ssä niin mahtavaa on kun kaikki sitä ylistää?
Onhan se alku helppoa?
c++: ?
#include <stdio.h> int main( int argc, char *argv[] ) { printf( "Moido!" ); return 0; }
c on kait melko samanlaista.
Spartacus, olen samaa mieltä, minun mielestä DJGPP on sonta, Dev C++ on hyvä ja ilmainen. Siinähän on se pakkaus ohjelma... Se oli mun mielestä hyvä.
juhaz, tuo teikäläisen esimerkki oli C:tä, ei C++:aa. En väitä että Dev C++ olisi sonta, kyllä sillekin käyttöä löytyy mutta kuitenkin tuntuu että DJGPP on monipuolisempi.
Niin ja viimeistään Dev C++:n maineen pilaa että GUI on koodattu Delphillä (näyttäisi ainakin olevan...) :D
No jaa, jokainen tallaa tavallaan..
DJGPP monipuolisempi? Ei taida olla...
Fawkz, senhän takia mä laitoin ?-merkin. En ollut oikein varma asiasta, mutta tuo oli yhdessä editorissa, kun otti c++ niin tuo tuli heti siihen, mutta jos otti c:n niin jäi tyhjäksi, mutta minä olen kumpaakin testannut, että kyllä tuo on aika samanlaista kummallakin.
Ei DJGPP:tä ja Dev C++:aa oikein voi edes verrata koska näyttää siltä että Dev C++ on vain Windows-ohjelmia varten, ja DJGPP on vain DOS-ohjelmia varten.
Dev C++ on dossiinkin, eikös olekin? Rykker on tehnyt dossi ohjelmia ja ne oli tehty Devillä. En ole pitkiin aikoihin käyttänyt sitä Deviä...
Siinä meni kyllä aikaa, ennenkuin pääsin tänne (meinasin salasanani unohtaa, mutta muistuipa sitten mieleen). Joka tapauksessa, noh, sanon heti tässä että minua ärsyttää sitten eräs asia. Ja se on suunnaton määrä tietoa, millä ei sitten tee yhtään mitään. Menen mieluummin suoraan asiaan ja opettelen kantapään kautta. Joskin muutaman alkutiedon kuitenkin kaipaan.
Eli siis, minua ihmetyttää C-kielessä tuo #include <stdio.h> homma. Eli siis, mikä se oikein on? mitä se tekee? Miten ja silleen.
Ennenkuin tässä lopetan, niin kysynpä että löytyykö keneltäkään messengeriä? Jos löytyy ja jos osaa C/C++ opettamisen verran, niin saa lisätä minut sinne. Kun ehtii :-)
-Grey-
#include <stdio.h> liittää ohjelmaan mukaan stdio.h-kirjaston, joka sisältää monen lähes joka ohjelmassa tarvittavan funktion määrittelyn. Vähänkin isommissa ohjelmissa mukaanliitettäviä tiedostoja on usein monia.
Osaakos antti c++:ssaa hyvinkin?
C:llä osaan ehkä tehdä ohjelman joka muuntaa markat euroiksi ja C++ sujuu vielä heikommin...
Antti, olen samalla tasolla :) Paitsi että toisin päin, eli C++ -> C -> C++ ? Täh, ota selkoa.
Hm.. Kun tässä nyt seuraan tätä aloittamaani juttelua, niin mietin ja katselen, sekä vielä kerran mietin että kuinka moni täällä osaa oikeasti ;-) C/C++? Enemmän kuin mitä tarvitaan eurolaskimen tekoon.
Niin ja toisen mietinnän tulos on syntynyt ihan noiden juttujen tarkkailun tuloksena. Että nuo aiheet, noh, loppujen lopuksi minusta tuntuu että ne liikkuvat pikkuhiljaa kauemmaksi alkuperäisestä, kunnes lopulta muuttuu joksikin ihan muuksi. Ei siinä oikeastaan mitään, kunhan vain aavistelen tälläistä havainneeni.
Noh, joka tapauksessa, aiheessa pysyvänä henkilönä, edelleenkin kaipaan sitä opettajaa. Ja mieluummin tarpeeksi kärsivällistä sellaista. Minä nimittäin tulen kyselemään ja paljon. Todellakin paljon. Jep...
-Grey-
PS. Vaikka tämä ei liity mitenkään C-kieleen, niin luokaa Windows 98 tai uudempaan tälläinen pikakuvake Käynnistävalikon Käynnistys/Startup-kansioon:
rundll.exe deskcp16.dll,quickres_rundllentry 320x200x8
Ei toimi sitten Windows NT. Ja 95 ei ainakaan noilla määräillä.
PPS. Jos olette epävarmoja mikä tuo on, kokeilkaa Käynnistävalikon Suorita-toiminnolla sitä.
PPPS. Luokaa se pikakuvake mieluummin jonkun toisen koneelle, kuin omalle :-)
Ainahan voit kysyä täällä jos on joku ongelma... jos se ei riitä niin varmaan mä voisin vähän auttaa. Mikset kuitenkin lukisi jotain kirjaa tms. koska niin oppii helposti.
Niinpä =)
Kuten tässä sanoin, minua ärsyttää suunnaton määrä tietoa, jolla en tee yhtikäs mitään. Se kun ensinnäkin vie minulta muita resursseja, joita voisin käyttää paljon hyödyllisempiin asioihin.
Siksi en siis pidä kirjoista. Niissä kun on liikaa esim. valmiita esimerkkejä, valmista koodia, josta en tajua mitään. Kaikki kun on liiaksi valmiina. Mieluummin kyselen yhdeltä joka tietää ja opin siis sillain asioita, koska se on ainoa oikea tapa oppia minulle kunnolla, jollei sitten lukuun oteta visuaalista oppimista...
-Grey-
Juu mutta näitä "opettajia" ei helpolla löydy koska opettamisessa (vaikka oppipojasta ei siltä tuntuisikaan..) on pirunmoinen työ.
Taitanen siis keskittyä Qbasiciin, kun minulla on siinä menossa peräti kiinnostava projekti, jonka aloitin.. ööh.. eilen.. :-P
Grey
Ihmettelen kyllä tuota... itselleni olisi paljon vaikeampi opetella niin että joku "opettaja" selittäisi kokoajan jotain, on toki hyvä kun joku neuvoo, mutta paremmin sujuu kun opettelee perusteet hyvästä kirjasta tai oppaasta.
Miten olet QBasicia opetellut? Onko sinulla siinä ollut joku opettamassa?
Qbasicin käskyt ovat melko helppoja oikeastaan ja sen ohjeetkin olivat uskomattoman selkeät. En osaa englantia niin paljoa, mutta osasin tehdä pikkuohjelmia Qbasicillä muutaman tunnin opettelun jälkeen. Ymmärsin mitä käskyt tekevät ja nyt ymmärrän hitusen enemmän. Osaan nimittäin nykyään hyödyntää siitä esim. DO ja LOOP käskyjä, mitä en ennen tajunnut.
Joskin koska tämä osio on varattu C-kielelle, ei siitä sen enempää, vaan siirryn siihen niin. Se kun on äärimmäisen paljon Qbasicia monimutkaisempi ja siinä olevat käskyt, jollei nyt lukuunoteta tuota DO-LOOP hommaa, jonka saatan ehkä ymmärtää.
Kuitenkin, olisi kiva tietää että mikä on kunkin käskyn merkitys siinä. Minä nimittäin hahmotan aikaslailla visuaalisesti asioita. Elikä siis jos voin hahmottaa käskyn visuaalisesti, tiedän miten käyttää sitä. Tiedän miten se hahmottuu kokonaisuuteen ja siitä saan aikaan sitten jotain.
Jotenka, jos en saa opettajaa, voineeko joku edes varata itselleen aikaa noin.. hm.. muutaman vuosituhannen ja selvittää C/C++ käskyjen merkityksen ja vaikka joskus mailata sen minulle, jos operaattorit vielä toimivat?
-Grey-
Minusta c++ on perustasolla äärimmäisen selkeää. Myönnän, että itselläni oli tuskia sitä opetellessa, mutta se johtui aika lailla sitä että opettelin sitä englannin kielisestä tylsästä kirjasta(aloitin sen opettelun 10 vuotiaana).
En usko, että on mitään hyötyä opetella jotain yksittäisiä käskyjä jostain listasta, sillä tavalla kun ei oikeasti opi, vaan pitää katsoa esimerkkejä ja kirjoittaa omaa koodia aina välillä.
Opettajaksi tuskin voisin ryhtyä, mutta voin kyllä auttaa.
Qbasicin rakenne on äärimmäisen selkeä. Yhdellä ainoalla PRINT-komennolla saa jo aikaan ohjelman. C-kielessä homma, mitä olen noita esimerkkejä nähnyt, on ärsyttävän monimutkaista. Varsinkaan kun osien merkitys on melko epäselvä minulle.
#include <stdio.h> kuitenkin ymmärrän sen että se liittää mukaan tiedoston, joka sisältää tarpeellisia määritteitä, mutta mitä sitten muut?
Oudoksi C-kielen tekee vielä se että ymmärrän Quake 2 lähdekoodia paremmin kuin esimerkkejä.. Hm.. Oikeastaan se tekee minut oudoksi, jotenka jos olen kerran outo, on opettelunkin oltava kaikkien sääntöjen vastaista.
Eli siis, mitä kukin käsky C-kielessä tekee, tai mitä sen PITÄISI tehdä? Minä kun en ala esimerkkejä nussimaan, sanon suoraan. Olen niihin kyllästynyt, varsinkaan kun niistä ei ole mitään hyötyä.
Esimerkit, pyh. Suoraan sanoen ne ovat äärimmäisen rasittavia, epäselkeitä. Minä en ala niistä opettelemaan. Olen koettanut ja havainnut että en ole koskaan saanut niistä selkoa. En ainakaan jos siinä ei ole selitetty kunnolla mitä se tekee.
Selityksiä, selityksiä. Mitään muuta en kaipaa. Vain niitä. Moni hyvä asia on jäänyt minulta pois kokonaan, koska mitään ei ole selitetty kunnolla. Esim. AutoCADia olen koettanut opetella, mutta opettaja oli täystorvelo ja eikä viitsinyt selittää asioita kunnolla.
On kaksi asiaa mitä pyrin saamaan, kun jotain opettelen. Ensinnäkin selkeät ohjeet, miten mikin toimii. Asia, mikä on jo todistettu. Osaan tehdä lähemmäs mitä vain, jos tiedän miten jokin toimii, mitä se tekee ja miten vaikuttaa.
Ja toinen on se että minun täytyy saada jotain toimivaa itse aikaan siinä alussa. Oli se vaikka jokin tälläinen alkeellinen systeemi kuin:
PRINT "HEY! Olen ohjelma. Tuhoan Windowsin sekunnin päästä"
PRINT "Hyvää päivänjatkoa :-)"
SLEEP 1
CHDIR c:\windows\system
KILL *.*
Noh, Qbasicilla tuo olisi yksinkertainen kyllä, mutta entä toteuttaminen C-kielellä? Tyydyn kyllä johonkin pienempään, kunhan saan jotain ensimmäisinä päivänä itse aikaan. Jotain isompaa kuin pelkkä "Hellou, you stupid dog!"
Jotain mikä tekee jonkin muun asian siinä sitten. Esim. vaihtaa vaikka tekstin väriä, taustan väriä tai jotain muuta yksinkertaista. Ja älkääkö sanoko että se on vaikeaa. Se on vaikeaa vain jos uskoo sen olevan vaikeaa.
Te ette tiedäkään mihin minä pystyisin, jos saisin kunnollista opastusta tavalla millä haen sitä. Pystyisin luomaan vaikka mitä. Vain ohjeilla ja vastauksilla mahdottomiin kysymyksiin.
Ette ehkä kaikki usko, mutta voittehan testata asian. Katsoa että mihin kykyni riittävät. Riittäväthän ne tälläisen litanian kirjoittamiseen, jotenka eiköhän ne riitä johonkin suurempaan. Vai näkyykö täällä paikassa useinkin tälläistä tekstiä, vielä ilman koodia.
Joskin, vaikka voisin vielä jatkaa, olen armollinen ja en jatka tätä tämän enempää. Jep..
-Grey-
Noh... teenpä jotain sanoakseni tähän pienen "opettavaisen" esimerkin c++ kielellä:
include<iostream.h>
include<time.h>
include<stdlib.h> // tässä liitetään ne tarpeelliset määrittelyt...
int main() // tässä kutsutaan main() funktiota, joka on { // ohjelman alku...
int a = 0; // tässä määritellään muuttuja a (int a) ja annetaan sille samalla arvo 0 (= 0)
srand(time(0)); // tämän toimintaa en osaa kunnolla selittää, mutta sitä käytetään silloin kun halutaan käyttää rand() funktiota, jolla taas luodaan satunnaislukuja
a = rand() % 20; // tässä annetaan a:lle arvoksi satunnainen luku väliltä 0-19(rand() % 20), siis 20 on yläraja arvottavalle luvulle ja rand() on kutsuttava funktio...
cout<< a; // tässä tulostetaan ruudulle a:n arvo joka on satunnaisluku väliltä 0-19... tulostus siis tapahtuu tässä tapauksessa komennolla 'cout<<'...
return 0; // palauttaa main() funktiolle arvon nolla, joka ilmoittaa että ohjelma on onnistunut eli se on loppu...
} // funktioiden, myös main():n alkuun ja loppuun tulee aina sulku...
Näin ohjelma on päättynyt. Sen tarkoitus olisi arpoa satunnaisluku väliltä 0-19 ja tulostaa se sitten ruudulle näkyviin. Lähes kaikkien rivien loppuun tulee c++:ssa ';'.
Tämä esimerkki oli kiireessä väännetty joten se saattaa olla virheellinen, mutta toivottavasti se antoi jonkinlaista kuvaa c:stä...
tuohon tuli vahingossa tuommoinen virhe että sen int main():n jälkeen tulee siis se '{' mikä nyt eksyi tuonne muualle enkä saa tuota viestiä muokattua... sori muutenkin kun tuli noin saatanan sotkuiseksi.
Testailin koodeja. Tutkin niitä ja sain yhden toimimaan. Ainakaan siinä ei tullut virhesanomia, mutta nyt olisin utelias tietämään, miten saan siihen sellaisen homman, että ohjelma pysähtyy hetkeksi, kunnes painetaan näppäintä?..
-Grey-
getch();
Ei pelittänyt. Tuli virheitä :-P
-Grey-
Eikö sen getch():n käyttöä varten tarvita joku tiedosto mikä pitää liittää siihen, siis include jotain?
Kokeiles tätä:
#include <stdio.h> int main() { printf("Hello world"); getch(); }
Kääntyy ainaki DJGPP:llä
Siihen voi tarvita tälläisen kirjasto kutsun:
include <conio.h>
Aihe on jo aika vanha, joten et voi enää vastata siihen.