Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2014, 20:01
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: Programa que pida nombre completo y lo imprima en pantalla

Su programa es totalmente funcional.
Solo hay un problema, y en tu caso te sirve, pero que pasa si queremos crear variables para 1000 personas??
Va se que exagero XD.
Pero te pongo un ejemplo:
Que quede claro que tu ejemplo esta muy bien y siempre se puede mejorar el código.
Lo que voy a poner aquí no es nada de otro mundo.
Solo lleva a un nivel mas alto lo que tu ya has aprendido hasta ahora.
Si ya dominas int, chars, strings float y esas cosas esto es para ti:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Datos {
  5.     string nombre;     // no inicialisar los valores dentro, se debe hacer despues de crear la variable, a menos que se trate
  6.                         // de una constante y no cambia nunca el valor ;).
  7.     string apellido;
  8.     int edad;
  9. };//note que aqui debe llevar ; al final de la }(llave de cierre)
  10.  
  11. // si quieres crear estructuras lo puedes hacer aqui entre la } y ; o mas adelante en otra parte del código(dentro de main por ejemplo).
  12. // Si quieres crearla aqui junto a la estructura se hace asi:
  13. // [B]} gato, pajaro, persona007 ;[/B] // note que no hace falta poner "Datos"  delante si las creo entre } y ; alfinal de la
  14. // estructura para entenderlo mire todo el programa, aqui creamos variables estructuras para gato, pajaro y persona007.
  15.  
  16.  
  17. int main () {
  18.     // Se dice que persona es de tipo "Datos" que a su vez es una estructura.
  19.     // Con estructuras creas variables como si fuera int, char o otro cualquiera.
  20.     Datos persona1;   // Creamos una variable de tipo "Datos" sabemos que es una estructura por que la creamos nosotros ;)
  21.     Datos persona2;  // Creamos otra variable persona fijase que ahora la llamamos persona2
  22.                     // Podemos crear a nuestro gusto la cantidad que deseemos de variables persona1, persona2, persona3...
  23.  
  24.     // Asi trabajamos con la variable que creamos
  25.     persona1.nombre   = "pepelui"; // Ponemos el nombre de la variableun punto y el campo que queremos acceder
  26.     persona1.apellido = "parrado";
  27.     persona2.nombre   = "pablito";
  28.     persona1.edad     = 34;
  29.  
  30.     cout << persona1.nombre << " " << persona1.apellido<< " " << persona1.edad << endl;
  31.     // ahora cambiamos el nombre a persona 1, lo podemos cambiar a cualquier hora desde que no sea un const ;)
  32.     persona1.nombre = "luluXD";
  33.     cout << persona1.nombre << " " << persona1.apellido<< " " << persona1.edad << endl;
  34.  
  35.     // Copiar una estructura entera en otra.
  36.     persona2 = persona1;
  37.     cout << persona2.nombre << " " << persona2.apellido<< " " << persona2.edad << endl;  
  38.  
  39.     // Si vas a trabajar con estructuras, debes saber acerca de los constructores y destructores.
  40.     // Las estructuras se parecen a las clases, es un paso previo.
  41.     cin.ignore(); // SIRVE PARA PAUSAR
  42.     return 0;
  43. }//FIN DE MAIN

Como ves con una simple estructura puedes crear datos para muuuucha gente :D
Algunos datos debes iniciarlos antes(dar un valor) ¿No? Pues de eso se encarga los constructores si no quieres hacerlo a mano.
También esta los destructores para cuando aprendas el tema de los punteros, sirve para liberar memoria.
Aprendiendo estructuras ya vas dando un paso mas hacia programación orientada a objetos.
Estructura no es POO pero cuando llegues a clases te va ser muy familiar debido a las estructuras.
No desprecies las estructuras, son muy buenas ;)
Es una pasada, vas por buen camino, cpp es un mundo maravilloso.
¡Suerte! :D

PD:
Para meter los dadtos con cin es lo mismo.
Código C++:
Ver original
  1. cin >> pajaro.nombre;
Echa una mirada aqui, esta pagina es de gran ayuda: Estructuras
;)

Última edición por vangodp; 15/01/2014 a las 21:23