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

Programacion en C, simple duda

Estas en el tema de Programacion en C, simple duda en el foro de C/C++ en Foros del Web. Hola bueno yo tengo que hacer un programa tipo calculadora, y lo que tiene que hacer es que al ingresar un numero luego un operador ...
  #1 (permalink)  
Antiguo 30/09/2011, 22:34
Avatar de aleingenieria  
Fecha de Ingreso: septiembre-2011
Ubicación: guatemala
Mensajes: 7
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Programacion en C, simple duda

Hola bueno yo tengo que hacer un programa tipo calculadora, y lo que tiene que hacer es que al ingresar un numero luego un operador y otro numero de el resultado y podamos seguir ingresando mas operadores y numeros...

: mi problema es que quieren que aparezca el resultado sin presionar enter sino que al presionar el siguiente operador aparezca el resultado...

me explico :

supongase es 4+5 /

entonces al presionar el operador de division /

tiene que aparecer el resultado 9 sin presionar enter

y poder seguir ingresando mas numeros para seguir operando...




Pero como le hago para que me aparezca el resultado sin presionar enter sino al ingresar el siguiente operador ???

mi codigo funciona bien pero si hay que presionar enter, de ante mano muchas gracias por sus respuestas....








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


int main()

{

float a=0,b=0,resultado=0,d=0;

char operador,Operador;


cin>>a;
cin>>operador;
cin>>b;







switch (operador)

{

case '+':




resultado=(a+b);


cout<<"= "<<resultado<<endl;







break;


case '-':

resultado=(a-b);

cout<<"= "<<resultado<<endl;

break;


case '*':

resultado=(a*b);

cout<<"= "<<resultado<<endl;

break;


case '/':

resultado=(a/b);

cout<<"= "<<resultado<<endl;

break;







default :

cout<<"no sirve";




}






while (resultado>=0 || resultado<=0)

{

cin>>Operador;


switch (Operador)


{


case '+' :

cin>>d;

resultado=(resultado+d);

cout<<"= "<<resultado<<endl;


break;

case '-' :



cin>>d;

resultado=(resultado-d);

cout<<"= "<<resultado<<endl;

break;

case '*' :

cin>>d;

resultado=(resultado*d);

cout<<"= "<<resultado<<endl;

break;

case '/' :

cin>>d;

resultado=(resultado/d);

cout<<"= "<<resultado<<endl;

break;



default :

cout<<" error "<<endl;

}


}



getchar();


}
  #2 (permalink)  
Antiguo 01/10/2011, 17:56
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: Programacion en C, simple duda

Yo te recomendaria usar una libreria como ncurses para eso.
Sino tienes que cambiar la configuracion de la consola pero eso depende del sistema opertativo

Ejemplo para Linux: http://www.reloco.com.ar/linux/prog/tecla.html
  #3 (permalink)  
Antiguo 01/10/2011, 20:55
 
Fecha de Ingreso: septiembre-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Programacion en C, simple duda

Que interesante!
  #4 (permalink)  
Antiguo 04/10/2011, 21:25
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 8 meses
Puntos: 10
Respuesta: Programacion en C, simple duda

proba con la conio que está para el devc++.

En vez de cin >> operador haces operador = getch();

entonces te toma el primer valor que le ponen y no precisas del enter.
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 14:56.