C/Visual C - por favor cual es el error en este programa

   
Vista:

por favor cual es el error en este programa

Publicado por Silvia (1 intervención) el 21/04/2008 06:26:07
#include <iostream.h>
#include <stdlib.h>

void main()
{
char **alumno;
int *nota;
alumno=(char **)malloc(sizeof(int));
alumno[0]=(char *)malloc(sizeof(int));
nota=(int *)malloc(sizeof(int));
cout<<"Ingrese el nombre del alumno"<<endl;
cin>>**alumno;
cout<<"Ingrese la nota del alumno"<<endl;
cin>>*nota;
cout<<"El alumno esta ";
if(*nota>11)
cout<<"Aprobado"<<endl;
else
cout<<"Desaprobado"<<endl;
}
no deja introducir la nota
defrente sale desaprobado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:por favor cual es el error en este programa

Publicado por Mnemos9 (2 intervenciones) el 21/04/2008 20:34:25
No podria explicartelo bien ya que a decir verdad no programo en c++ hace algun tiempo habia incursionado en c..
Pero funciona xD

esta linea
cin>>**alumno;
cambiarla por:
cin>>alumno[0];

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor cual es el error en este programa

Publicado por fernando.gomez (1604 intervenciones) el 21/04/2008 23:39:06
En la tercera línea tienes:

alumno=(char **)malloc(sizeof(int));

¿por qué sizeof(int) si tienes un caracter? Deduzco que quieres crear una cadena de texto, ingresarla al sistema e imprimirlo, ¿no? Sería algo como:

char alumno[51]; // cadena de 51 caracteres
int nota;

cout<<"Ingrese el nombre del alumno"<<endl;
cin >>alumno;
cout << "Ingrese la nota del alumno" << endl;
cin >> nota;
cout << "El alumno está ";
if(nota > 11)
cout << "Aprobado" << endl;
else
cout << "Desaprobado" << endl;

Y listo. Si quieres crear tu cadena de forma dinámica, bueno, puedes hacer:

char* alumno = new char[tamaño_aquí];

y lo demás igual a como te dije.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar