elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con ejercicios de C-Style strings
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con ejercicios de C-Style strings  (Leído 2,303 veces)
RM_85

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda con ejercicios de C-Style strings
« en: 9 Abril 2020, 18:02 pm »

Tengo un programa donde necesito pedir los apellidos y nombres y guardarlos en una sola variable de tipo c-style string pero no se como poner el caracter null al final de la cadena y como mostrar unicamente los apellidos y no los nombres. Opte por usar una estructura y hasta aca llego....

Código
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. void pedirDatos();
  8.  
  9. void mostrarApellido();
  10.  
  11.  
  12. struct Personas{
  13.  
  14. char nombreApellido[30];
  15.  
  16.  
  17. }persona[10];
  18.  
  19.  
  20.  
  21. int main(int argc, char *argv[]) {
  22.  
  23.  
  24. pedirDatos();
  25.  
  26. mostrarApellido();
  27.  
  28.  
  29. return 0;
  30. }
  31.  
  32.  
  33.  
  34. void pedirDatos(){
  35.  
  36. for(int i = 0; i < 10; i++){
  37.  
  38. cout << " Ingrese apellido y nombre separado por un espacio: ";
  39.  
  40. cin.getline(persona[i].nombreApellido, 30, '\n');
  41.  
  42.  
  43.  
  44. }
  45.  
  46.  
  47. }
  48.  
  49. void mostrarApellido(){
  50.  
  51. int i = 0, k = 0, contador = 0;
  52.  
  53.  
  54. cout << "\n\n Apellidos introducidos: \n\n ";
  55.  
  56.  
  57. for(; i < 10; i++){
  58.  
  59.  
  60. for(int k = 0; k < 30; k++){
  61.  
  62.  
  63. {
  64.  
  65.  
  66. cout  << i+1 << " - " << persona[i].nombreApellido[k] << "\n";
  67.  
  68.  }
  69.  
  70.  
  71. }
  72.  
  73.  
  74. }
  75.  
  76.  
  77.  
  78. }
  79.  
  80. }
  81.  


« Última modificación: 9 Abril 2020, 18:02 pm por engel lex » En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Ayuda con ejercicios de C-Style strings
« Respuesta #1 en: 9 Abril 2020, 19:55 pm »

Código
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. void pedirDatos();
  7. void mostrarApellido();
  8.  
  9. struct Personas {
  10.    char nombreApellido[30];
  11. }
  12. personas[10];
  13.  
  14. int main(int argc, char * argv[]) {
  15.  
  16.    memset(personas, 0, sizeof(personas) * 10); // usa memset para inicializar la estructura con ceros
  17.    pedirDatos();
  18.    mostrarApellido();
  19.  
  20.    return 0;
  21. }
  22.  
  23. void pedirDatos() {
  24.    for (int i = 0; i < 10; i++) {
  25.        cout << " Ingrese apellido y nombre separado por un espacio: ";
  26.        cin.getline(personas[i].nombreApellido, 30);
  27.    }
  28. }
  29.  
  30. void mostrarApellido() {
  31.  
  32.    int i = 0, k = 0, contador = 0;
  33.    cout << "\n\n Apellidos introducidos: \n\n ";
  34.  
  35.    for (; i < 10; i++)
  36.    {
  37.        char *token = strtok(personas[i].nombreApellido, " "); // usa strtok para dividir la cadena por el espacio y obtener los tokens
  38.        if(token && (token = strtok(nullptr, " ")) != nullptr)
  39.        {
  40.            cout << i + 1 << " - " << token << "\n";
  41.        }
  42.    }
  43. }

Solo he añadido las dos lineas que necesitas basicamente, por otra parte, tu codigo no es el mejor  :-\
Saludos


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
RM_85

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con ejercicios de C-Style strings
« Respuesta #2 en: 9 Abril 2020, 21:21 pm »

Hola ThunderCls te agradezco la ayuda pero necesitaba una forma mas simple de resolverlo. Saludos.
En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Ayuda con ejercicios de C-Style strings
« Respuesta #3 en: 9 Abril 2020, 21:30 pm »

Hola ThunderCls te agradezco la ayuda pero necesitaba una forma mas simple de resolverlo. Saludos.

Mas simple?! Pero si solo le he añadido dos lineas a tu codigo  :xD
En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
RM_85

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con ejercicios de C-Style strings
« Respuesta #4 en: 9 Abril 2020, 21:57 pm »

No son la cantidad de lineas de codigo sino lo que significan, y por que tendria que saberlo??? :huh:
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con el Style XP 3.9
Dudas Generales
blackk_84 3 3,193 Último mensaje 11 Octubre 2010, 18:20 pm
por blackk_84
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines