Итак, моим заданием в классе было создание программы на C ++, которая, по сути, создает базу данных с рядом опций (добавление к ней, удаление записей, изменение, поиск и перечисление). Это должно быть сделано специально с массивами, а не векторами или классами или чем-то еще.
Я решил создать несколько функций для каждой опции, чтобы они все вызывали друг друга. После обширного поиска в Google я также решил позволить struct обрабатывать объявления, чтобы я мог использовать их во всех функциях без использования :: marks. Я специально сделал, чтобы все зависело друг от друга, потому что учитель намекнул, что нам нужно будет продолжать работать с ним, поэтому, если я что-то изменю, все остальное изменится, чтобы приспособиться.
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
struct va{
public:
int i, j, k, l; //for possible loops or variables I only need for a very short time
int id = 0;
int name = id+1;
// like 6 other ints I also declared here, including year2
int achi = year2+1;
//The above is for easier identification of pro[whatever][needed data]. The +1 method is to allow for easier editing later.
int size = 20, row = 0; //This is important for addition
string searchterm = ""; //this is for searching
public:
int main();
void MainMenu();
void Addition();
void Deletion();
void Search();
void Modify();
void List();
};
void MainMenu();
void Addition();
void Deletion();
void Search();
void Modify();
void List();
//I just find it neater to make side functions after the main one.
int main()
{
setlocale(LC_ALL, "");
const int column = achi;
const int initsize = size; //These two are so I can edit the size of the array from the struct directly
string pro[initsize][column]; //This creates the array that's the actual database
cout << endl << "Welcome to the League of Legends Pro Players database!" << endl << endl;
cout << endl << "Please, use the menu to access its functions.";
MainMenu();
cout << endl;
return 0;
}
void MainMenu()
{
cout << endl << "Main Menu" << endl;
cout << endl << "1: add an entry to the database.";
cout << endl << "2: delete an existing entry from the database.";
cout << endl << "3: search for an existing entry in the database.";
cout << endl << "4: modify an existing entry.";
cout << endl << "5: list all existing entries." << endl;
cin >> i;
switch(i)
{
case 1: Addition();
case 2: Deletion();
case 3: Search();
case 4: Modify();
case 5: List();
}
}
(я еще не написал реальные функции для опций.) Однако, когда я попытался запустить его, мне сказали, что 'achi' не был объявлен в main, хотя я обнародовал все, просто так, что я не буду столкнуться с этой ошибкой. Как я могу заставить main "видеть" структуру и ее переменные?