aconseja-miento de condicionales

hola quisiera saber como puedo poner condiciones a mi programa para crear una cantidad definida de usuarios y que los datos que piden si no se ingresa un valor determinado o se da un valor ilógico retorne,si alguien podría ayudarme sera de muchísima ayuda.
gracias.

#define MAX_USER 5
#include <string.h>
class User{
String nameUser;
String contrasenia;
String role;
public:
User(String,String,String);
User();
void printInfo();
void setValues(String,String,String);
};

char resultadomenu;
String nombreC, contraseniaC, rolC;
int usuarios_creados = 0;
User usuarios[MAX_USER];

User::User(String nombre, String rol, String pass){
nameUser = nombre;
contrasenia = pass;
role=rol;
}

void User::printInfo(){
Serial.println("---------------");
Serial.println("el nombre es: "+ nameUser);
Serial.println("la contraseña: "+ contrasenia);
Serial.println("el rol es: "+ role);
Serial.println("---------------");
}

User::User(){

}

void User::setValues(String nombre, String rol, String pass){
nameUser = nombre;
contrasenia = pass;
role = rol;
}

char menu(){
char resultado;
Serial.println( " MENU PRINCIPAL ");
Serial.println(" (1) CREAR" );
Serial.println(" (2) MOSTRAR" );
while(!Serial.available());

resultado = Serial.read();
return resultado;
}

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);

}

void loop() {
// put your main code here, to run repeatedly:
resultadomenu = menu();
if (resultadomenu == '1'){

// Acá es tarea de uds
Serial.println("Digite rol: ");
while(!Serial.available());
nombreC = Serial.readString();
// Serial.println(rolC);
// delay(1000);
Serial.println("Digite nombre: ");
while(!Serial.available());
rolC = Serial.readString();
// Serial.println(nombreC);
// delay(1000);
Serial.println("Digite contrasenia: ");
while(!Serial.available());
contraseniaC = Serial.readString();
// Serial.println(contraseniaC);

usuarios[usuarios_creados].setValues(nombreC, contraseniaC, rolC);//,contador
usuarios_creados++;

// Acá es tarea de uds
// Ojo con el read no me lee cadenas :slight_smile: ver

// usuarios[usuarios_creados].setValues(nombreC, contraseniaC, rolC);
}
else if((resultadomenu == '2')){
for(int i = 0; i < usuarios_creados; i++)
{
usuarios*.printInfo();*

  • }*
  • }*

}

Lee las normas del foro y edita tu código usando etiquetas </>

Me sorprende tu pregunta!!
Escribes (espero) un programa usando Clases y criterios de C++ y no sabes validar?