C/Visual C - No encuentro informacion de algo basico

   
Vista:

No encuentro informacion de algo basico

Publicado por carlos (65 intervenciones) el 27/05/2017 14:33:22
Pues se me ha propuesto un ejercicio simple de division,suma y resta
No he podido hacerlo asi que he visto el resultado que es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main(void)
{
double a, b; //a, b: Primer y segundo dato de entrada
printf("------------------------\n");
printf("--Calculadora \"ABACO2\"--\n");
printf("------------------------\n");
printf("\nIntroduzca el primer dato (a): ");
scanf("%lf", &a);
printf("\nIntroduzca el segundo dato (b): ");
scanf("%lf", &b);
printf("\nLa suma de %lf y %lf es %lf", a, b, a+b); //suma
printf("\nLa resta de %lf y %lf es %lf", a, b, a-b); //resta
printf("\nEl producto de %lf y %lf es %lf", a, b, a*b); //producto
printf("\nEl cociente de %lf y %lf es %lf", a, b, a/b); //cociente

He buscado lo de poner dos especificadores (%lf %hd) y no encuentro nada tanto en el libro como internet
¿como cambia esto en el codigo a poner solo un especificador?

¿Porque parece que en los libros supongo que online solo parece que falta información?

Muchas gracias y siento las molestias pero es que libro que empiezo y siempre falta algo que no acabo encontrando en el propio libro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No encuentro informacion de algo basico

Publicado por agustin (266 intervenciones) el 27/05/2017 15:18:04
Es tan sencillo como buscar información sobre las máscaras de formateo para printf o scanf y veras que %lf es long float, o lo que es lo mismo, un double y %hd es un short int.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No encuentro informacion de algo basico

Publicado por carlos (65 intervenciones) el 27/05/2017 15:51:25
sigo sin encontrar al respecto

Me salen todas algunas reglas si estan solas

%d ó %i entero en base 10 con signo (int)
%u entero en base 10 sin signo (int)
%o entero en base 8 sin signo (int)
%x entero en base 16, letras en minúscula (int)
%X entero en base 16, letras en mayúscula (int)
%f Coma flotante decimal de precisión simple (float)
%lf Coma flotante decimal de precisión doble (double)
%e La notación científica (mantisa / exponente), minúsculas (decimal precisión simple ó doble)
%E La notación científica (mantisa / exponente), mayúsculas (decimal precisión simple ó doble)
%c caracter (char)
%s cadena de caracteres (string)

pero no con varias juntas (como dije anteriormente) tampoco el l (que me has dicho que es long) tampoco como AFECTA.¿Con eso se dice que es tanto long como short el contenido de la variable?
Tambien cuando lo modifico no me deja poner el 2ºdato del scanf si lo dejo como %f en vez de %lf

PD: Gracias por responderme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dionicio

re: No encuentro informacion de algo basico

Publicado por Dionicio (22 intervenciones) el 28/05/2017 03:09:36
Para leer o imprimir un double con scanf y printf respectivamente puedes usar %lF(Para entrada y salida ) y también puedes usar %g para salida solamente (sirve mayormente para expresar en notación científica cuando los números son muy grandes o muy pequeños)

Aquí hay una tabla para que te guíes mejor con los tipos de datos en C.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad