Autor
|
Tema: Ayuda con calculadora básica en C (Leído 2,472 veces)
|
wazausky
Desconectado
Mensajes: 10
|
Buenas, miren, este programa me a dado lata, es sencillo. Les pongo el programa y luego les digo que es lo que necesito #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { float a, b, c; char o, r; while (1) { if (o=='+') { c=a+b; } if (o=='-') { c=a-b; } if (o=='*') { c=a*b; } if (o=='/') { if (b==0) { printf("Division no definida para b = 0"); break; } else { c=a/b; } } } }
Como veran, el programa pide meter digito por digito, es decir, ingresar "a" y dar enter, luego ingresar la operacion, ya sea "+", "-", "*" o "/" y dar enter, despues ingresar "b" y dar enter. Quiero que sea capaz de ingresar "a", la operacion (ya sea "+", "-", "*" o "/") y "b" en un solo paso. Por favor y gracias :/
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
............................................................ Como veran, el programa pide meter digito por digito, es decir, ingresar "a" y dar enter, luego ingresar la operacion, ya sea "+", "-", "*" o "/" y dar enter, despues ingresar "b" y dar enter. Quiero que sea capaz de ingresar "a", la operaciony "b" en un solo paso. Por favor y gracias :/
Para eso está la función sscanf. Por ejemplo:#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { float a, b, c; char o, r, entrada[81]=""; while (1){ fgets( entrada,80,stdin); sscanf( entrada, "%f%c%f ",&a,&o,&b ); if (o=='+') printf("%g", a+b); if (o=='-') printf("%g", a-b); if (o=='*') printf("%g", a*b); if (o=='/') { if (b==0) { printf("Division no definida para b = 0"); break; } else printf("%g", a/b); } } return 0; }
Saluditos!. ...
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Quiero que sea capaz de ingresar "a", la operacion (ya sea "+", "-", "*" o "/") y "b" en un solo paso. Si te refieres a usar una sola llamada a función basta con: scanf("%f %c %f", &a , &o , &b );
Si te refieres a introducir los operandos y el operador en la misma linea no hay problema, solo se tiene que introducir, por ejemplo: Por ultimo tu programa tiene un error importante: para leer un carácter con scanf se debe utilizar " %c", no es correcto "%s" ya que este es para cadenas (una palabra). Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Calculadora básica by swik
Scripting
|
.:Swik:.
|
1
|
3,023
|
20 Abril 2010, 02:49 am
por BloodyDark
|
|
|
Ayuda con Prueba Basica
Criptografía
|
ESTgarcia
|
5
|
4,911
|
16 Diciembre 2011, 13:50 pm
por APOKLIPTICO
|
|
|
Calculadora basica en visual basic
.NET (C#, VB.NET, ASP)
|
Sarachan
|
5
|
5,495
|
5 Diciembre 2011, 14:09 pm
por Sarachan
|
|
|
[SRC] [javascript] Calculadora básica estilo Windows
Desarrollo Web
|
Psyke1
|
0
|
3,385
|
16 Octubre 2012, 11:42 am
por Psyke1
|
|
|
[Python] Calculadora básica de consola
Scripting
|
flacc
|
0
|
2,900
|
23 Octubre 2012, 00:25 am
por flacc
|
|