Dev - C++ - pasar una cadena con char*

 
Vista:

pasar una cadena con char*

Publicado por Jose (1 intervención) el 21/03/2005 19:00:50
Buenas, estoy empezando en esto del C++ y tengo una duda.

La clase que tengo es la siguiente:

class nombre
{
private:
int id;
char* nombrecompleto; //Nombre y dos apellidos
public:
nombre();
libro(int id, char* nombrecompleto);
libro(const nombre &);
~nombre();
int getId(); //Obtiene el id
char* getNombreCompleto(); //Obtiene el nombre
void setId(int id); //Establece el Id
void setNombreCompleto(char* nombrecompleto); //Establece el nombre
void VerDatos();
};

nombre V_Nombre[10]; //Objeto declarado de la clase nombre.

En la funcion main lo que quiero hacer es recoger el nombre completo y pasarle a una posicion de un Vector que he declarado de 10 elementos.
No se como recoger la información que introduce el usuario.

Gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:pasar una cadena con char*

Publicado por Carlos Chávez (5 intervenciones) el 22/03/2005 16:35:01
sigue el siguiente enlace:

http://www.cplusplus.com/ref/iostream/istream/getline.html

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

NESESITO AYUDA

Publicado por CHANG (2 intervenciones) el 12/05/2005 03:42:54
NESESITO AYUDA PARA CREAR UN PROGRAMA EN C ++ QUE DE ALTAS Y CONSULTAS DE N NUMERO DE ALUMNOS CON 2 CALIFICACIONES Y QUE DE CONSULTAS DE NOMBE ASENDENTE Y DESENDENTE Y PROMEDIO ASENDENTEY DESENDENTE SE LOS AGRADESERIA MUCHISIMO SI ME AYUDAN
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

RE:NESESITO AYUDA

Publicado por el_baina (1 intervención) el 25/05/2005 00:41:36
como te dicen de N numero de alumnos puedes utilizar un vector de dimenson N, como cada alumno lleva asociada 2 calificaciones en cada posición del vector tienes que almacenar una estructura que contenga el nombre y 2 float que son las calificaciones, también sería interesante que almacenases el promedio de las 2 calificaciones para a la hora de hacer las consultas no tener que calcularlo.

Como tienes que hacer consultas de nombre ascendente y descendente sería interesante tener el vector ordenado por nombre o por promedio o incluso puedes utilizar dos vectores uno ordenado por nombre y otro ordenado por promedio esa decision queda a tu elección,.
Si te decices por la opcion de un solo vector ordenado lo que puedes hacer para realizar las consultas por promedio es crearte otro vector e ir insertando en orden por promedio los alumnos del vector original.
las estruccturas de datos son:

typedef struct ficha_alumno{
char* nombre_alumno;
float nota1, nota2;
float promedio; // opcional
}

typedef ficha_alumno vector_alumnos[N];

typedef struct datos_alumnos{
vector_alumnos vector;
int ocupacion; //este campo indica el numero de casillas ocupadas
} //puesto que no siempre habrá N alumnos insertados

la funcion de insercion en orden buscala por ahí que seguro que la encuentras por internet.

para realizar una consulta ascencente por nombre y tienes ordenado el vector por nombre ascendente es simplemente recorrer el vector desde la posición 0 hasta la N-1 y si lo kieres hacer una consulta por nombre descendente pues lo recorres desde la N-1 hasta la 0, eso se hace con un bucle for es muy facil.

for (int i =0 ; i <N; i++){ //ascendente
cout<<"NOMBRE:" <<datos_alumnos[i].nombre<<endl;
cout<<"NOTA1: "<<datos_alumnos[i].nota1<<endl;
cout<<"NOTA2: "<<datos_alumnos[i].nota2<<endl;
}

for (int i =N-1; i >0; i--){ //descendente
cout<<"NOMBRE:" <<datos_alumnos[i].nombre<<endl;
cout<<"NOTA1: "<<datos_alumnos[i].nota1<<endl;
cout<<"NOTA2: "<<datos_alumnos[i].nota2<<endl;
}

Si kieres hacer una consulta por promedio solo tienes que ir recorriendo el vector e insertando las ficha_alumnos en otro vector de forma ordenada mediante una llamada a la función que te inserta las estructuras en el vector de manera ordenada y despues recorrerlo de 0 a N-1 o viceversa segun la consulta sea ascendente o descendente, es muy facil.

Datos_alumnos auxiliar;
auxiliar.ocupacion = 0;
for(int i = 0 ; i<N ;I++){
insertar_orden_por_promedio(aux,Datos_alumnos[i]);
}
// esto es para crear el vector ordenado por promedio
// despues tienes que recorrer aux igual que antes.

tienes que utilizar dos funciones que te inserten en orden, una que te inserte en orden por nombre de alumno y otra que te inserte en orden por promedio( insertar_orden_por_promedio(..); )
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