数据不存储要显示?

时间:2016-04-12 00:04:41

标签: c++

我是一名参加编程课程的初学者,我的作业遇到了麻烦。我要创建一个可以存储和排序数据的程序(我选择了游戏),一切似乎都没问题。除了当我选择输入游戏,然后显示我输入的游戏时,列表中没有任何内容。我有什么遗失的吗?

#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)
   {

   }

1 个答案:

答案 0 :(得分:1)

你忘了在数组中设置值。

我为函数getGames添加了4行:

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

并在函数displayGames中更改一行:

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

这是最终代码:

// 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)
{

}