Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ralymontes en 15 Abril 2011, 02:10 am



Título: qué hay de malo en este codigo en c++?
Publicado por: ralymontes en 15 Abril 2011, 02:10 am
He estado leyendo unos tutoriales, pero por lo que he ehcho las cosas no me quedan claras, agradezco la orientacion y apoyo.

Código:
#include <iostream>

using namespace std;
struct datos
{
char modelo[20];
int año;
char marca[20];
};

int main()
{
struct datos auto;
        cout<<"Inserta modelo:\n";
        cin.getline(auto.modelo,25);
        cout<<"Inserta año:\n";
        cin<<auto.año;
        cout<<"Inserta Marca:\n";
        cin.getline(auto.marca,25);

cout<<"Datos Insertados son:\n\n";
        cout<<"Marca:\n";
        cout<<auto.marca;
        cout<<"Modelo:\n";
        cout<<auto.modelo;
return 0;
}

Saludos, Raly.


Título: Re: qué hay de malo en este codigo en c++?
Publicado por: Shell Root en 15 Abril 2011, 04:18 am
No se mucho de C++, pero veo algunos errores. La sintaxis para las estructuras es,
Código
  1. struct [<identificador>] {
  2.   [<tipo> <nombre_objeto>[,<nombre_objeto>,...]];
  3. } [<objeto_estructura>[,<objeto_estructura>,...];

En tú código sería,
Código
  1. struct datos{
  2.  char modelo[20];
  3.  int ano;
  4.  char marca[20];
  5. } PoC;
Mirad que la variable año, tiene un carácter especial, la Ñ, tiene que ser modificada, la puse con n

Para ingresar el año, creo que debería ser,
Código
  1.   cin>>PoC.ano;


---

A manera de ejemplo mirad el siguiente ejercicio,
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. /* ESTRUCTURA */
  6.  
  7. struct ejemplo{
  8.   char sNombre   [20];
  9.   char sApellido [20];
  10. } PoC;
  11.  
  12. int main(){
  13.   /* INGRESAR DATOS */
  14.   cout << "Ingresar nombre: ";
  15.   cin.getline( PoC.sNombre, 20, '\n' );
  16.  
  17.   cout << "Ingresar apellido: ";
  18.   cin.getline( PoC.sApellido, 20, '\n' );
  19.  
  20.   /* MOSTRAR DATOS */
  21.   cout << "Nombre: " << PoC.sNombre << endl;
  22.   cout << "Apellido: " << PoC.sApellido << endl;
  23.  
  24.   return 0;
  25. }
Salida:
Código
  1. alex@shellroot:~/Escritorio$ g++ PoC.cpp
  2. alex@shellroot:~/Escritorio$ ./a.out
  3. Ingresar nombre: alex
  4. Ingresar apellido: root
  5. Nombre: alex
  6. Apellido: root


Título: Re: qué hay de malo en este codigo en c++?
Publicado por: Danyel_Casvill en 15 Abril 2011, 04:28 am
escribiste "cin<<" y es "cin>>"