CarotinBombe
Grünschnabel
Hallo liebe Community,
ich bin neu hier und würde mich über eure Hilfe freuen!
Mit C++ habe ich erst angefangen und möchte gern ein kleines Programm schreiben namens "Farm". Es sollen dort mittels Arrays Tiere verwaltet werden. Man kann sich Slots kaufen um am Ende Tiere kaufen zu können. Soweit so gut. Das Problem ist, dass das Programm zwar den Array (.resize) verändern kann, jedoch erkennt das Programm den Array als 0. Somit können keine Slots ausgegeben werden in der while-Schleife (Bei If (Auswahl == 1). Im Endeffekt hat man noch keine Slots(Die muss man sich erst "kaufen"). Dabei wird ja wie ich sagte der Array slots verändert. Ich glaube es liegt daran, dass es sich um keinen dynamischen Datentyp handelt? Ich kenne mich wie gesagt nicht gut aus und würde mich freuen, wenn Ihr mir helfen könntet. Code ist noch nicht vollendet. Nicht wundern 
ich bin neu hier und würde mich über eure Hilfe freuen!


C++:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int z = 0;
int i = 0;
vector<int> slots(z);
while ( i < 1 )
{
system("cls");
int auswahl;
cout << "Meine Farm\n";
cout << endl;
cout << "1. Meine Tiere\n";
cout << "2. Tiere kaufen\n";
cout << "3. Tiere verkaufen\n";
cout << "4. Meine Slots\n";
cout << "5. Exit\n" << endl;;
cout << "Auswahl: "; cin >> auswahl;
if(auswahl == 1)
{
system("cls");
int t = 0;
while ( t < slots.size())
{
cout << t << ". Slot ";
if (slots[t] == 1)
{
cout << "Kuh\n";
}
else if (slots[t] == 2)
{
cout << "Schwein\n";
}
else if (slots[t] == 3)
{
cout << "Huhn\n";
}
else
{
cout << "LEER\n";
}
t++;
}
system("pause");
}
if (auswahl == 2)
{
}
if (auswahl == 3)
{
}
if(auswahl == 4)
{
bool buy = false;
string key;
system("cls");
cout << "Sie besitzen " << slots.size() << " Slots." << endl;
cout << "Möchten Sie welche kaufen?";
cout << " J/N?";
cin >> key;
if (key == "j" | key == "J")
{
int value = 0;
cout << "Wie viele möchten Sie kaufen?";
cin >> value;
z = z + value;
slots.resize(z);
return main();
}
if (key == "n" | key == "N")
{
return main();
}
}
if (cin.fail())
{
cout << "Eingabe Fehlerhaft!\n";
system("pause");
}
}
return 0;
}