Google Búsqueda personalizada

Regístrate gratis para participar de los foros, o si ya estás registrado haz login.

ayuda con programa en visual basic 6.0 porfaa

comentario del autor Jue Jun 25, 2009 12:09 am
   
el programa esta listo no me tira error al compilar pero cuando lo ejecuto y pongo los datos ke me pude al mostrarlos me llena la pantalla de puras tonteras :S ayuda porfa tengo ke entregarlo antes de las 12 xD


#include <iostream.h>
#include <string.h>
#include <iomanip.h>
#include <stdio.h>
struct direccion
{
char calle[25];
char sector[25];
char cuidad[25];
int codigopostal;
};

struct datosalumnos
{
char rut[25];
char apellido[25];
char nombres[25];
char fechanacimiento[25];
direccion direccionalumno;
int telefono;
char email[25];
char carrera[25];
float notas[5];
float promedio;
int suma;
};

void main ()
{
int i,j,k;
float suma;

cout<<"Cuantos alumnos desea ingresar(maximo 40): "<<endl;
cin>>j;


datosalumnos alumnos[40];

for(i=0;i<j;i++)
{
cout<<"Ingrese el rut del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].rut);
cout<<"Ingrese los apellidos del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].apellido);
cout<<"Ingrese los nombres del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].nombres);
cout<<"Ingrese la fecha de nacimiento del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].fechanacimiento);
cout<<"Ingrese la direccion del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].direccionalumno.calle);
cout<<"Ingrese el sector del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].direccionalumno.sector);
cout<<"Ingrese la cuidad del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].direccionalumno.cuidad);
cout<<"Ingrese el codigo postal del "<<i+1<< " alumno:"<<endl;
cin>>alumnos[i].direccionalumno.codigopostal;
cout<<"Ingrese el telefono del "<<i+1<< " alumno:"<<endl;
cin>>alumnos[i].telefono;
cout<<"Ingrese el e-mail del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].email);
cout<<"Ingrese la carrera del "<<i+1<< " alumno:"<<endl;
gets(alumnos[i].carrera);
suma=0;
for(k=0;k<5;k++)

{
cout<< "Ingrese la "<<k+1<< " nota del alumno: "<< endl;
cin>>alumnos[i].notas[k];
suma=suma+alumnos[i].notas[k];

}
alumnos[i].promedio=suma/5;

}

cout<< "Los Aprovados son: " << endl;
for(i=0;i<k;i++)
{
if(alumnos[i].promedio>=4)
cout<< alumnos[i].rut <<" "<<alumnos[i].nombres<<" "<<alumnos[i].apellido<<" "<<alumnos[i].email<<endl;

else
cout<< "Los Reprovados son: " << endl;
cout<< alumnos[i].rut <<" "<<alumnos[i].nombres<<" "<<alumnos[i].apellido<<" "<<alumnos[i].email<<endl;
}


}

sirok

Reputación

sin valorar Jue Jun 25, 2009 2:31 am
   
Primeramente es Visual c++ no Basic hay una gran diferencia y la otra el error estan al mostrar los datos en pantalla, no se que trataste de hacer pero haces un ciclo infinito tu problema es que no supiste como mostrar a aprovados y reprobados al mismo tiempo recuerda el if es para hacer la comparacion asi como esta solo mostrara si hay aprobados en caso que sea menor mostrara los reprovados que es ilogico por que por lo menos uno estara aprovado. otra cosa es que el valor de i se vuelve cero que no esta bien
mi recomendacion es que hagas dos if uno para aprovados y otra para reprobados es caso de dudas enviamen escribe tus comentarios.

Juan286

Reputación

sin valorar Jue Jun 25, 2009 3:23 am
   
Bueno basta del regaño solo tienes que remplzar el codigo de salida pore sto y debe funcionar

cout<<"Los Aprovados son:" << endl;

for(int a=0;a<i;a++)
{
if(alumnos[a].promedio>=4)
cout<< alumnos[a].rut <<" "<<alumnos[a].nombres<<" "<<alumnos[a].apellido<<" "<<alumnos[a].email<<""<<alumnos[a].promedio<<endl;
else
cout<<"No hay apobados"<<endl;
}

cout<<"Los Reprobados son:" << endl;
for(int b=0;b<i;b++)
{
if(alumnos[b].promedio<=4)
cout<<endl;
cout<< alumnos[b].rut <<" "<<alumnos[b].nombres<<" "<<alumnos[b].apellido<<" "<<alumnos[b].email<<" "<<alumnos[b].promedio<<endl;
else
cout<<"No hay Reprobados muy bien"<<endl;
}

Juan286

Reputación



Hacer una pregunta

Boletín de Noticias

Reciba noticias de tecnología, tips de reparación y ofertas exclusivas.



Reglamento / P+F

Foros

Miembros / Expertos