struct ----> array
-
ich bin da jetzt an meiner programmierkenntnisse...
da könnt ihr mir sicher helfen...ich will das so programmieren, sodass die ausgage:
wurf0 ( fest)
x: ( veränderbar nach compiliernen) /cin >>
y: "wurf1:
x:
y:
.
.
.
.und nachdem ich das letzte mal enter gedrückt habe kommt z.b
"deine Koordinaten sind:"
Wurf 0:
x: 9
y: 8Wurf 1:
x: 4
y: 7Wurf 2:
x: 3
y: 5und dies mit "struct"
ich glaube ich bin zu alt um C++ zu lernenkann mir da jemand helfen?
-
Hallo,
ich glaube, dass keiner hier in Forum dir helfen, kann wenn Du uns nur so spähliche Informationen gibts.1.) Was soll das Programm machen?
2.) Was willst Du mit struct? Wissen was das ist, wann man es anwendet?
3.) Bitte stelle eine präzise Frage!
4.) Verwende Code-Tags!Dann helfen wir dir gerne!
lg, freakC++PS.:Lies dir mal selsbt deinen Post durch und versuch diesen zu verstehen, wenn Du keine Ahnung hast, worum es geht!
-
Suchst du evtl. so etwas:
#include <string> using namespace std; struct Wurf { int x,y; } int main() { int z; // nur für die Pause der Konsole beim Programmende const int loops = 3; // so viele Würfe wie gewünscht Wurf w[loops]; // Array of Wurf[loops] for (int i = 0; i < loops; i++) { cout << "Bitte x eingeben: "; cin >> w[i].x; cout << "Bitte y eingeben: "; cin >> w[i].y; } for (int i = 0; i < loops; i++) { cout << "Wurf: " << i+1 << endl; cout << "x: " << w[i].x << endl; cout << "y: " << w[i].y << endl << endl; } // Pause damit die Konsole offen bleibt cin >> z; }
-
Wenn du etwas fit in der STL bist (und das solltest du als guter Programmierer):
#include <iostream> #include <vector> #include <string> #include <conio.h> struct Vector2f { int x, y; }; int main( ) { std::vector<Vector2f> vec; unsigned short inkr = 0; std::string input; while( input != "exit" ) { std::string nInput; Vector2f vec2f; std::cout<<"Bitte Koordinaten eintragen, zum Beenden bitte exit eintragen"<<std::endl; std::cout<<"X-Koordinate: "; std::cin>>nInput; if( nInput != "exit" ) { vec2f.x = ::atoi( nInput.c_str( ) ); std::cout<<"Y-Koordinate: "; std::cin>>vec2f.y; vec.push_back( vec2f ); } else { input = "exit"; std::cout<<"\0"; } } for( std::vector<Vector2f>::iterator i = vec.begin( ); i != vec.end( ); ++i ) { std::cout<<"Wurf "<< inkr <<":"<<std::endl; std::cout<<"x: "<< i->x <<std::endl; std::cout<<"y: "<< i->y <<std::endl; ++inkr; } getch( ); }
Sachen wie getch( ); sollte man wohl vermeiden, aber für Testzwecke sollte es noch akzeptabel sein.
-
whaaatz schrieb:
ich glaube ich bin zu alt um C++ zu lernen
Kóyaánasqatsi schrieb:
Wenn du etwas fit in der STL bist (und das solltest du als guter Programmierer)
Ganz anderes Niveau (und keine Handcreme)
-
DeepCopy schrieb:
Ganz anderes Niveau (und keine Handcreme)
Na und? Dann ist es jetzt die beste Zeit um es zu lernen.
-
Schon klar.. besonders wenn er nicht mal sein Problem richtig definieren kann.
Schon mal einen Blick auf die Thread-Überschrift geworfen? Da steht:
struct ----> array
und nicht
struct ----> STL
und auch erst nachdem ich die Lösung präsentiert habe.
-
@DeepCopy: Er will es aber mit dynamischer Länge, soweit ich verstanden habe... äh... soweit ich versucht habe, das Geschriebene irgendwie für mich in verständliche Bahnen zu lenken.
Und da ist die STL ein vernünftiger Weg, denke ich.
@whaaatz: Wenn ich mit dem Dynamischen recht habe und dir die STL zu abgefahren ist (
), dann musst du mit new[] und delete[] arbeiten.
Schließen der Konsole verhindern: http://www.c-plusplus.net/forum/viewtopic-var-p-is-797103.html
-
_matze schrieb:
Schließen der Konsole verhindern: http://www.c-plusplus.net/forum/viewtopic-var-p-is-797103.html
Danke, hab's auf die schnelle nicht gefunden.
-
_matze schrieb:
@DeepCopy: Er will es aber mit dynamischer Länge, soweit ich verstanden habe... äh... soweit ich versucht habe, das Geschriebene irgendwie für mich in verständliche Bahnen zu lenken.
Und da ist die STL ein vernünftiger Weg, denke ich.
Dann hört Ihm doch mal zu kuckst du hier.
Er will ein Array mit (3!) Würfe
3 Würfe, nichts dynamisches und zum Schließen der Konsole kann ich euch nur raten, so wie ich es im Studium gelernt habe, für einen absoluten Anfängern sind eure Profi-Gedanken einfach nur Gift! Ein einfaches cin >> x; und er hat wenigstens Mal einen Anfang, und später können wird über read buffer, ignore buffer u.ä. mit Ihm reden meint ihr nicht?
Und wenn er nicht will das seine Konsole manchmal schließt und er gar nicht versteht warum, dann ist der Hinweis (aus Päd. Hinsicht) doch angemessen, oder nicht?
Es kann natürlich auch sein das whaaatz ein Troll ist, was ich natürlich nicht hoffe!
-
DeepCopy schrieb:
Dann hört Ihm doch mal zu kuckst du hier.
Er will ein Array mit (3!) Würfe
3 Würfe, nichts dynamisches
Ok. War ja hier nicht wirklich ersichtlich.
DeepCopy schrieb:
und zum Schließen der Konsole kann ich euch nur raten, so wie ich es im Studium gelernt habe, für einen absoluten Anfängern sind eure Profi-Gedanken einfach nur Gift!
Wieso? Sieh dir den FAQ-Beitrag doch mal an. Erstens wird ihm da eine fertige Funktion geliefert, die er nur aufrufen muss (selber verstehen muss er da eigentlich nix). Und zweitens ist es sicher verwirrender, wenn die mehrfach erfolgreich angewendete Simpel-Variante wie cin>>x plötzlich nicht mehr funktioniert, weil diesmal noch was im Puffer steht. Da fängt der unbedarfte Anfänger dann oft an, mehrere getchar oder cin-Anweisungen hintereinanderzusetzen, bis es klappt...
-
Hmm... ja da hast du vielleicht gar nicht so unrecht.
-
DeepCopy schrieb:
Hmm... ja da hast du vielleicht gar nicht so unrecht.
Ich hab immer recht!
-
DeepCopy schrieb:
Suchst du evtl. so etwas:
#include <string> using namespace std; struct Wurf { int x,y; } int main() { int z; // nur für die Pause der Konsole beim Programmende const int loops = 3; // so viele Würfe wie gewünscht Wurf w[loops]; // Array of Wurf[loops] for (int i = 0; i < loops; i++) { cout << "Bitte x eingeben: "; cin >> w[i].x; cout << "Bitte y eingeben: "; cin >> w[i].y; } for (int i = 0; i < loops; i++) { cout << "Wurf: " << i+1 << endl; cout << "x: " << w[i].x << endl; cout << "y: " << w[i].y << endl << endl; } // Pause damit die Konsole offen bleibt cin >> z; }
leider funktioniert dies gar nicht...
-
Leider funktioniert dies gar nicht ist keine Feherlbeschreibung...
Ansonsten würd ich noch oben
#include <iostream>
includieren.
Greets
Tobi
-
Tobias Gerg schrieb:
Leider funktioniert dies gar nicht ist keine Feherlbeschreibung...
Ansonsten würd ich noch oben
#include <iostream>
includieren.
Greets
Tobidies habe ich auch schon hinzugefüügt... aber geht trotzdem nicht
-
Hallo,
bitte gib uns eine Fehlermeldung oder erkläre, was "funktioniert nicht" heißt. Wir können leider noch nicht hellsehen.lg, freakC++
-
dann erleuchte uns doch mal mit einer fehlermeldung
-
extraneous 'int' ignored .... line 20
new types may not be defined in a return type...line 20
return type for 'main' changed to 'int'....line 20
'main' must return 'int'....line 20
-
whaaatz schrieb:
dies habe ich auch schon hinzugefüügt... aber geht trotzdem nicht
Mensch, komm doch endlich mal auf den Punkt. Erst sagst du nicht was du möchtest, sodass sich schon die Forumsmitglieder darüber streiten, was du meinst und dann kommt noch eine Fehlerbeschreibung alá "Geht nicht".
Doch ist es so wie bei den meisten, Grundlagen lernen (aber keiner scheint es ernsthaft zu tun).
Der Fehler wird wohl beim fehlenden iostream-include und dem fehlenden Semikolon nach der Klammer nach der Struktur liegen.