Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - bamdrums

#1
Muchas gracias lo he logrado en otro tema :) , perdona mi torpeza pero soy malo con esto de los foros jeje en dónde está el botón modificar :S  ?
#2
Programación C/C++ / Ayuda con menú en c++
18 Enero 2015, 08:13 AM
Hola que tal compañeros del foro soy nuevo en la programación , en mi escuela tengo profesores malísimos  :( ya que faltan demasiado e inclusive llego a pensar que ni programar saben , pero bueno así es la situación y vengo a este foro en búsca de ayuda tengo este menú que ralicé.

El problema es que necesito que al estar en el menú pueda salir del programa con la tecla "esc" en vez de el número 3 , y también para regresar al menú después de entrar a una opción debe ser con la letra "s" , también tengo duda si la forma en la que hice el menú es la correcta ,  me corre bien el programa eso me hace suponer q tal vez no voy tan mal :s jeje , bueno espero que me puedan ayudar , quiero aprender a programar de forma correcta les agradecería mucho su ayuda :)

Código (cpp) [Seleccionar]
#include <iostream>
#include <conio.h>

using namespace std;

struct alumnos

{
char nom[50],semestre[50],grupo[50];
float califi;


} alumn [3];


int main()

{
int x,z;
int opcion;
float prom,T=0,*pprom;
pprom=&prom;


do{
system ("cls");
cout << "\n\t\t\t MENU DE OPCIONES  \n\n";
cout << "\t 1.-CAPTURAR DADTOS DEL ALUMNO \n";
cout << "\t 2.-INFORMACION DEL ALUMNO Y PROMEDIO GRUPAL \n";
cout << "\t 3.-SALIR \n\n";
cout << "\t ELIJA UNA OPCION:";
cin >> opcion;

switch (opcion)

{

case 1:

for(x=0;x<3;x++)


{
fflush(stdin);
system("cls");

cout<< "\t\t INGRESA LOS SIGUIENTES DATOS DEL ALUMNO\n\n\n";

cout<< "NOMBRE: ";  cin.getline(alumn[x].nom, 50);

cout<< "SEMESTRE: ";  cin.getline(alumn[x].semestre, 50);

cout<< "GRUPO: ";  cin.getline(alumn[x].grupo, 50);

cout<< "CALIFICACION: "; cin >> alumn[x].califi;

if (x==2)

{
cout << "PRESIONA CUALQUIER TECLA PARA REGRESAR AL MENU";
getch();


}



}


system("cls");
break;


case 2:

system ("cls");

for (z=0;z<3;z++)

{
cout << "\n\tALUMNO" << "  " << (z+1) << "\n\n";
cout << "\tNOMBRE:" <<alumn[z].nom <<endl
<< "\tSEMESTRE:"<<alumn[z].semestre <<endl
<< "\tGRUPO:"<<alumn[z].grupo <<endl
<< "\tCALIFICACION:"<<alumn[z].califi<<"\n\n" ;

T=T+alumn[z].califi;
prom=T/3;

if(z==2)

{
cout << "\n\t\t PROMEDIO GRUPAL: " << *pprom <<"\n\n\n";
T=0;
cout << "\t\tPRESIONA CUALQUIER TECLA PARA REGRESAR AL MENU";

}


}

getch();
system("cls");
break;

case 3:

system("cls");
return 0;

default:

system ("cls");
cout << "\t\t\t ERROR!!!!!"<<endl
<<"OPCION NO VALIDA PRESIONA UNA TECLA PARA REGRESAR AL MENU";
getch();
break;








}

} while (opcion=3);


}

#3
muchas gracias me ha quedado muy claro :), disculpa soy nuevo en el foro no se como ingresar etiquetas geshi . ¿En dónde puedo encontrar la forma de hacerlo?
#4
hola que tal quisiera que alguien me pudiera explicar un programa ya que en verdad que no entiendo el funcionamiento del programa , encontré la solución un amigo me ayudo pero aunque me explico aun tengo dudas espero me puedan ayudar .
El programa tenía que tener 2 valores en dos variables y con apuntadores se tenía que invertir el valor de estos les dejo el código :

#include <iostream>


using namespace std;

int main (){
   
   int x=3,y=2,*p1=NULL,*p2=NULL;
   
   cout << "El valor de x es: "<< x << "\n";
   cout << "El valor de y es: "<< y << "\n\n\n";
   
   
   p1=&y;
       p2=&x;
   *p1 += *p2;
       *p2 = *p1-*p2;
       *p1 -= *p2;
   

   cout << "El valor de x es: "<< x << "\n";
   cout << "El valor de y es "<< y << "\n\n\n";
   
   return 0;
   
   
}


Al ejecutar el programa si invierte los valores , lo que no entiendo es el algoritmo que hace esto , siendo está la parte del código:


       *p1 += *p2;
       *p2 = *p1-*p2;
       *p1 -= *p2;

espero que me puedan explicar :C , saludos