Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - tanychu

#1
Muchas gracias por ir resolviendome las dudas que me van saliendo jejeje, esta es mi nueva duda, a ver si podeis solucionarmela, jejeje.

Mi duda es la siguiente:

Resulta que tengo que recoger mediante teclado, un valor que no debe de ser en ningún caso valor negativo.

Por supuesto, lo declaro unsigned int para no darle más tamaño del necesario.

Pero me ocurre lo siguiente, le hago un while para que si el numero es menor de 0 me vuelva a preguntar el valor. Tipo asi.

while (respuesta<0)
{
    cout << lo que sea >>;
    cin >> respuesta;
}

el problema es que al ser unsigned int, si meto un valor negativo me crea un bucle infinito, sé que se puede arreglar poniendole valor entero a la variable pero, de que me sirve entonces? que me enseñen si voy a poner solo valores positivos,cree las variables tipo, unsigned int. no tiene lógica, debe de haber una solución.

a ver si alguien me ilumina jejeje. un saludo!!! :D :D

Editado: Es sobre C++ y uso el compilador wxdev-c++.
#2
Buenas a todos, estoy desquiciado por que mi compilador no me compila una operacion, y tiene que ser por que no lo hago bien logicamente..

Digamos que me creo una estructura con arrays y demás.


Esta es la estructura:    struct equipo
                                 {
                                      char nombre[65];
                                      char DNI[10];
                                      unsigned int edad;
                                      unsigned int dorsal;
                                      unsigned long int sueldo;
                                      unsigned int tarjetas;
                                      int goles;
                                 }persona[15];

me creo un menú, que me diga, que jugador quieres buscar, y lo buscas con un array.
                               

Ejemplo:        cout << "\xa8Qu\x82 jugador quieres dar de baja? Escribe su dorsal: ";
                    cin >> persona[.i.].dorsal;

Los puntos entre el corchete y la "i" no existen, simplemente que aqui desaparece si lo pongo junto.

ahora viene la parte que no me sale, y será por que no puedo meterle el parametro a la funcion tal y como lo hago.

Si me creo esta funcion: bajajugador
haciendolo de esta manera no podré pasarle el valor?

unsigned int bajajugador(unsigned int persona[.i.].dorsal)
{
     lo que sea.
}

Pues llamando a la funcion arriba, de esta manera:

bajajugador(persona[.i.].dorsal);

me lo da como erroneo. y no se como pasarle el valor.

me podríais ayudar por favor? estoy comiendome el tarro mucho jejeje.

PD: Tengo el compilador, wxDev-C++.

Gracias por adelantado.. :D:D

Tambien he estado buscando mi mismo problema antes de postear, pero a lo mejor no lo he encontrado por la manera de formular las dudas, disculpen si esta solucionado en otro post.

Editado: También he probado pasandole el valor de 'i' a la nueva funcion.
comprobado 'i' tiene el valor del hueco 15 en el array, pero cuando en la nueva funcion, le pido, que me diga el nombre que he guardado anteriormente, no me lo reconoce. exactamente asi.

int bajajugador (int i)   
{
     cout << jugador[.i.].nombre << no me dice el nombre. me sale un asterisco*.
}
     y supuestamente al decirle el hueco del array donde está, deberia de saber a
     quien me refiero no?... perdon por ser tan pesao jejeje.