Dev - C++ - tenis.cpp

 
Vista:
Imágen de perfil de analogico

tenis.cpp

Publicado por analogico (7 intervenciones) el 06/10/2021 20:37:07
409c662805b8c64d22e7090877b6f070
Buenas a todos, me han pedido hacer un "juego" de tenis y estoy bloqueado ya al principio.
Tengo que recopilar datos de 2 jugadores que son el nombre, la velocidad y la habilidad.
Este código que adjunto es lo que hice junto con el profesor pero no sé continuar, cómo hago para pedir nombre, velocidad y habilidad (a elegir del 1 al 4 para la velocidad por ejemplo y del 1-5 para la velocidad) con solo ese bucle? no lo entiendo. Gracias de antemano


#include <iostream>
#include <string>
#include<stdlib.h>
#include<time.h>


using namespace std;
int introducirDato(string nombre, int lim_inf, int lim_sup);

int main()
{
lim_inf = 1;
lim_sup = 5;
}

int introducirDato (string nombre, int lim_inf, int lim_sup)
{
int dato ;
cout << "Introduzca su " << nombre;
cin >> dato;

while (dato < lim_inf || dato > lim_sup)
{
cout << " Introduce " << nombre << endl;
cin >> dato;

return dato;
}

return 0;
}
e1da9f68a3eefea8f4f244116f2489a7
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil

tenis.cpp

Publicado por anonymous (146 intervenciones) el 06/10/2021 20:41:59
Hola, a ver si entendí, tu quieres que el programa solicite el nombre, la habilidad y la rapidez de cada jugador todo eso en un bucle que estará en la función introsucirDato() cierto? O por cada jugador se ejecuta un bucle distinto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de analogico

tenis.cpp

Publicado por analogico (7 intervenciones) el 06/10/2021 20:45:16
Pues creo que diste en el clavo! Yo no estoy seguro porque yo lo hubiera hecho uno por uno pidiendo cout << introduce tu nombre, cout << introduce tu velocidad, etc pero me dijo mi profesor que lo hiciera así pero no entiendo la estructura, cómo puedo pedir nombre velocidad y habilidad sólo intercambiando el dato.
La verdad que no sé si se puede solo un bucle para los dos jugadores o se puede hacer sólo con uno. Si no se pudiera solo con un bucle pues entonces con dos. Siento no tener más información pero mis conocimientos son limitados por ahora jaja.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

tenis.cpp

Publicado por anonymous (146 intervenciones) el 06/10/2021 20:48:18
Ok no te preocupes, asumamos que es un solo jugador por bucle; Siguiente pregunta ¿Los límites superior e inferior los indica el usuario o el programador?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de analogico

tenis.cpp

Publicado por analogico (7 intervenciones) el 06/10/2021 20:51:23
Los indica el programador ya que si el limite superior por ejemplo es mayor de 4 entonces el jugador no podría perder ya que llega a cualquier bola que se le pueda echar. Tenía pensado que el límite inferior fuera 1 y el superior 4 o 5

d3260f38625806173d4e3dfd1b0249c4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

tenis.cpp

Publicado por anonymous (146 intervenciones) el 06/10/2021 20:59:30
En ese caso define los límites como constantes globales (no como argumentos) serían 4 límites en total (2 para la rapidez y 2 para la habilidad), a menos que sean Iguales para ambos datos.

La función introducirDato() con los siguientes argumentos: string& nombre, int& rapidez y int& habilidad. Luego dentro del bucle usando `cin' leerás estas variables cada una por separado.

Haz esto y cuando termines sube el código para ver que falta, suerte, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de analogico

tenis.cpp

Publicado por analogico (7 intervenciones) el 06/10/2021 21:08:48
Muchas gracias por tu ayuda, puede ser algo así lo que me dices?:
Si te digo la verdad, no tengo ni idea de cómo hacerlo.
Mi principal duda actual es, ahora mismo en el programa de abajo pone que estoy pidiendo el nombre y lo guarda en el int :"dato",
entonces, cómo hago para preguntar ahora la velocidad y la habilidad?



#include <iostream>
#include <string>
#include<stdlib.h>
#include<time.h>


using namespace std;
int introducirDato(string nombre, int lim_inf, int lim_sup);

int main()
{
lim_inf = 1;
lim_sup = 5;
}

int introducirDato (string nombre, int lim_inf, int lim_sup)
{
int dato ;
cout << "Introduzca su " << nombre;
cin >> dato;

while (dato < lim_inf || dato > lim_sup)
{
cout << " Introduce " << nombre << endl;
cin >> dato;

return dato;
}
lim_inf = 1;
lim_sup = 1;

return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

tenis.cpp

Publicado por anonymous (146 intervenciones) el 06/10/2021 21:15:22
No, mira, los limites deben ir afuera de main, y con const int al principio. Y la función debe ser ''introducirDato(string& nombre, int& velocidad, int& habilidad)''. Para leer el nombre y/o la velocidad y/o la habilidad simplemente escribe ''cin >> nombre'' por ejemplo. Avísame cualquier cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de analogico

tenis.cpp

Publicado por analogico (7 intervenciones) el 06/10/2021 21:24:47
OK, he puesto lo que me has dicho en orden.
Ahora no entiendo qué hacer para que pregunte nombre, velocidad y habilidad. Si nisiquiera se ha inicializado "velocidad" o "habilidad", se puede recoger con "dato" y guardar lo que se lea por teclado como nombre, velocidad y habilidad?

Quiero decir, se supone que inicias el programa y te pregunta: "introduce tu (nombre): ", cómo hago para que después de eso te pregunte: "Ahora introduce tu (velocidad): " y después lo mismo con habilidad.


#include <iostream>

#include <string>
#include<stdlib.h>
#include<time.h>


using namespace std;
int introducirDato(string nombre, int& lim_inf, int& lim_sup);
const int lim_inf = 1;
const int lim_sup = 5;


int main()
{

}

int introducirDato (string& nombre, int lim_inf, int lim_sup)
{
int dato ;
cout << "Introduzca su " << nombre;
cin >> dato;


while (dato < lim_inf || dato > lim_sup)
{
cout << " Introduce " << nombre << endl;
cin >> dato;

return dato;
}


return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

tenis.cpp

Publicado por anonymous (146 intervenciones) el 06/10/2021 21:28:57
No escuchame, no necesitas esa variable dato bórrala, puedes leer directamente las variables nombre, velocidad y habilidad sin que esten inicializadas porque cuando las leas se inicializaran.

Simplemente escribe cin >> nombre; cin >> velocidad; cin >> habilidad;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de analogico

tenis.cpp

Publicado por analogico (7 intervenciones) el 06/10/2021 21:32:34
Bueno gracias por tu ayuda pero no lo sé hacer.
Preguntaré a mi profesor qué carajos quiere.
Lo dejaré aquí porque sino se me va a romper el cerebro.

Gracias por todo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

tenis.cpp

Publicado por anonymous (146 intervenciones) el 06/10/2021 21:33:35
Está bien, lamento que no pudieras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar