Programación General > C/C++
no se pòr que este ejercicio no compila( memoria dinamica)
(1/1)
luchojimenez:
mi solucion es la siguiente
--- Código: C++ --- #include<iostream.h>#include<cstdio>#include<conio.h> using namespace std; int main() {int n,i;struct computador{char marca[20];char modelo[20];int calma;// capacidad de alamcenamientoint ram;}cout<<"Datos del pc"<<endl;cout<<"cuantos pc desea ingresar"<<endl;cin>>n; computador*compu=new int;for(i=1;i<=n;i++){cout<<"n Dame la marca"<<endl;cin>>compu[i].marca;cout<<"n dame el modelo"<<endl;cin>>compu[i].modelo;cout<<"n dame la cpacidad de almacenamiento"<<endl;cin>>compu[i].calma;cout<<"n Dame capacidad memoria Ram"<<endl; cin>>compu[i].ram; }clrscr();cout<<"DATOS ALMACENADOS DE LOS PC"<<endl;for(i=1;i<=n;i++){cout<<compu[i].marca<<endl;cout<<compu[i].modelo<<endl;cout<<compu[i].calma<<endl;cout<<compu[i].ram<<endl;}system("pause");return 0;}
el ejercicio es el siguiente
Implemente un programa en C++ usando memoria dinámica con los operadores New y Delete para que imprima los datos básicos de 5 marcas comerciales de computadores, es decir (Marca, modelo, capacidad de almacenamiento, capacidad de memoria RAM instalada) para lo cual se requiere hacer usando una estructura llamada computador, incluya variables de tipo apuntador. Como resultado se espera el código fuente debidamente documentado cada línea y la captura de pantalla de la imagen del resultado despues de la ejecución.
Cosmos009:
Hola luchojimenez, al final de la creación de una struct deberías declarar variables en caso de no necesitarlas debes poner ; al final de la struct:
struct computador
{
char marca[20];
char modelo[20];
int calma;
int ram;
}; <----------así.
Además cuando creas el puntero para el new , tal vez seria mejor que declararas: new computador[N],
Así debe de ir al menos a mi me funciona.
Amilius:
Además tienes que cambiar algunas cosas:
En lugar de:
--- Código: C++ --- computador*compu=new int;
Debería ser:
--- Código: C++ --- computador* compu = new computador[n];...// Al final cuando ya no necesites "compu" tienes que liberar la memoria:delete[] compu;
Los arreglos en C, C++ están basados en 0, así que en lugar de:
--- Código: C++ --- for(i=1;i<=n;i++)
Tiene que ser:
--- Código: C++ --- for(i = 0; i < n; i ++)
Navegación
Ir a la versión completa