Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Anastacio en 16 Febrero 2012, 00:05 am



Título: Este Case no me anda, no me figuro
Publicado por: Anastacio en 16 Febrero 2012, 00:05 am
#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?


Título: Re: Este Case no me anda, no me figuro
Publicado por: rir3760 en 16 Febrero 2012, 00:53 am
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:
Código
  1. printf("c es igual a&d", c);
Donde tienes '&' cuando deberías utilizar '%'.

También debes cambiar esta linea:
Código
  1. scanf("%d\n", &c);
A:
Código
  1. 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


Título: Re: Este Case no me anda, no me figuro
Publicado por: Anastacio en 16 Febrero 2012, 19:49 pm
No se pueden usar saltos de linea en scanf???


Título: Re: Este Case no me anda, no me figuro
Publicado por: rir3760 en 17 Febrero 2012, 01:28 am
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


Título: Re: Este Case no me anda, no me figuro
Publicado por: armizh en 17 Febrero 2012, 01:36 am
Ni siquiera es necesario el libro... en la Wikipedia sale bastante explicado (tal vez sacado textual de un libro, no lo se)

Saludos


Título: Re: Este Case no me anda, no me figuro
Publicado por: Caster en 20 Febrero 2012, 00:05 am
Como dijo rir3760, quita la biblioteca <conio.h> y sustituye
Código

Por:
Código

Saludos