C++ unendlich Werte mit verschieden Variablen speichern
-
Hallo erstmal,
Ich brauche eure Hilfe.
Ich möchte ein Programm das abfragt wie viele Spieler spielen(so wie unten),
dann soll jeder Spieler hinteinander ein Wort eingeben und dieses Wort soll anschließend gespeichert werden.
Aber alles soll mit unendlich vielen Spielern funktionieren.Unten im Code soll es das Wort von Spieler1 als a einspeichern, das Wort von Spieler2 als b, Spieler3 als c, usw.
printf("Wie viele Spieler? "); fflush(stdin); scanf("%i", &anz); for(int i = 0; i <= anz; i++) { printf("Spieler %i Wort eingeben: ", i+1); fflush(stdin); scanf("%s", &a); }
Danke schonmal,
MFG Julian.
-
a und b als Variablennamen sind da denkbar ungeeignet.
Nimm std::vector
Und das Abbruchkriterium für die Schleife ist falsch.
-
unendlich vielen Spielern
Dafür würdest du einen Computer mit unendlichem Speicher benötigen...
-
@2stupid4you sagte in C++ unendlich Werte mit verschieden Variablen speichern:
fflush(stdin); scanf("%s", &a);
fflush()
hat für Eingabeströme undefiniertes Verhalten --> ersatzlos streichen.
%s
in einemscanf
-Formatstring schreit nach buffer overflow --> immer Längenangaben wie in zB%100s
verwenden.
-
@swordfish sagte in C++ unendlich Werte mit verschieden Variablen speichern:
%s
in einemscanf
-Formatstring schreit nach buffer overflow --> immer Längenangaben wie in zB%100s
verwenden.Ne. Einfach einen
string
mittelscin
einlesen.@manni66 sagte in C++ unendlich Werte mit verschieden Variablen speichern:
unendlich vielen Spielern
Dafür würdest du einen Computer mit unendlichem Speicher benötigen...
Naja, man muss zwischen unendlich vielen aktiven Spielern oder passiven Spielern differenzieren.. letzteres ist problemlos modellierbar. So wie ich es aus seiner Antwort herauslese, geht es allerdings um eine beliebig große aber endliche Zahl.
-
@columbo sagte in C++ unendlich Werte mit verschieden Variablen speichern:
@swordfish sagte in C++ unendlich Werte mit verschieden Variablen speichern:
%s
in einemscanf
-Formatstring schreit nach buffer overflow --> immer Längenangaben wie in zB%100s
verwenden.Ne. Einfach einen
string
mittelscin
einlesen.Habe die zwei Plus hinterm C übersehen.
-
@swordfish sagte in C++ unendlich Werte mit verschieden Variablen speichern:
@columbo sagte in C++ unendlich Werte mit verschieden Variablen speichern:
@swordfish sagte in C++ unendlich Werte mit verschieden Variablen speichern:
%s
in einemscanf
-Formatstring schreit nach buffer overflow --> immer Längenangaben wie in zB%100s
verwenden.Ne. Einfach einen
string
mittelscin
einlesen.Habe die zwei Plus hinterm C übersehen.
Kann man dir durchaus nachfühlen, wenn man sich den Code ansieht...
-
@columbo sagte in C++ unendlich Werte mit verschieden Variablen speichern:
wenn man sich den Code ansieht...
Ja, roch so streng nach C, daß ich davon so benebelt wurde und das ++ im Titel überlesen habe.
-
@columbo sagte in C++ unendlich Werte mit verschieden Variablen speichern:
Naja, man muss zwischen unendlich vielen aktiven Spielern oder passiven Spielern differenzieren.. letzteres ist problemlos modellierbar. So wie ich es aus seiner Antwort herauslese, geht es allerdings um eine beliebig große aber endliche Zahl.
Keine Ahnung, wo Du das herausliest:
@2stupid4you sagte in C++ unendlich Werte mit verschieden Variablen speichern:
Ich möchte ein Programm das abfragt wie viele Spieler spielen(so wie unten),
dann soll jeder Spieler hinteinander ein Wort eingeben und dieses Wort soll anschließend gespeichert werden.
Aber alles soll mit unendlich vielen Spielern funktionieren.
-
@belli Ich habe meinen Verstand eingesetzt, der mir die Annahme vorgab, der TE könne kaum beabsichtigen, tatsächlich eine unendliche Anzahl von Mitspielern mit einem endlichen Automat spielen zu lassen. Sein Name ist auch nicht Hilbert... man muss schon den interpretativen Spielraum walten lassen, und eine Frage so lesen, wie sie wahrscheinlich gemeint war. Deutlich hilfreicher als akribisch seinen Satz auseinander zunehmen.
-
Es gibt ja auch keinen Datentyp mit dem die Anzahl unendlich vieler Spieler eingegeben werden könnte (bezogen auf die Ganzzahl-Datentypen, ausgenommen die Fließkommazahlen mit +INF).
Gemeint war wohl eher "mit sehr vielen Spielern" (wobei das auch ebenfalls schwammig ist)...Auch schon bei mehreren Dutzend (geschweige denn Hunderte oder Tausende) von Spielern: der arme Nutzer, der dann in der Schleife die Namen eingeben soll! SCNR
Und mit C++ hat der Code auch nicht wirklich viel zu tun (geschweige denn die Fehler im Code, egal ob C oder C++).
-
Noch weiter gedacht: Sehr oft sind solche Fragestellungen, die eine vorherige Abfrage einer Maximalzahl von Mitspielern/Werten verlangen, darauf zurück zu führen, dass sich der Fragesteller nicht vorstellen kann, dass man sein Problem ohne eine solche Abfrage lösen könnte. Dabei ist es im Gegenteil viel einfacher und flexibler, wenn man einfach die Werte nimmt, wie sie kommen, gerade in C++ mit vector. Diese Fragestellung hier riecht auch stark nach solch einem Fall.
-
@columbo sagte in C++ unendlich Werte mit verschieden Variablen speichern:
@belli Ich habe meinen Verstand eingesetzt, der mir die Annahme vorgab, der TE könne kaum beabsichtigen, tatsächlich eine unendliche Anzahl von Mitspielern mit einem endlichen Automat spielen zu lassen.
Das hast Du gut gemacht! Aber etwas zu interpretieren ist trotzdem etwas anderes, als etwas "aus seiner Antwort herauszulesen".
In diesem konkreten Fall ist die Interpretation ja genau das Gegenteil von dem, was der TE geschrieben hat.
Gerade im Bereich der Programmierung kommt man schlecht um präzise Formulierungen herum.
Ansonsten interpretier mal, wieviele Spieler denn nun mit "unendlich viele" gemeint sind: 100? 7? 10000?
Es sollte dem TE schon klar gemacht werden, dass man ihm am besten helfen kann, wenn er sich so präzise wie möglich ausdrückt.
Und wer weiß denn schon, ob er am Ende nicht doch unendlich viele haben möchte?
-
Auch wenn ihr gene diskutiert. Ich glaube aber den TE habt ihr schon lange verloren.