Libro “C Programming Language” escrito por Brian W. Kernighan y Dennis M. Ritchie (Creador del lenguaje C)
C Programming Language, 2nd Edition
Introducción a las funciones en C
Lo que aprenderás sobre funciones en C
¿Qué es una función en C?
Cómo usar las funciones
Tipos de retorno en funciones
Manejo de funciones en C
Implementación de funciones
Parámetros por valor
Bibliotecas estándar de funciones
Principales Bibliotecas de C
Math.h
String.h
Time.h
Stdlib.h
Cierre
Conclusiones
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 21
Preguntas 5
Libro “C Programming Language” escrito por Brian W. Kernighan y Dennis M. Ritchie (Creador del lenguaje C)
C Programming Language, 2nd Edition
Conseguí un pdf del libro para aquellos que no lo pueden pagar (Como yo). C progamming language
Por defecto sin y cos esta en radianes, por eso le hice este cambio al programa para pasarlo a grados.
Notese que math.h tiene el valor de pi guardado y se llama M_PI
#include <stdio.h>
#include <math.h>
int x;
double result;
int main()
{
printf("Ingrese el valor de x: \n");
scanf("%d", &x); // Recibe un valor de entrada, asignamos el valor a la variable x
result = cos(x*M_PI/180);
printf("El valor ingresado es: %d \n", x);
printf("El valor del sin de x es: %f \n", result);
return 0;
}
Adicional estoy usando linux, y no me dejaba usar bien las funciones de la libreria de C. Como explican mas adelante en los comentarios hay que ponerle -lm al final de la instruccion. Por ende mi archivo tasks.json de VSCODE quedo asi:
{
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc build active file",
"command": "/usr/bin/gcc", //g++ for cpp
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-lm"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Generated task by Debugger"
}
],
"version": "2.0.0"
}
Vamos, que es el mismo libro que estoy usando como material de apoyo en el curso de Ricardo Celis. 🤓
los amo gracias por lo de el -lm en la terminal de linux ❤️
tenia un problema al compilar
Para los que no pudieron compilar, como a mi. Utilicen el siguiente comando:
gcc -o math math.c -lm
Para realizar los ejercicios estoy utilizando una raspberrypi, con el sistema operativo raspbian.
Al tratar de compilar el programa, me marca el siguiente error:
pi@raspberrypi:~/Platzi/Escuelas/DesarrolloSoftware/ProgramacionEstructurada $ gcc -o mathDemo mathDemo.c
/usr/bin/ld: /tmp/ccg38xMX.o: en la función `main':
mathDemo.c:(.text+0x34): referencia a `sin' sin definir
collect2: error: ld returned 1 exit status
Buscando en internet, encontré esta página; https://c.dokry.com/384/referencia-indefinida-a-sin.html
Para poder compilar tuve que agregar la opción -lm al final:
pi@raspberrypi:~/Platzi/Escuelas/DesarrolloSoftware/ProgramacionEstructurada $ gcc -o mathDemo mathDemo.c -lm
Comparto link del libro “The C programming language”
no entiendo que pasa ejecuto el programa y me sale el error descripto al final
#include <stdio.h>
#include <math.h>
int x;
float result;
int main()
{
printf( "ingrese el valor de x: ");
scanf("%d ",&x);
printf (" el valor de x es: %d",x);
result= sin(x);
printf("el valor del coseno de x es: %f\n", result);
return 0;
}
[Error] ld returned 1 exit status
sin esta clase no se podía resolver los retos de hace un par de clases
Algo de lo que me di cuenta haciendo pruebas es que la librería trabaja con radianes, por eso al poner sin(90) no os saldrá 1.
Para ello hice un método que sirve de conversor de grados a radianes.
"Programming With C " de Byron S Gottfried,
Dicen que es el mejor libro para aprender lenguaje C.
Para los que no les reconozca math.h , y usa code blocks (estando en ubuntu 20.4).
Me funcionó hacer lo siguiente:
Ir a Project -> Build options -> Linker settings -> opción “add” :
Les aparecerá un cuadro de texto , escriben “libm.a” dan en “ok”.
Cierran la ventana dando en “ok” .
Listo, ya funciona.
pd: Abajo del cuadro de texto hay una opción que dice “Linker executable” está en auto detect. (Lo había probado seleccionando la opción “use C compiler”.) Funciona igual en auto detect o modificándolo. Saludoss
El video se queda sin audio despues del minuto 6:14
😂🤣😂
Visual Studio code ejecuta los codigos de forma correcta sin usar las etiquetas de librerias. Porque ocurre esto?
Donde esta el enlace del libro que menciona Celis o alguien que sepa donde buscarlo?
buena clase
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.