Я нахожусь в процессе создания bitcoin управляющей программы для вводного класса CS, и вот мои цели (только упомянутые, которые мне нужны в этом контексте): Мне удалось выполнить следующие задачи. Моя программа имеет 4 пункта меню, хранящихся в классе menu
. Пользователь может выбрать один из следующих вариантов:
- Найти текущее значение Bitcoin в долларах США.
- Покупка / продажа Bitcoin
- Печать текущего баланса
- Печать истории транзакций
Допустим, пользователь выбор варианта 2 и ввод, сколько пользователь хочет продать или купить. До сих пор программа будет делать следующее:
- вычисляет, сколько стоит bitcoin (случайным образом генерируется от 5k до 7k за 1 BT C)
- извлекает, сколько пользователь хочет купить в долларах США
- , преобразует значение в долларах США в BT C в классе
wallet
и извлекает текущую дату транзакции из класса getLive
. - Затем эти два значения преобразуются в тип
string
и передаются в функцию void bitcoinHistory(string bitcoinAmnt, string date)
В настоящее время у меня возникают проблемы со следующим шагом:
- ... и сохранение двух строк в классе с именем
ledger
и распечатка истории транзакций. Пользователь может совершить столько транзакций, сколько пожелает.
До сих пор я пытался создать вектор и пытался использовать push_back.()
каждый раз, когда функция Позвонил.
class ledger // the log of all transactions
//1) It will store the transaction strings just so we have
//a record of the buy sell commands
//2) It will be able to print out the transaction history if requested
{
public:
vector<string> bitcoin;
void bitcoinHistory(string bitcoinAmnt, string date)
{
string btc, time;
btc = bitcoinAmnt;
time = date;
bitcoin.push_back(btc + "BTC on " + time);
for (unsigned int x = 0; x < bitcoin.size(); x++)
{
cout << bitcoin[x] << endl;
}
repeat = true; \\ boolean returns the user back to main menu
Пример результата из cout << bitcoin[x]
Я успешно смог получить: 0.035349BTC on Wed Mar 25 01:44:02 2020
Однако, как только программа зациклена, предыдущие транзакции, кажется, не сохранить, и элемент, кажется, заменен более новыми данными транзакции. Несмотря на несколько транзакций, bitcoin.size()
, похоже, сбрасывается, и я вижу только вывод только одной истории транзакций. Я не могу понять, почему. Если вы хотите увидеть больше кода, пожалуйста, дайте мне знать. Спасибо.