Anfänger suchen Aufgaben
-
Hallo alle zusammen,
ich bin neu hier und beschäftige mich auch mit C ++ und lese dazu das Buch C++ für Spieleprogrammierer das Buch ist echt klasse und vermittelt einem wirklich die Grundlagen von anfang an. Bin gerade bei Schleifen stehen geblieben und bin richtig überfordert zur Zeit. Mein Hauptproblem liegt darin wie ich die meisten sachen mit einander benutzen kann im code. Ich wollte euch nun mal fragen ob ihr Tipps habt zum besseren Lernen von C++ und außerdem ob ihr paar kleine Aufgaben für mich hättet in bezug auf If/else schleifen und else if und Verschachtelung sowie for schleifen und so.
Danke schonmal
-
Salut!
Crankmanker schrieb:
... lese dazu das Buch C++ für Spieleprogrammierer ...
Kenn ich, ist ein gutes Buch
... Ich wollte euch nun mal fragen ob ihr Tipps habt zum besseren Lernen von C++ ...
Übung macht den Meister!
... und außerdem ob ihr paar kleine Aufgaben für mich hättet in bezug auf If/else schleifen und else if und Verschachtelung sowie for schleifen und so. ...
Geh ma zum Anfang des Threads, da sind welche Aufgaben mit if/else und Co.
Gruß
agi
-
okkkaayy danke für den hinweis...
mit übung macht den meister meinst du bestimmt das ich einfach programmieren soll kombinieren soll und alles oder ? Also denke ich mir mal was aus und versuche es zu programmieren ? So in etwa richtig ?
und mit if/else Aufgaben werde ich mich sofort ran machen
-
Was mir gerade auffällt, du bist erst bei if/else und loops und arbeitest schon mit Pointern?
Kommen die nicht immer erst viel später in so Büchern?
-
PRIEST schrieb:
Was mir gerade auffällt, du bist erst bei if/else und loops und arbeitest schon mit Pointern?
Ich bin schon seit gestern im Kapitel Pointer angelangt
Es wäre daher nicht schlecht, wenn ihr mir paar Aufgaben dazu geben würdetKommen die nicht immer erst viel später in so Büchern?
In der Regel schon.
Gruß
agiPS: Aufgaben zum Thema Rekursion, wären ebenfalls nicht schlecht (hab da so meine macken)
-
Rekursion? Pointer? Wie wärs mit nem Binär-Baum
-
Juten morgen euch allen,
boah ich freu mich schon wenn ich auch mal bei den pointern lande habe heute mit Funktionen angefangen und das mit den Schleifen hackt auch noch ein wenig muss ich mich auch noch besser drum kümmern... Naja eine Frage hätte ich da mal an euch kann man auf der konsole eigentlich irgendwelche Farben herzaubern haha
-
moin!
Probiers ma mit system("COLOR 00"); oder so...
du musst dazu windows.h includen!
Gruß
agi
-
Geil danke schön für den Tipp,
sieht doch jetzt mal viel besser aus so macht dat schon mehr spaß
-
Ich hätte gerne die möglichkeit einen Satz einzugeben und das Programm soll mir sagen wieviele Vokale (aufgesplittet) sich in diesem Satz befinden. Also Anzahl von A usw. ebenfalls möchte ich eine Anzahl der Konsonanten haben. Die eingabe des Satzes soll mit einem Punkt beendet werden.
Sitz schon ne weile vor'm Schirm und ich habe immer noch nichts hinbekommen
Außer vielleicht scanf() auf dein Teilproblem angepasst:scanf("%99[^.]",satz);
strchr und strpbrk hilft mir au nich weiter...
Ich brauche irwas mit der die Stringstelle als "Array-Index" zurückgegeben wird sprich: wenn a in array[index] lokalisiert is, gib mir den aktuellen index.
Dann sollte ich die Aufgabe auch lösen könnenGrüße
agi
-
oder einfach nen switch case und ne while schleife :p
-
PRIEST schrieb:
oder einfach nen switch case und ne while schleife :p
und das ohne den Header string.h ? Hmmm...
char array[5]={"Test"};
if(array[1]=='a') // Hier wird ja irwas mit a verglichen, aber nich der Buchstabe e :p
{
...
...
...Grüße
agi
-
geht mir ja um ne eingabe und wärent dessen soll geprüft werden also
solange eigegeben wird
überprüfe die eingabe und ordne sie dem entsprechenden case zu
wenn der case punkt eintrifft geh aus der schleifeso wäre doch auch ganz ok, oda
-
ja das problem is doch, dass beim Vergleich irein Wert mit a verglichen wird also in dem Fall nich wie erwartet ist e == a sondern ist irein Zahlenwert == a ? Und deshalb geht das leider nich... (bei mir ging das zumindest nich)
char array[5]={"test"} ;
if(array[1]=='a')
{count++;
}
...
...ja klar wenn das gehen würde, würde ich ja au switch einsetzen, aber es geht ja nich...
Grüße
agi
-
Hi,
aXYZn schrieb:
So GNU-Fan, hier ist dein Programm
Gleich die nächste Aufgabe: Ich kann mich leider nicht entscheiden, welches Betriebssystem ich verwenden soll. Manchmal verwende ich zwar Windows, manchmal aber auch MacOS X, GNU/Linux und viele, viele andere.
Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?
-
nman schrieb:
Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?
das ist unmöglich
-
Das ganze Problem hört schreit quasi nach einer Lösung mit Bucket-Sort oder ?
-
general bacardi schrieb:
das ist unmöglich
Ich glaube er meint, das GetAsyncKeyState...
Das ganze Problem hört schreit quasi nach einer Lösung mit Bucket-Sort oder ?
Welches Prob. das von nman oder PRIEST ?
Grüße
agiEdit:
aXYZn schrieb:
ja klar wenn das gehen würde, würde ich ja au switch einsetzen, aber es geht ja nich...
Oh, es geht ja wirklich. Ich hatte unrecht sry PRIEST
#include <stdio.h> #include <stdlib.h> int main() { char string[]={"Test"}; if(string[0]=='T') { printf("Glueckwunsch\n"); } else { printf("Looser!"); } system("PAUSE"); return 0; }
Ich bekam die Ausgabe Glueckwunsch xD
-
aXYZn schrieb:
Ich glaube er meint, das GetAsyncKeyState...
Mit C++ keine Chance. Muss für jedes Sytem neu kompilieret werden. Mit Interpretersprachen wie Java, Python geht es
-
PRIEST schrieb:
Ich hätte gerne die möglichkeit einen Satz einzugeben und das Programm soll mir sagen wieviele Vokale (aufgesplittet) sich in diesem Satz befinden. Also Anzahl von A usw. ebenfalls möchte ich eine Anzahl der Konsonanten haben. Die eingabe des Satzes soll mit einem Punkt beendet werden.
Puh, so PRIEST hier is dein Programm :
#include <stdio.h> #include <stdlib.h> #include <string.h> void voc_check(char string[], int voc[], int *n) { int i; for(i=0;i<=*n;i++) { if(string[i]!='a'&&string[i]!='e'&&string[i]!='i'&&string[i]!='o'&&string[i]!='u') { continue; } if(string[i]=='a') { voc[0]++; continue; } if(string[i]=='e') { voc[1]++; continue; } if(string[i]=='i') { voc[2]++; continue; } if(string[i]=='o') { voc[3]++; continue; } if(string[i]=='u') { voc[4]++; continue; } } } void voc_big(char string[], int voc[], int *n) { int i; for(i=0;i<=*n;i++) { if(string[i]!='A'&&string[i]!='E'&&string[i]!='I'&&string[i]!='O'&&string[i]!='U') { continue; } if(string[i]=='A') { voc[0]++; continue; } if(string[i]=='E') { voc[1]++; continue; } if(string[i]=='I') { voc[2]++; continue; } if(string[i]=='O') { voc[3]++; continue; } if(string[i]=='U') { voc[4]++; continue; } } } void kon_check(char string[], int *n,int kons[]) { int i; for(i=0;i<= *n;i++) { if(string[i]!='b'&&string[i]!='c'&&string[i]!='d'&&string[i]!='f'&&string[i]!='g'&&string[i]!='h'&&string[i]!='j'&&string[i]!='k'&&string[i]!='l'&&string[i]!='m'&&string[i]!='n'&&string[i]!='p'&&string[i]!='q'&&string[i]!='r'&&string[i]!='s'&&string[i]!='t'&&string[i]!='v'&&string[i]!='w'&&string[i]!='x'&&string[i]!='y'&&string[i]!='z') { continue; } if(string[i]=='b') { kons[0]++; continue; } if(string[i]=='c') { kons[1]++; continue; } if(string[i]=='d') { kons[2]++; continue; } if(string[i]=='f') { kons[3]++; continue; } if(string[i]=='g') { kons[4]++; continue; } if(string[i]=='h') { kons[5]++; continue; } if(string[i]=='j') { kons[6]++; continue; } if(string[i]=='k') { kons[7]++; continue; } if(string[i]=='l') { kons[8]++; continue; } if(string[i]=='m') { kons[9]++; continue; } if(string[i]=='n') { kons[10]++; continue; } if(string[i]=='p') { kons[11]++; continue; } if(string[i]=='q') { kons[12]++; continue; } if(string[i]=='r') { kons[13]++; continue; } if(string[i]=='s') { kons[14]++; continue; } if(string[i]=='t') { kons[15]++; continue; } if(string[i]=='v') { kons[16]++; continue; } if(string[i]=='w') { kons[17]++; continue; } if(string[i]=='x') { kons[18]++; continue; } if(string[i]=='y') { kons[19]++; continue; } if(string[i]=='z') { kons[20]++; continue; } } } void kon_big(char string[], int *n,int kons[]) { int i; for(i=0;i<= *n;i++) { if(string[i]!='B'&&string[i]!='C'&&string[i]!='D'&&string[i]!='F'&&string[i]!='G'&&string[i]!='H'&&string[i]!='J'&&string[i]!='K'&&string[i]!='L'&&string[i]!='M'&&string[i]!='N'&&string[i]!='P'&&string[i]!='Q'&&string[i]!='R'&&string[i]!='S'&&string[i]!='T'&&string[i]!='V'&&string[i]!='W'&&string[i]!='X'&&string[i]!='Y'&&string[i]!='Z') { continue; } if(string[i]=='B') { kons[0]++; continue; } if(string[i]=='C') { kons[1]++; continue; } if(string[i]=='D') { kons[2]++; continue; } if(string[i]=='F') { kons[3]++; continue; } if(string[i]=='G') { kons[4]++; continue; } if(string[i]=='H') { kons[5]++; continue; } if(string[i]=='J') { kons[6]++; continue; } if(string[i]=='K') { kons[7]++; continue; } if(string[i]=='L') { kons[8]++; continue; } if(string[i]=='M') { kons[9]++; continue; } if(string[i]=='N') { kons[10]++; continue; } if(string[i]=='P') { kons[11]++; continue; } if(string[i]=='Q') { kons[12]++; continue; } if(string[i]=='R') { kons[13]++; continue; } if(string[i]=='S') { kons[14]++; continue; } if(string[i]=='T') { kons[15]++; continue; } if(string[i]=='V') { kons[16]++; continue; } if(string[i]=='W') { kons[17]++; continue; } if(string[i]=='X') { kons[18]++; continue; } if(string[i]=='Y') { kons[19]++; continue; } if(string[i]=='Z') { kons[20]++; continue; } } } int main() { int n, voc[5]={0,0,0,0,0}, kon[21]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // a,e,i,o,u char string[100]; scanf("%99[^.]",string); fflush(stdin); n=strlen(string); voc_check(string,voc,&n); kon_check(string,&n,kon); voc_big(string,voc,&n); kon_big(string,&n,kon); printf("\n"); printf("Vokale:\na: %d e: %d i: %d o: %d u: %d\n",voc[0],voc[1],voc[2],voc[3],voc[4]); printf("Konsonanten:\nb: %d c: %d d: %d f: %d g: %d\nh: %d j: %d k: %d l: %d m: %d\nn: %d p: %d q: %d r: %d s: %d\nt: %d v: %d w: %d x: %d y: %d\nz: %d\n",kon[0],kon[1],kon[2],kon[3],kon[4],kon[5],kon[6],kon[7],kon[8],kon[9],kon[10],kon[11],kon[12],kon[13],kon[14],kon[15],kon[16],kon[17],kon[18],kon[19],kon[20]); printf("\n"); system("PAUSE"); return 0; }
Kleine Anmerkung:
Von allen Aufgabenstellern musste der arme PRIEST am längsten warten,
nur weil ich geglaubt habe string[2]=='a' irwas anderes vergleicht als den einzelnen charAch und mir war nich so nach switch, darum die if's
Grüße
agi