pequeña ayuda en c++

Iniciado por howaboutno, 1 Marzo 2013, 15:20 PM

0 Miembros y 1 Visitante están viendo este tema.

howaboutno


   
solucionado, gracias

avesudra

Puedes eliminar lo que sobra si el usuario inserta más de 8 carácteres:
Código (cpp) [Seleccionar]
std::string str ("2458770243857carnet");
str.erase (7,str.length()-1);

Referencia -> http://www.cplusplus.com/reference/string/string/erase/

Creo haberlo entendido bien, si no pregunta.

¡Un saludo!
Regístrate en

howaboutno

Cita de: avesudra en  1 Marzo 2013, 16:00 PM
Puedes eliminar lo que sobra si el usuario inserta más de 8 carácteres:
Código (cpp) [Seleccionar]
std::string str ("2458770243857carnet");
str.erase (7,str.length()-1);

Referencia -> http://www.cplusplus.com/reference/string/string/erase/

Creo haberlo entendido bien, si no pregunta.

¡Un saludo!

no lo entiendo, de todos modos este solo eliminaria si inserta de mas
pero si introduce menos caracteres lo cogerá como bueno....

avesudra

Vamos a ver tu solo tienes que coger 8 carácteres,así que o avisas al usuario de que se ha pasado o de que le faltan carácteres que es lo mejor, o intentas arreglarlo de alguna manera, que para lo de menos de 8 carácteres es un poco imposible pues no te puedes inventar los datos así que:

do{
cout<<"introduce el DNI(sin letra)"<<endl;
cin>>id;
        if( (id.lenght() < 8) || (id.lenght() > 8))
        {
          cout << "Debes ingresar 8 caracteres.";
        }
}while (id.lenght() != 8);
Regístrate en

NoLife

#4
Eso es un hecho, lo que coloca avesudra suena bastante lógico. saludos
"Cualquier tonto puede escribir código que la PC entienda. Los buenos programadores escriben código que los humanos pueden entender." – Martin Fowler

leosansan

Cita de: avesudra en  1 Marzo 2013, 16:26 PM
:

longitufd=id.lenght;
do{
cout<<"introduce el DNI(sin letra)"<<endl;
cin>>id;
       if (longitufd !=8) )
             cout << "Debes ingresar 8 caracteres.";
   }while (longitufd!= 8);



Reduzco el cálculo de long. a la mitad y las comparaciones también a la mitad y me ahorro las llaves al tener una sola sentencia después del if-

Saluditos!
. ---

85

HAHAHA si la verdad, no dan premios por usar llaves XD
Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/

avesudra

La verdad para mí es más legible poner las llaves pero cada uno a su gusto, lo de calcular el largo si que es verdad que no hace falta calcularlo cada vez xD

¡Un saludo!
Regístrate en

NoLife

Lo importante es hacer legible porque no sabes si alguien más tenga que leer y asi no complicas demasiado. saludos.
"Cualquier tonto puede escribir código que la PC entienda. Los buenos programadores escriben código que los humanos pueden entender." – Martin Fowler

leosansan

#9
Cita de: avesudra en  2 Marzo 2013, 14:14 PM
La verdad para mí es más legible poner las llaves pero cada uno a su gusto, lo de calcular el largo si que es verdad que no hace falta calcularlo cada vez xD
....................................................


Es, además de cuestión de gustos, de no sobrecargar innecesariamente un código que fuese extenso. Todo el secreto radica en ser serios en la indentación, cosa que suele pasarse por alto. Como curiosidad, en Python por ejemplo no hay llaves ni puntos y comas, eso si se es muy estricto con la indentación y el resultado son códigos más legibles que los usuales por estos lares de C/C++.

Saluditos!. ....