| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Jue 18 Dic, 2008 3:29 pm Asunto: conocer caracteres en c++ consola |
|
|
hola foro
de nuevo con una duda como en consola c++ se que caracteres del teclado se han precionado, y como verificar , ejemplo , escribistes numeros todo bien pero si escribes letras mensaje de error y volver a intentarlo , igual con las letras gracias urgente tambien _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Vie 19 Dic, 2008 3:40 pm Asunto: |
|
|
si con el console wizard que trae el builder 6 .... _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Mar 23 Dic, 2008 2:59 am Asunto: |
|
|
amigos estoy al limite con el proyecto y no doy con el resultado , escribire todo el codigo aca si me lo permiten y dire donde esta los problemas gracias y disculpen las molestias de veras es urgente esot era para ayer pero me dan chance....
| Código: |
#include <iostream>
#include <stdio>
#include <ctype>
const int total =3;
struct Alumnos
{
char aSexo[10];//array que almacena sexo
int aEdad;
} aTAlumnos[total];
//**********************************************
//no quiero poner un numero fijo, sino que el usuario escriba el valor que desee
//**************************************************
//prototipos
int menu();
void Datos();
void AlumnosMenores();
void EdadPromedio();
void MayorMenor ();
void TotalHombre();
int main()
{
cout<<"\t***En un grupo de la sede universitaria***"<<endl<<endl;
bool salir = false;
for (;;)
{
int elegir = menu();
switch(elegir)
{
case (1):
Datos();
break;
case (2):
AlumnosMenores();
break;
case (3):
EdadPromedio();
break;
case (4):
MayorMenor();
break;
case (5):
TotalHombre();
break;
case (6):
salir=true;
default:
cout << "\n\n\tPor favor, selecciona de nuevo" << endl;
break;
} // finaliza switch
if (salir == true)
break;
} // finaliza "forever"
cout<<endl<<endl;
system("pause");
return 0;
}
//funciones
int menu()
{
int elegir;
cout << "\n\n\t\t **** Menu **** " << endl << endl<<endl;
cout << "(1) Introducir datos. " << endl;
cout << "(2) Alumnos menores de 16. " << endl;
cout << "(3) Edad promedio del grupo. " << endl;
cout << "(4) Edad del mas viejo y del mas joven. " << endl;
cout << "(5) Total sexo. " << endl;
cout << "(6) Salir... " << endl<<endl;
cout <<cin>> elegir;
return elegir;
}
void Datos()
{
cout<<"\n\n\tIntroduzca los datos de los alumnos, porfavor..."<<endl;
for(int i=1; i<=total; i++)
{
//*************************************************
//aca en la entrada de datos quiciera comprobar si lo que se escribio es //letra o nuemro , si es letra que solo se f o m y solo si es asi que se //guarden en la estructura....
//lo mismo para las edades si son numeros que se guarden , si son letras //que no y me permita volver a intentar en ambos casos...
//**************************************************
cout<<"\t\nEdad del alumno "<<i<<cin>>aTAlumnos[i].aEdad;
cout<<"\t\nSexo del alumno "<<i<<cin>>aTAlumnos[i].aSexo;
}
}
void AlumnosMenores()
{
int menor =0;
for(int i=1; i<=total; i++)
{
if(aTAlumnos[i].aEdad<16)
menor++;
}
cout<<"\n\tHay "<< menor <<" alumno(s) menores de 16 annos"<<endl;
}
void EdadPromedio()
{
int total=0,edad=0;
for(int i=1; i<=::total; i++)
{
edad=aTAlumnos[i].aEdad;
total+=edad;
}
cout<<"\n\tEl promedio de alumnos es: "<<total/2;
}
void MayorMenor () //utilizando ordenacion tipo burbuja un poco vieja y
//rustica pero nos sirve en este caso Ok!!
{
int almacen, aMenor=0, aMayor=0;
for(int i=0; i<=total;i++)
for(int j=0; j<total> aTAlumnos[j+1].aEdad)
{
almacen=aTAlumnos[j].aEdad;
aTAlumnos[j].aEdad=aTAlumnos[j+1].aEdad;
aTAlumnos[j+1].aEdad=almacen;
}
for(int i=1; i<=total;i++)
{
aMenor=aTAlumnos[1].aEdad;
aMayor=aTAlumnos[total].aEdad;
}
cout<<"\n\t\tEl menor de los alumnos tiene "<<aMenor<<" annos"<<endl;
cout<<"\n\tEl mayor de los alumnos tiene "<<aMayor<<" annos"<<endl;
}
void TotalHombre()
{
for(int i=1; i<=total; i++)
{
cout<<aTAlumnos[i].aSexo;
}
}
|
por favor de veras necesito la ayuda cuanto antes , se los ruego amigos salvenme _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mar 23 Dic, 2008 2:29 pm Asunto: |
|
|
Para detectar 'f' ó 'm' puedes usar getche(). También para leer números, pero en este caso quizás te guste mas usar esto:
| Código: | if(cin>>aTAlumnos[i].aEdad;) cout<<aTAlumnos[i].aEdad; |
La elección es tuya, sólo son ideas.
Saludos. |
|
| Volver arriba |
|
 |
|