Tabelle erstellen mit
-
Hi,
also ich bin neuling in c++. Arbeite damit gerade ma 3 Wochen und habe erst die "grundlagen" im kopf..
Da unser Professor nicht gerade die "krönung" ist, müssen wir uns fast alles selber beibringen..
nun habe ich aber ein problem, wo ich auf meinen bekannten seiten mit tuts nichs mehr weiter weiß..erstmal die Aufgabe:
-Taschenrechnerich rufe mit einer switch-Anweisung eine Rechenoperation auf. <klappt
dann kommt die Ausgabe "Wie viele Zahlen". Dort soll ich jetzt z.B. 5 Eingeben und es erscheint auf dem Bildschirm.x1= _ (Unterstrich = eingabe)
x2=_
x3=_
x4=_
x5=_das ergebnis der Multiplikation ist xxxx
Wie mache ich das, mit arry? hab daovn gelesen, das ich z.b:
int Zahl[5];
Zahl[0]='1';
usw machen kann.
aber komme da irgendwie nicht weiter..bin für jede Hilfe dankbar.
mfg
-
Code und evtl. Fehlermeldung bitte her. Wertzuweisung bei int-Arrays erfolgt ohne die '. Also
intArray[0] = 5;
-
Array ist ein denkbar schlechter Ansatz (zudem ist das was du abgeschrieben hast zwar technisch korrekt, tut aber garantiert nicht das was du meinst). Ein Array ist ein statisches Konstrukt zur Compilezeit, du willst zur Laufzeit dynamisch bestimmen, wieviele Werte es gibt. Das passende Stichwort wäre ien std::vector. Falls dein Kurs aber nichts taugt, wirst du damit nicht zurecht kommen, falls du nicht willens bist, eigenständig dazu zu lernen.
Außerdem brauchst du nicht wirklich ein Array. Wenn du 5 Zahlen addieren willst, reicht es, sich immer nur die aktuelle Zahl und die bisherige Summe zu merken. Du brauchst gar nicht alle Zahlen zu kennen. Ich vermute mal, dass die Aufgabe auch so gemeint ist.
Formatierte Tabellen ausgeben wie du es möchtest ist Systemabhängig. Was wäre zum Beispiel, wenn dein Programm auf einem Drucker ausgeführt wird? Was jedoch leicht und einigermaßen portabel geht ist, wenn du es Zeile für Zeile aufbaust:
Wieviele Eingaben?Eingabe 2.
Wieviele Eingaben? [b]2[/b] x1 =Eingabe 123
Wieviele Eingaben? [b]2[/b] x1 = [b]123[/b] x2 =Eingabe 6
Wieviele Eingaben? [b]2[/b] x1 = [b]123[/b] x2 = [b]6[/b] Ergebnis der Addition: 129
-
danke SeppJ
genau so soll das aufgebaut werden.
also über std::vector schlau machen?meine frage ist einfach, wenn ich in deinem beispiel ja "2" eigebe.
wie mache ich, das der genau
x1=
x2=
ausgibt? oder halt bei 3. x1;x2;x3?
-
Ich würde Vorschlagen, dass du meinen nachträglich reineditierten Absatz noch liest. Du brauchst weder Arrays noch vector und beides ist wahrscheinlich momentan noch viel zu hoch.
Wie man x1, x2 , x3 ausgibt? Wenn ich eine Zahl N eingebe, gib doch mal alle Zahlen von 1 bis N aus. Und jetzt gibst du dazwischen noch jeweils ein 'x' aus. Und dann solltest du auf die Lösung kommen.
-
Hallo, hier ein Beispiel:
#include <iostream> using namespace std; int main() { int a[5]; int erg=1; cout<<"Eingabe: "; for (int i=0;i<5;i++) { cin>>a[i]; erg=erg*a[i]; } cout<<"Endergebniss: " << erg << endl; system("PAUSE"); }
-
@ "@_/": Und es ist immer auf 5 beschränkt. Und wozu ist überhaupt a ein Array, wenn du das nirgends benutzt?
-
[quote="SeppJ"]Ich würde Vorschlagen, dass du meinen nachträglich reineditierten Absatz noch liest. Du brauchst weder Arrays noch vector und beides ist wahrscheinlich momentan noch viel zu hoch.
Wie man x1, x2 , x3 ausgibt? Wenn ich eine Zahl N eingebe, gib doch mal alle Zahlen von 1 bis N aus. Und jetzt gibst du dazwischen noch jeweils ein 'x' aus. Und dann solltest du auf die Lösung kommen.[/quote]
ja das is +1
aber wie mache ich das im programm?
wenn ich z.B. sage meine Variable der Zahlenanzal ist "Z".
also
int Z;
dann kommt die eingabe
cin>>Z;
dann hab ich ja die zahl.
sagen wir 2.nun Ausagbe
cout<<"Zahl 1 = ";
und wie binde ich jetzt hier ein, das er es genau nochmal machen soll?
das versteh ich nur nicht
-
while (cin>>Z) { erg*=Z; }Das wäre aber nur auf Multiplikation beschränkt. Die Schleife beendest du mit einer nicht-numerischen Eingabe. Es gibt aber geschicktere Lösungen.
-
for (size_t i = 1; i <= Anzahl; i++) { cout << "x" << i <<"= "; }Hilft dir das weiter?
-
Dudemeister schrieb:
for (size_t i = 1; i <= Anzahl; i++) { cout << "x" << i <<"= "; }Hilft dir das weiter?
Und was hat das mit seiner Frage zu tun?
-
Naja, ich hab aus seiner Frage rausgelesen, dass er wissen möchte wie man
x1=
x2=
x3=ausgibt. Tut mir leid wenn ich die Frage falsch verstanden habe.
-
[Rewind] schrieb:
Dudemeister schrieb:
for (size_t i = 1; i <= Anzahl; i++) { cout << "x" << i <<"= "; }Hilft dir das weiter?
Und was hat das mit seiner Frage zu tun?
Das ist die Antwort da drauf
. Die Frage hat sich im Threadverlauf etwas geändert.Und es ist ein brauchbarer Ansatz für die Ausgangsfrage.
-
[quote="Dudemeister"]
for (size_t i = 1; i <= Anzahl; i++) { cout << "x" << i <<"= "; }Hilft dir das weiter?[/quote]
das wollte ich.
bloß wie mache ich jetzt zb. hinter x1 die eingabe?
der schreibt die alle direkt nebeneinander einfach auf..
-
Indem du eine Eingabe einfügst? Verstehst du Dudemeisters Code? Wenn du es verstehst, kannst du es erweitern. Wenn du es nicht verstehst, versuch es zu verstehen.
-
Am besten hinter der Ausgabe innerhalb der for-Schleife
for (size_t i = 1; i <= Anzahl; i++) { cout << "x" << i <<"= "; // hier die Zahl einlesen }musst halt vorher eigentlich noch überlegen was du mit der Zahl machen willst. Willst sie in einem Container speichern? brauchst du die zahl später noch oder kannst du sie gleich verrechnen? das sind die Fragen die Du Dir stellen solltest.
-
die zahlen die ich eingebe müssen hinterher addiert, mulitpliziert, subtrahiert oder dividiert werden.
das habe ich ja schon in der switch anwendung gemacht.#include <iostream> #include <string> using namespace std; int main () { int Zahl; char Auswahl; cout<<"Ihre Wahl?"; //Auflistung der Rechenoperation cout<<endl; cout<<"a"<<(char)051<<" Addition\t\t"; cout<<"s"<<(char)051<<" Subraktion\n"; cout<<"m"<<(char)051<<" Multiplikation\t" "d"<<(char)051<<" Division\n"; cout<<"e"<<(char)051<<" Ende\n"; cout<<endl; cin>>Auswahl; switch(Auswahl) //Auswahl der Rechenoperationen { case ('a'): //Addition cout<<"Wieviele Zahlen?"; cin>>Zahl; for (size_t i = 1; i <= Zahl; i++) { cout << "x" << i <<"= "; cin>>; } cout<<endl; break; default: cout<<"Keine konkrete Eingabe"; break; } cin.get(); cin.get(); return 0; }
-
Konzentrieren wir uns nur mal auf die Addition.
Du brauchst eine Variable die dein Ergebnis hält(sollte sinnvoll initialisiert werden).Innerhalb der for-schleife liest du die eingegebene Zahl in eine Variable ein und addierst diese zum Ergebnis. Nach der for-schleife gibst du das Ergebnis aus.