Autor
|
Tema: Ayuda en C (Leído 2,764 veces)
|
jhonsc
Desconectado
Mensajes: 43
|
Estoy empezando en C y necesito ayuda. Estoy haciendo un programa que me pida una operación y segun la operación que escoja, haga esa operación con dos numeros que me pide. Este es el código: //Este es mi tercer programa echo en C main() { int o, a, b, r; printf ("¿Que operación desea realizar?: (x = multiplicar; / = dividir; + = sumar; - = restar)\n"); scanf("%d",&o); if (o= "x") printf ("Ha elegido multiplicar. Escriba el primer número:\n"); scanf("%d",&a); printf ("Escriba el segundo número:\n"); scanf("%d",&b); r=a*b; printf ("El resultado de la operación es:%d\n",r); }
El problema es que luego, cuando lo ejecuto me sale lo siguiente: ¿Que operación desea realizar?: (x = multiplicar; / = dividir; + = sumar; - = restar) x Ha elegido multiplicar. Escriba el primer número: Escriba el segundo número: El resultado de la operación es:-2064563936 -----Como ven me pregunta que que operación deseo realizar, y yo le contesto x, pero apartir de aí, todo me sale automático, y no me pregunta numeros>>y encima sale ese numero como reultado. Utilizo GCC en Ubuntu.
|
|
|
En línea
|
“Vive rápido, muere joven y deja un bonito cadáver” "Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." "Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad."
|
|
|
LearningSpanishProgrammer
Desconectado
Mensajes: 67
|
Cuando escribe scanf(%d", &o) estas hacendo lecture de n dígitos (a partir de lo primer dígitos)
"31093aafeofae[enter]" va a leer 31093, pero el 'aafeofae[enter]' continuará em el 'standard input' (la entrada estándar)
Em su caso, lo [enter] es lido en el segundo 'scanf' porque permanece en la entrada estándar. Una opción es 'scanf("%d\n", &o)' otra es leer una cadena después de leer lo entero.
|
|
|
En línea
|
Estoy aprendiendo español, y tu estas aprendiendo programación
|
|
|
jhonsc
Desconectado
Mensajes: 43
|
Como puedo ponerlo pues porfavor?¿ (un ejemplo de código de agradecería)
|
|
|
En línea
|
“Vive rápido, muere joven y deja un bonito cadáver” "Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." "Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad."
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Hola Tienes muchos fallos: -Te faltan los #include, en este caso sólo haría falta <stdio.h> -main debe devolver un int, por tanto la declaración debe ser "int main" con el return al final -Para leer una letra mejor utiliza una variable tipo char -Las comparaciones se hacen con "==" no con "=" -Para comparar número no hacen falta comillas "x" -Todo lo que quieras que esté dentro del if debe ir entre llaves { } No sé si faltará algo Aquí tienes un ejemplo #include <stdio.h> int main() { int a, b, r; char o; printf ("Que operacion desea realizar?:\n\t x = multiplicar\n\t / = dividir\n\t + = sumar\n\t - = restar\n"); if (o == 'x') { printf ("Ha elegido multiplicar. Escriba el primer numero:\n"); printf ("Escriba el segundo numero:\n"); r=a*b; printf ("El resultado de la operacion es:%d\n",r ); } return 0; }
Saludos
|
|
« Última modificación: 9 Septiembre 2011, 17:50 pm por satu »
|
En línea
|
Breakbeat como forma de vida
|
|
|
jhonsc
Desconectado
Mensajes: 43
|
Gracias por lo de los fallos; y solo una cosa. A mí el scanf me ha funcionado sin incluir la biblioteca, por que¿?¿
|
|
|
En línea
|
“Vive rápido, muere joven y deja un bonito cadáver” "Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." "Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad."
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Hola
Pues seguramente porque usas un IDE como borland o Dev-C++, verdad??
Saludos
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
jhonsc
Desconectado
Mensajes: 43
|
No uso un IDE, si no el compilador GCC en ubuntu>>
|
|
|
En línea
|
“Vive rápido, muere joven y deja un bonito cadáver” "Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." "Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad."
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Si estas utilizando gcc deberías llamarlo mediante la linea de comandos: gcc -c -ansi -pedantic -Wall -O entrada -o salida Donde "entrada" es el archivo de código fuente y "salida" es el nombre de la aplicación resultante. Si lo haces así el compilador se ejecutara en su modo mas estricto y esa es la forma mas fácil de detectar (una buena parte de) los errores en el programa. En tu caso las llamadas a scanf sin incluir el encabezado <stdio.h>" funciona" ya que todas las llamadas son similares pero si existieran variaciones se generaría "comportamiento no definido", en español cualquier cosa puede pasar desde el programa funcionando correctamente hasta el (usual) el programa reventando. 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
|
|
|
jhonsc
Desconectado
Mensajes: 43
|
ok, gracias
|
|
« Última modificación: 12 Septiembre 2011, 16:36 pm por jhonsc »
|
En línea
|
“Vive rápido, muere joven y deja un bonito cadáver” "Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." "Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad."
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Amigos necesito ayuda con un background para un logo de una web ayuda.
Diseño Gráfico
|
™Carlos.®
|
2
|
3,451
|
14 Agosto 2004, 00:23 am
por ™Carlos.®
|
|
|
[Ayuda] Necesito ayuda para crear un buen video uso AF y Flash.
Diseño Gráfico
|
XXXXXX
|
1
|
5,534
|
11 Noviembre 2009, 00:17 am
por Sub_Cero
|
|
|
Ayuda por davor ayuda os ruego ayuda XD (SOLUCIONADO)
Hardware
|
XxRekcahlExX
|
6
|
10,618
|
24 Mayo 2010, 00:56 am
por Aprendiz-Oscuro
|
|
|
AYUDA -.- ahora no entro más en 4chan (tengo una duda, ayuda por favor)
Foro Libre
|
Draklit
|
6
|
8,825
|
15 Octubre 2010, 03:14 am
por Draklit
|
|
|
sist lince indumentaria ayuda ayuda!!!!!!!!!! problemon que hice en le trabajo
Software
|
paola03
|
1
|
4,971
|
11 Marzo 2011, 01:09 am
por charola42
|
|