C++ c+上的函数和结构问题+;

C++ c+上的函数和结构问题+;,c++,C++,我的代码有两个结构,Players[200 MAX]和Characters[30 MAX]。 要注册玩家,我必须检查数组中是否有空格,用户名是否大于5个字符。之后,我可以要求其他数据。 所有这些都必须是函数,所以我试着对数组中的空间做一个函数检查,另一个是验证大小 老实说,我不知道如何处理这个问题,我丢失了一些关于带结构的函数的课程,也失去了所有的想法,当时我正在上网,但关于这个问题的信息并不多 #include <iostream> #include <string>

我的代码有两个结构,Players[200 MAX]和Characters[30 MAX]。 要注册玩家,我必须检查数组中是否有空格,用户名是否大于5个字符。之后,我可以要求其他数据。
所有这些都必须是函数,所以我试着对数组中的空间做一个函数检查,另一个是验证大小

老实说,我不知道如何处理这个问题,我丢失了一些关于带结构的函数的课程,也失去了所有的想法,当时我正在上网,但关于这个问题的信息并不多

#include <iostream>
#include <string>
using namespace std;

const int MAX_P = 200;
const int MAX_J = 30;

struct Personatge
{
int Numero;
string Nom;
char Tier;
float Pes;
};

struct Jugadors
{
string Username;
string Nom;
bool Amateur;
int PJfav;
};

int menu();
void altaJugador(Jugadors* jugs);

void main() {

Personatge vectorPersonajes[MAX_P];
Jugadors vectorJugadores[MAX_J];

int opcion = menu();

switch (opcion)
{
case 1: 
    altaJugador(vectorJugadores);
    break;
case 2:
    break;
case 3:

    break;
case 4: 
    break;
default:
    break;
}

system("pause");
}

int menu() {

int eleccion;

cout << "SSBU CEP Tournament \n";
cout <<
    "1. Alta jugador \n" <<
    "2. Establir personatge favorit \n" <<
    "3. Mostrar jugadors \n" <<
    "4. Baixa jugador \n" <<
    "5. Alta personatge (manual) \n" <<
    "6. Llistat de personatges d'un tier \n" <<
    "0. Sortir \n";
cout << "Opcio: \n";

do
{
    cin >> eleccion;
    if (eleccion < 0 || eleccion > 6)
    {
        cout << "Error, tria un numero del 0 al 6 \n";
    }
} while (eleccion < 0 || eleccion > 6);

return eleccion;
}
void altaJugador(Jugadors *jugs) {

cout << "Introduce el username del jugador: \n";
getline(cin, (jugs->Username));

cout << "Introduce el nombre y el apellido: \n";
getline(cin, (jugs->Nom));

cout << "Eres amateur? S/N: \n";
cin >> jugs->Amateur;

cout << "Introduce el numero de tu personaje favorito: \n";
cin >> jugs->PJfav;
}
#包括
#包括
使用名称空间std;
常数int MAX_P=200;
常数int MAX_J=30;
结构人物
{
整数;
字符串名称;
炭层;
浮动Pes;
};
Jugadors结构
{
字符串用户名;
字符串名称;
业余爱好者;
int-PJfav;
};
int菜单();
无效阿尔塔朱加多(朱加多*朱加多);
void main(){
人物向量人物[MAX_P];
Jugadors VectorJugadors[MAX_J];
int opcion=menu();
交换机(opcion)
{
案例1:
阿尔塔朱加多(矢量朱加多);
打破
案例2:
打破
案例3:
打破
案例4:
打破
违约:
打破
}
系统(“暂停”);
}
int菜单(){
内电;

cout您可以这样尝试,您可以创建一个函数来检查数组中的空间以及字符串的长度。 必须使用一个变量,该变量指向数组索引的当前位置 增加1,直到达到199,这意味着你的数组已经满了。 对于字符串输入,您可以创建一个临时字符串变量,并使用if语句检查其长度

bool check_array_is_empty()
{
 static int counter = 0;
 if (counter < 200)
 {
     counter ++;
     return true;
 }
 else
 {
   return false;
 }
bool-check\u-array\u为空()
{
静态整数计数器=0;
如果(计数器<200)
{
计数器++;
返回true;
}
其他的
{
返回false;
}
字符串函数的长度

bool check_length(string temp)
{
  int i = 0;
  while(a[i]!='\0')
{
    i++;
}
if (i<5)
{
  return false;
}
else
{
  return true;
}
bool检查长度(字符串温度)
{
int i=0;
而(a[i]!='\0')
{
i++;
}

如果(我必须跟踪已经输入了多少个结构,并根据
MAX\u P
MAX\u J
检查这些数字)“我正在尝试对数组中的空间执行一个函数检查,另一个函数验证大小”请显示这些尝试。使用
std::vector
而不是数组。
check\u array\u is\u empty
是一个非常糟糕且容易混淆的函数名,类似于
check\u array\u space\u available
的方法显然更好。此外,在该函数的静态局部变量中不应跟踪增加占用的数组空间计数器n、 但在其他地方(可能在封装所有这些内容的类中)。