Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problema con estrucutras

Estas en el tema de problema con estrucutras en el foro de C/C++ en Foros del Web. hola cordial saludo tengo un problema con un programa de estructuras, pues se me bloquea y no se porque no funciona en dev c++ si ...
  #1 (permalink)  
Antiguo 05/11/2011, 10:51
 
Fecha de Ingreso: octubre-2011
Ubicación: colombia
Mensajes: 5
Antigüedad: 12 años, 7 meses
Puntos: 0
problema con estrucutras

hola cordial saludo tengo un problema con un programa de estructuras, pues se me bloquea y no se porque no funciona en dev c++ si en turbo c++ funcionaba perfecto.
el programa es
Código:
//  estructura para introduciccion  a la programacion


//programa guarda valores de los estudiantes como nombre, apellidos, y edad

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <iostream.h>


struct alumno{
        char nombre[50];
        char apellidos[50];
        float edad ;
        };
        
        
int main()
{    int x,i;
    alumno *estudiante; estudiante=(alumno*)malloc(sizeof(alumno));
    cout<<"digite el numero de estudiantes\n";
    cin>> x;
for(i=0;i<=x;i++)
 {   cout<< " nombre del estudiante"<<endl;
     cin>> estudiante[i].nombre;
     cout<< " apellidos del estudiante"<<endl;
     cin>> estudiante[i].apellidos;
     cout<< " edad del estudiante"<<endl;
     cin>> estudiante[i].edad;
     }
 
printf("los datos introducidos son\n");
for (int j=0;j<=x;j++){
cout <<"NOMBRE "<<estudiante[j].nombre<<"\n";
cout << "APELLIDOS"<<estudiante[j].apellidos<< "\n";
cout << "EDAD"<<estudiante[j].edad<<"\n";
                     };
free(estudiante);
system("pause");				

 return 0;
}

por esta razon, quisiera saber en que estoy fallando.

ademas como podria guardarlo en un archivo de texto.
gracias
  #2 (permalink)  
Antiguo 05/11/2011, 11:03
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: problema con estrucutras

Debe ser por un tema de como manejan las memoria uno se tilda y otro no. Pero lo que haces esta mal. Porque vos reservas memoria para un solo estudiante y necesitas para "x" estudiante.

Código C:
Ver original
  1. int x,i;
  2. cout<<"digite el numero de estudiantes\n";
  3. cin>> x;
  4. alumno *estudiante; estudiante=(alumno*)malloc(x * sizeof(alumno));
  #3 (permalink)  
Antiguo 06/11/2011, 21:05
 
Fecha de Ingreso: octubre-2011
Ubicación: colombia
Mensajes: 5
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: problema con estructuras

muy amable por tu respuesta, ahora para guardalo en un fichero de texto seria con
Código:
FILE *archivo;
archivo = fopen("c:\\ac\\alumnos.txt","w");


ahí guardaría la información de la estructura, o tendría que hacerlo de otra forma
el asunto es como escribo los datos en el fichero, lo he intentado con ofstream fs("nombre.txt");

Última edición por javier2101; 06/11/2011 a las 21:37
  #4 (permalink)  
Antiguo 06/03/2012, 13:40
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
Busqueda Respuesta: problema con estrucutras

como lleno una estructura anidada
cuando le pido los datos al usuario

Etiquetas: funcion, programa, string, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:45.