Zeichen zu Variable hinzufügen

S

Sealtuagn

Halli Hallo,

ich hab nur ne kleine Frage......
ich wollt für die Schule einen Taschenrechner erstellen....
Und da wollt ich ne ausgabe, die dann so aussieht:

Bitte Warten
1. Sekunde: *
2. Sekunde: **
3. Sekunde: ***
4. Sekunde: ****
5. Sekunde: *****


Also das jede Sekunde ein * dazukommt....

kann mirjemand sagen, wie ich das realisieren kann
Vielleicht könnt ihr mir ja auch eine kleine Kommentierung dazu geben, weil ich C/C++ grade neu lerne.
 
Hi.

Erstmal die Frage: Wozu soll das gut sein? Für einen Taschenrechner brauchst du doch keine Statusanzeige die jede Sekunde ein weiteres Zeichen anzeigt - die Berechnung ist doch augenblicklich fertig, dauert höchsten ein paar Millisekunden. Da lohnt es sich doch nicht drüber nachzudenken, wie man während der Berechnung eine Art Statusanzeige macht, oder?!

Aber gut. Das erste Problem ist, das du die Berechnung und die Anzeige gleichzeitig machen mußt. Da gibt es mehrere Möglichkeiten. Die einfachste wäre einfach während deiner Berechnung zu schauen ob schon wieder eine Sekunde um ist, und dann eben ein Zeichen hinzuzufügen. Dann gäbe es die Möglichkeit einen Timer zu benutzen und mehrere Threads.

Hier mal ein Beispiel mit der ersten Methode. (man könnte in dem Fall auch einfach das Programm eine Sekunde schlafen lassen...)
Code:
#include <ctime>
#include <string>
#include <iostream>

using namespace std;

int main() {
  time_t start, now;
  string sternchen;

  start = time (NULL);
  while (true) {
    now = time (NULL);
    if ((now - start) > sternchen.length ()) {
      sternchen += '*';
      cout << sternchen << endl;
    }
  }
}
 
Zurück