ich habe hier im Forum das Thema aus Zufall schon mal gefunden aber jetzt irgendwie nicht mehr
ich möchte, aus einem klitzekleinen Konsolenprogramm im Hintergrund einen Zähler laufen lassen, der einen von mir festgelegten Wert,
nach einem festgelegten Muster verändert - laufend.
Wenn ich beispielsweise ein Börsenspiel daraus machen würde, so könnte der Spieler kaufen oder verkaufen und dazu muss der aktuelle Wert
dann aus der "Hintergrund-Schleife" abgefragt werden und dann in die Rechnung mit einbezogen werden.
Aber mein Problem ist, dass der Zähler beim Programmaufruf anläuft aber das restliche Programm läuft nicht weiter.
Jetzt habe ich aufgeschnappt, das läge wohl an der Konsolenanwendung an sich, weil diese nicht für Multitasking ausgelegt ist.
Mein Programmcode ist anbei:
(ich weiß, dass meine Variablen, deutsche und englische Namen haben, Groß- und Kleinschreibung verwendet wird)
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void pause(int);
float sequence();
int main()
{
float price;
price = sequence();
float portfolio = 0;
int shares, amount, choice;
do
{
cout << "Was moechtest Du tun?" << endl;
cout << "1 - Kaufen" << endl;
cout << "2 - Verkaufen" << endl;
cout << "3 - Beenden" << endl;
cout << "Auswahl: ";
cin >> choice;
switch(choice)
{
case 1:
{
cout << price;
cout << "Wieviel moechtest Du kaufen? :";
cin >> amount;
portfolio = portfolio + (amount * price);
cout << "Dein Portfolio hat einen Wert von --> " << portfolio << " und du haeltst aktuell --> " << shares << " Aktien" << endl;
}
case 2:
{
cout << price;
cout << "Wieviel moechtest Du kaufen? :";
cin >> amount;
portfolio = portfolio - (amount * price);
cout << "Dein Portfolio hat einen Wert von --> " << portfolio << " und du haeltst aktuell --> " << shares << " Aktien" << endl;
}
case 3:
{
cout << "Es wird beendet" << endl;
}
}
}while (!3);
system("Pause");
return 0;
}
void pause(int seconds)
{
clock_t temp; //initialisierung der Zeitvariablen 'temp' zur temporären Speicherung der Zeit
temp = clock() + (seconds * CLOCKS_PER_SEC); //temp wird der Wert von clock + (Sekunden * CLOCKS_PER_SECOND) zugewiesen
while (clock() < temp); //und solange clock < temp ist, läuft die Schleife (hier leer)
{}
}
float sequence()
{
float price = 123.45;
float temp;
srand (static_cast <unsigned int> (time(0)));
int change, range;
for (;;)
{
pause(3);
change = rand() % 2;
range = rand() % 9 + 1;
if (change == 0)
{
temp = price * ((double)range / 100);
price = price + temp;
}
else
{
temp = price * ((double)range / 100);
price = price - temp;
}
}
}
|