#include <stdio.h>
#include <conio.h>
int main()
{
int c;
c = 0;
printf("Elija 1 2 o 3");
scanf("%d\n",&c);
switch (c)
{
case 1 :
c = 10;
break;
case 2 :
c = 50;
break;
case 3 :
c = 100;
break;
}
printf("c es igual a&d",c);
getch();
return 0;
}
Por que no funciona?
Lo primero que debes hacer es evitar el uso de la biblioteca conio de Borland, mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).
El programa debe funcionar correctamente salvo lo antes mencionado y el error en la linea:
printf("c es igual a&d", c);
Donde tienes '&' cuando deberías utilizar '%'.
También debes cambiar esta linea:
scanf("%d\n", &c);
A:
scanf("%d", &c);
Ya que de no hacerlo se presentan problemas (los especificadores de printf y scanf son similares pero no idénticos, en cuestión de dudas nada mejor que un libro).
Un saludo
No se pueden usar saltos de linea en scanf???
Si tomas el consejo que mas de un usuario, con la mejor intención, te ha dado: obtener un libro de calidad y leerlo con calma y cuidado encontraras que la mayoría de las respuestas (a las preguntas que realizas) están ahí.
En cuanto a la pregunta: si y no. Puedes utilizar caracteres como ' ', '\t' y '\n' en la cadena de formato de "scanf" pero no se toman literalmente, en su lugar se procesan como la indicacion de "una secuencia de cero o mas caracteres de tipo espacio blanco".
Un saludo
Ni siquiera es necesario el libro... en la Wikipedia sale bastante explicado (tal vez sacado textual de un libro, no lo se)
Saludos
Como dijo rir3760, quita la biblioteca <conio.h> y sustituye
getch();
Por:
getchar();
Saludos