2016-04-12 14 views
1

Ich bin ein Anfänger, der eine Programmierklasse nimmt und ich habe Probleme mit meiner Aufgabe. Ich soll ein Programm erstellen, das Daten speichern und sortieren kann (ich habe Spiele gewählt), und alles scheint in Ordnung zu sein. AUSSER wenn ich ein Spiel eingeben und später die von mir eingegebenen Spiele anzeigen möchte, wird nichts in der Liste sein. Gibt es etwas, das mir fehlt?Daten werden nicht gespeichert, um angezeigt zu werden?

#include <cstdlib> 
#include <iostream> 
#include <iomanip> 
#include <fstream> 
#include <string> 
#include <sstream> 
using namespace std; 

struct VidyaGames { 
string Title; 
string Date; 
string Developer; 
}; 

void getGames(VidyaGames array[], int &k); 
void displayGames(VidyaGames array[], int &k); 
void deleteGames(VidyaGames array[], int &k); 
void sortGames(VidyaGames array[], int &k); 



const int MAX = 150; 

string Title; 
string Date; 
string Developer; 

int main() 
{ 
char choice; 
VidyaGames array[MAX]; 
bool kek = true; 
int k = 0; 

do 

{ 

    cout << "Welcome to the 'Super Incredible Amazing Game Storage-o-Tron 5000(and one)." << endl; 
    cout << " " << endl; 
    cout << "Please select which task you would like to perform by typing in the " << endl; 
    cout << "corresponding letter in the bracket: " << endl; 
    cout << " " << endl; 
    cout << "[I]nput a game into the list." << endl; 
    cout << "[D]isplay the games you have stored." << endl; 
    cout << "[S]ort the games you have stored." << endl; 
    cout << "[R]emove a game from the list." << endl; 
    cout << "[Q]uit the program." << endl; 
    cin >> choice; 

    switch (choice) 
    { 
     case 'I': getGames(array, k); break; 
     case 'D': displayGames(array, k); break; 
     case 'S': deleteGames(array, k); break; 
     case 'R': deleteGames(array, k); break; 
     case 'Q': kek = false; break; 
     default : cout << "Hey. Remember when I gave you the specific  options you were allowed to choose?" << endl; 
        cout << "Maybe enter one of those?" << endl; 
        cout << " " << endl; 
     } 
     } 
while (kek); 
cout << "You have killed me." << endl; 

} 
void getGames(VidyaGames array[], int &k) 
{ 
system("cls"); 
VidyaGames tmp; 
char lel[100]; 
cout << "Enter the title of your game: " << endl; 
getline (cin, Title); 
cout << "Enter the date your game was published: (Example: March 15th, 2014)" << endl; 
getline (cin, Date); 
cout << "Enter the developer of your game: " << endl; 
getline (cin, Developer); 

} 

void displayGames(VidyaGames array[], int &k) 
{ 
system ("cls"); 
if (k==0) 
    cout << "There is literally nothing in this list, as you have made the mental choice to not put anything in it yet." << endl; 


else if (k > 0) { 
for (int i=0; i < 0; i++) 
{ 
    cout << "Title: " << array[i].Title << endl; 
    cout << "Release Date: " << array[i].Date << endl; 
    cout << "Developer: " << array[i].Developer << endl; 
    } 
} 
} 


    void deleteGames(VidyaGames array[], int &k) { 


system("cls"); 
char deleteChoice; 
if (k==0) 
    cout << "There is literally nothing in this list, as you have made the mental choice to not put anything in it yet." << endl; 
else { 
    cout << "Please type the name of the game you would like to delete: " << endl; 
    cin >> deleteChoice; 

} 
} 

    void sortGames(VidyaGames array[], int &k) 
    { 

    } 
+2

Sie müssen tatsächlich füllen das Array. Alles, was Sie in getGames() tun, wird in globale Strings gelesen. – Pemdas

Antwort

1

Sie vergessen, Wert in Ihrem Array zu setzen.

i hinzufügen 4 Zeilen getGames funktionieren:

array->Title = Title; 
array->Date = Date; 
array->Developer = Developer; 
k++; 

und eine Zeile in der Funktion displayGames ändern:

for (int i=0; i < k; i++) 

dieser letzte Code ist:

// test_3.cpp : Defines the entry point for the console application. 
// 

#include "stdafx.h" 


#include <cstdlib> 
#include <iostream> 
#include <iomanip> 
#include <fstream> 
#include <string> 
#include <sstream> 
using namespace std; 

struct VidyaGames { 
    string Title; 
    string Date; 
    string Developer; 
}; 

void getGames(VidyaGames array[], int &k); 
void displayGames(VidyaGames array[], int &k); 
void deleteGames(VidyaGames array[], int &k); 
void sortGames(VidyaGames array[], int &k); 



const int MAX = 150; 

string Title; 
string Date; 
string Developer; 

int main() 
{ 
    char choice; 
    VidyaGames array[MAX]; 
    bool kek = true; 
    int k = 0; 

    do 

    { 

     cout << "Welcome to the 'Super Incredible Amazing Game Storage-o-Tron 5000(and one)." << endl; 
     cout << " " << endl; 
     cout << "Please select which task you would like to perform by typing in the " << endl; 
     cout << "corresponding letter in the bracket: " << endl; 
     cout << " " << endl; 
     cout << "[I]nput a game into the list." << endl; 
     cout << "[D]isplay the games you have stored." << endl; 
     cout << "[S]ort the games you have stored." << endl; 
     cout << "[R]emove a game from the list." << endl; 
     cout << "[Q]uit the program." << endl; 
     cin >> choice; 

     switch (choice) 
     { 
     case 'I': getGames(array, k); break; 
     case 'D': displayGames(array, k); break; 
     case 'S': deleteGames(array, k); break; 
     case 'R': deleteGames(array, k); break; 
     case 'Q': kek = false; break; 
     default : cout << "Hey. Remember when I gave you the specific  options you were allowed to choose?" << endl; 
      cout << "Maybe enter one of those?" << endl; 
      cout << " " << endl; 
     } 
    } 
    while (kek); 
    cout << "You have killed me." << endl; 

} 
void getGames(VidyaGames array[], int &k) 
{ 
    system("cls"); 
    VidyaGames tmp; 
    char lel[100]; 
    cout << "Enter the title of your game: " << endl; 
    getline (cin, Title); 
    cout << "Enter the date your game was published: (Example: March 15th, 2014)" << endl; 
    getline (cin, Date); 
    cout << "Enter the developer of your game: " << endl; 
    getline (cin, Developer); 

    array->Title = Title; 
    array->Date = Date; 
    array->Developer = Developer; 
    k++; 


} 

void displayGames(VidyaGames array[], int &k) 
{ 
    system ("cls"); 
    if (k==0) 
     cout << "There is literally nothing in this list, as you have made the mental choice to not put anything in it yet." << endl; 


    else if (k > 0) { 
     for (int i=0; i < k; i++) 
     { 
      cout << "Title: " << array[i].Title << endl; 
      cout << "Release Date: " << array[i].Date << endl; 
      cout << "Developer: " << array[i].Developer << endl; 
     } 
    } 
} 


void deleteGames(VidyaGames array[], int &k) { 


    system("cls"); 
    char deleteChoice; 
    if (k==0) 
     cout << "There is literally nothing in this list, as you have made the mental choice to not put anything in it yet." << endl; 
    else { 
     cout << "Please type the name of the game you would like to delete: " << endl; 
     cin >> deleteChoice; 

    } 
} 

void sortGames(VidyaGames array[], int &k) 
{ 

} 
Verwandte Themen