Fjåtten Marcus Skrevet 6. september 2012 Del Skrevet 6. september 2012 Så den siste uken har jeg lært 'C'. Etter to år ved og surre rundt og ikke greie og bestemme meg for et språk. Noe som er simpeltent helt for jævelig. Følelsen av og ikke komme noe sted. Stuck med og lage det samme kalkulator programmet om og om igjen. Noe som har ført til store perioder hvor jeg ikke har drevet med noe programmering. Men den siste tiden har jeg drevet mye med Java. Som lærte meg litt mer. Men Java er ikke min favoritt pga syntaxen i det. Så så litt på 'C'. Og det føltes veldig bra ut og skrive kode og lære. Pga det er ganske Basic språk som ligger nærme kjernen. Nok om det. Lærte om pekere igår, noe som var et levende helvette fordi jeg ser ingen grunn til og bruke det utenom i store programmer for og ikke bruke for mye minne. Noe som sikkert er lurt men jeg ikke ser så mye på enda. Dette programmer spør etter etternavn. Og visse karakterer i fag. Så får du tilbake gjenomsnitt ut av dette. Senere skal jeg legge til så dette blir skrivd til en fil. Som du kan åpne, se på osv. Men det tar vi litt senere. Her er programmet vært fall. : #include <stdio.h> #include <stdlib.h> typedef struct { char *name; int scienceGrade, historyGrade, mathGrade, englishGrade; } reportCard; //prototypes void printReportCard (reportCard *rc); int main() { reportCard rc; printf("Enter the student's last name: "); char str[20]; scanf("%s", str); rc.name = str; printf("Science Grade: "); scanf("%i", &rc.scienceGrade); printf("History Grade: "); scanf("%i", &rc.historyGrade); printf("Math Grade: "); scanf("%i", &rc.mathGrade); printf("English Grade: "); scanf("%i", &rc.englishGrade); printReportCard(&rc); return 0; } void printReportCard (reportCard *rc) { int average = (rc->scienceGrade + rc ->historyGrade + rc -> mathGrade + rc -> englishGrade) / 4; printf ("Student's Name: %s\nOverall Grade: %i\n",rc->name, average); } Bruker en serie på youtube som ser ut til og være ganske grei. Også startet smått og lese en bok. Hva trur dere ? Lenke til kommentar
GeirGrusom Skrevet 7. september 2012 Del Skrevet 7. september 2012 Det ser greit ut det der. Har du problemer med noe? Lenke til kommentar
Fjåtten Marcus Skrevet 7. september 2012 Forfatter Del Skrevet 7. september 2012 Det ser greit ut det der. Har du problemer med noe? Nei tenkte jeg bare skulle dele en liten historie med dere. Siden dette var den første posten min her. Lenke til kommentar
Kanutus Skrevet 5. oktober 2012 Del Skrevet 5. oktober 2012 ---snip--- Dette programmer spør etter etternavn. Og visse karakterer i fag. Så får du tilbake gjenomsnitt ut av dette. Senere skal jeg legge til så dette blir skrivd til en fil. Som du kan åpne, se på osv. Men det tar vi litt senere. ---snip---- Hva trur dere ? Jeg vil anta at du egentlig ikke vil bruke int for å beregne snittet. Det vil jo ikke bli spesielt nøyaktig. Lenke til kommentar
Djn Skrevet 16. oktober 2012 Del Skrevet 16. oktober 2012 (endret) Du vil helst også bruke scanf("%19s", str); for å lese etternavnet, så du ikke overskrider lengden på bufferet du lagrer det i - eller eventuelt kan du bruke getline for å lese tekst av vilkårlig lengde. (Dessuten vil scanf stoppe ved første mellomrom, om jeg leser manpagen riktig - kjedelig om etternavnet er "van Damme".) Endret 16. oktober 2012 av Djn Lenke til kommentar
LonelyMan Skrevet 5. desember 2012 Del Skrevet 5. desember 2012 (endret) Pekere er vanskelig å forstå i høynivåspråk fordi de ikke brukes på en naturlig måte relativt til hardwaren. Om du sliter med å forstå pekere i c++ så er det helt naturlig for c++ pekere handler lite om å virkelig forstå pekere, men mer om å forstå språket. Tro det eller ei, men alt i c++ programmet ditt er pekere. Selv navnet på en prosedyre er en peker. Du bruker pekere hele tiden, selv når du tror du ikke bruker pekere. Når du kaller en prosedyre så benytter du deg av en peker. Når du refererer variabler så benytter du deg av en peker. Når du kaller opp com interface metoder så benytter du deg av en peker. Når du benytter deg av objekter så benytter du deg av en peker. Men i c++ verdenen så har de likevel definert pekere som en unik entitet og avgrenset eller innsnevret pekere til et eget felt, hvilket kan være useful, men det lærer deg ikke nødvendigvis hva som er riktig. Derfor er pekere i c++ en språklig forståelse, og ikke en teknisk forståelse, og ingen skam å være vantro der. I høynivåspråk så lærer en seg å bruke pekere og det blir en vane, man skjønner at innholdet i en variabel tolkes som en peker til en annen plass, og til slutt så blir det en vane, men man får aldri denne praktiske erfaringen med hva pekere faktisk er for noe. I språket så har vi et innsnrevret felt som kalles pekere og dette feltet eksisterer av en eneste årsak, det er fordi høynivåspråk er en forenkling av maskinspråk, forenkling krever et sett med regler, og disse reglene gjør at pekere må innsnevres til et unaturlig felt. Det er hele årsaken. Det er pga reglene som som en simplifisering krever som gjør at pekere får en unaturlig forklaring. Forklaringen for hvorfor ting er slik og slik vil alltid være for lite tilfredsstillende for en programmerer, og han vil alltid føle seg litt usikker på pekere på tross av at han er klinkende sikker på hvordan han bruker de. En teknisk forståelse vil for alltid gjøre deg bombesikker på pekere, føle deg trygg på hva det er. Derfor anbefaler jeg å studere litt assembler og se på pekere på lavt nivå. Den tryggheten du bygger opp der vil gjøre deg mer trygg på c++. Det er litt som å fly, du lærer deg å kjenne flyets dynamikk og instinktivt vet du hvordan du flyr, men du føler deg ikke trygg på flyving før du lærer deg bernoulli prinsippene, gravitasjon, vekt, energimestring, navigasjon etc. Først når det er på plass kan man virkelig sette pris på hva en driver på med. Endret 5. desember 2012 av LonelyMan Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå