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

Programa

Estas en el tema de Programa en el foro de C/C++ en Foros del Web. Amigos tengo un programa funcionando pero quiero agregarle una opcion que pida mas o menos asi "si quiere continuar precione 1 si no presione 0" ...
  #1 (permalink)  
Antiguo 17/09/2008, 23:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 22
Antigüedad: 15 años, 7 meses
Puntos: 0
Programa

Amigos tengo un programa funcionando
pero quiero agregarle una opcion que pida mas o menos asi

"si quiere continuar precione 1 si no presione 0"

si alguien me podria ayudar.

saludos
  #2 (permalink)  
Antiguo 18/09/2008, 05:04
Avatar de WaRc3L  
Fecha de Ingreso: agosto-2008
Ubicación: My House
Mensajes: 89
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Programa

facil, tienes una variable temporal, despues, el usuario le da el valor necesario ( en este caso 1 o 0 ), despues, harias un if y un else para comprovar si son 1 o 0.

Codigo:

Código:
#include <iostream>
using namespace std;

int main(void)
{
   int temp;

   cout << "Que quiere hacer? 1 para continuar, 0 para salir ";
   cin >> temp;

   if ( temp == 1 )
  {
      cout << "Puede continuar!"; 
  }
  else if ( temp == 0 )
  {
      cout << "Se acaba el programa!";
  }
  else
  {
     cout << "Se ha equivocado de numero, me lo tomare como un salir!";
  }

   return 0;
}
Seguramente, la cosa extraña que ves es el else if, pues sencillamente, si no se cumple el if, va por el siguiente else if, si tampoco se cumple el else if, va por el else.

Tambien, puedes hacer esto en una linea, pero tendrias que comprovar que el usuario no haya entrado ni un 5, ni un 4, ni un 3 ( solo 1 y 0 )

Código:
...
cin >> temp;

if ( temp < 0 || temp > 1 )
{
   cout << "SE HA EQUIVOCADO!";
}

(temp==1)?cout << "Puede continuar!":cout << "No puede continuar!"; 

...
La linea extraña esa con los ? y el :, se diria lo siguiente:

si se cumple temp == 1, dice, puede continuar ( el primer apartado ), si no se cumple hace el segundo apartado.

Saludos! Espero que te haya ayudado!
__________________
Habla tu lenguaje favorito! Habla C++!
  #3 (permalink)  
Antiguo 19/09/2008, 08:18
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Programa

Usando windows, con la librería conio.h, puedes usar el comando "getch();" para obtener la tecla presionada sin esperar a que presione enter.

Código:
char c;
c = getch();
if (c == '1')
{/*...*/}
else if (c == '0')
{/*...*/}
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #4 (permalink)  
Antiguo 22/09/2008, 08:37
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Programa (con switch)

yuyinelvago, aca te dejo el codigo de lo que buscas.. esta hecho con un switch.
Si tenes solo dos opciones la zafas con ifs pero cuando tengas mas opciones lo mejor es usar un switch.

Aca va el codigo

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int in;
cout<<"Ingrese 1 para seguir, 0 para salir"<<endl;
cin>>in;

while(in!=1 && in!=0)
{
cout<<"Ingrese una opcion valida"<<endl;
cin>>in;
}

switch(in){
case 0:
cout<<"salgo"<<endl;
exit(0);
case 1:
cout<<"continuo"<<endl;
break;

}

system("PAUSE");
return EXIT_SUCCESS;
}
  #5 (permalink)  
Antiguo 26/09/2008, 15:04
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Programa

mejor si quieres hacerlo rapido :
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>//para el Sleep
void main()
{char c; //si usas int y cuando corres el programa presionas una tecla no numerica se raya
do
{clrscr();
printf("Presiona 1 para entrar 0 para salir");
flushall();//creo q esta en el stdlib.h
scanf("%c",&c);
}while (c!='1' && c!='0'); //por si acaso si no funk cambia el && por el ||
if(c=='1')
printf("puedes continuar");
else
{ printf("Lo siento se cerrara el programa");
Sleep(2000);
exit(1);}
}
  #6 (permalink)  
Antiguo 27/09/2008, 11:46
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Programa

Cita:
Iniciado por daPhyre Ver Mensaje
Usando windows, con la librería conio.h, puedes usar el comando "getch();" para obtener la tecla presionada sin esperar a que presione enter.

Código:
char c;
c = getch();
if (c == '1')
{/*...*/}
else if (c == '0')
{/*...*/}
conio.h no es standard.
Incluso dentro de windows podria no siempre compilarte dependiendo del compilador que uses. No lo usen.
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 23:25.