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

Pequeño problema con estructuras

Estas en el tema de Pequeño problema con estructuras en el foro de C/C++ en Foros del Web. Hola que tal?? Espero que alguien me pueda ayudar con el siguiente problemita, y si pueden espero que me digan el porque no estaba bien, ...
  #1 (permalink)  
Antiguo 12/09/2008, 22:37
Ith
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Información Pequeño problema con estructuras

Hola que tal??

Espero que alguien me pueda ayudar con el siguiente problemita, y si pueden espero que me digan el porque no estaba bien, porfavor.

El programa pide algunos valores, los cuales son de distinto tipo, el problema esta en el "nombre" que pide el programa, ya todo lo demás corre bien, pero se salta el nombre la primera vez, y lo pide hasta le segunda vez que ingresas otros datos. espero m puedan ayudar aki les dejo el codigo.

Gracias de cualquier modo.

Bye



#include<stdio.h>
#include<conio.h>
#include<iostream.h>

int i=0;

struct alumno
{
int matricula;
char nombre[15];
int asistencias;
int calificacion1;
int calificacion2;
float promedio;
int grupo;
}
alum[50];
//------------------------------------------------------------------------------

//altas
void altas(void)
{
char resp;
do
{
clrscr();
gotoxy(2,10);cout<<"\Altas de alumnos\n";
cout<<"\nMatricula: ";
cin>>alum[i].matricula;
cout<<"\nNombre: ";
gets(alum[i].nombre);
cout<<"\nGrupo: ";
cin>>alum[i].grupo;
cout<<"\nAsistencias: ";
cin>>alum[i].asistencias;
cout<<"\nCalificacon primer parcial: ";
cin>>alum[i].calificacion1;
cout<<"\nCalificacion segundo parcial: ";
cin>>alum[i].calificacion2;
cout<<"\nDesea dar de alta otro alumno\? s/n: ";
cin>>resp;
i++;
}//Fin Do-While
while (resp==('s')&& i<50);
getch();
}//fin altas

//------------------------------------------------------------------------------

main()
{
int op;
do
{
clrscr();
printf("\n\tDigita la opcion deseada\n\n");
printf("1.-Altas:\n2.-Bajas:\n3.-Modificaciones:\n4.-Consultas:\n5.-Impresion en pantalla:\n6.-Salir:");
printf("\n\n\t\tOpcion: ");
scanf("%d",&op);
switch(op)
{
case 1:
altas ();
break;
case 2:
// bajas ();
break;
case 3:
// modificaciones ();
break;
case 4:
// consultas ();
break;
case 5:
// if (i!=0)
// imprim();
// else
// if(i==0)
// printf("FAVOR DE LLENAR EL VECTOR");
// getch();
break;
case 6:
break;
default:
printf("OPCION NO VALIDA");
}
}
while(op!=6);
getch ();
return 0;
}



  #2 (permalink)  
Antiguo 17/09/2008, 15:10
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Pequeño problema con estructuras

talvez por que declaraste "nombre" como tipo char, char te permite crear una variable de un solo caracter como te lo idica, seria mejor si lo declaras como un String

String nombre;

"String" crea una variable para capturar una cadena

estaria bien que limpiaras memoria de tu programa con un flushall()

Última edición por fernandoBH; 17/09/2008 a las 15:16
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 05:59.