int respuesta;

void setup() {
  Serial.begin(115200);
  Serial.println("Hola");
  Serial.println("Vamos a introducir algo de información.");
  Serial.println("¿Como quieres que lea los datos?");
  Serial.println("1. Por número.");
  Serial.println("2. Por letra.");
  Serial.println("3. Por palabra.");
  Serial.println("4. Por frase.");
}

void loop() {
  if(Serial.available()){
    respuesta = Serial.parseInt();
    Serial.print(respuesta);
    switch(respuesta){
      case 1: fnNum();break;
      case 2: fnChar();break;
      case 3: fnWord();break;
      case 4: fnPhrase();break;
      default: 
      Serial.println("Elige un numero entre 1 y 4.");
      setup();
    }
  }
  Serial.flush();
  delay(10); 
}

void fnNum(){
  Serial.println("Escribe un numero entero: ");
  while(!Serial.available()){
  }
  int myNum = Serial.parseInt();
  Serial.println("El numero que escribiste es: ");
  Serial.print(myNum);
}

void fnChar(){
  Serial.println("Escribe una letra o simbolo: ");
  Serial.read();
  while(!Serial.available()){
  }
  char myChar = Serial.read();
  Serial.println("El simbolo que escribiste es: ");
  Serial.print(myChar);
}

void fnWord(){
  Serial.println("Escribe una palabra: ");
  Serial.read();
  while(!Serial.available()){
  }
  String myWord = Serial.readString();
  Serial.println("La palabra que escribiste es: ");
  Serial.print(myWord);
}

void fnPhrase(){
  Serial.println("Escribe una frase: ");
  Serial.read();
  while(!Serial.available()){
  }
  String myPhrase = Serial.readStringUntil('\n');
  Serial.println("La frase que escribiste es: ");
  Serial.print(myPhrase);
}