Projeto desenvolvido para praticar conceitos de lógica de proframação, funções, modularização, manipulação de strings e validação de dados em C. O programa permite calcular raízes de qualquer índice e base, incluindo tratamento de entradas fracionárias e negativas.
Este projeto foi desenvolvido como parte dos estudos em Algoritmos e Estruturas de Dados I no curso de Engenharia da Computação da UEMG, Unidade Divinópolis.
- Modularização em múltiplos arquivos (
.ce.h); - Manipulação e validação de strings para entrada de dados;
- Implementação de funções matemáticas (potenciação e radiciação);
- Tratamento de casos especiais (raízes negativas, índices fracionários);
- Uso de ponteiros para passagem e retorno de valores;
- Uso de recursiva para desafio pessoal.
- Praticar a divisão do código em módulos e cabeçalhos;
- Implementar funções matemáticas do zero, sem bibliotecas externas;
- Validar entradas do usuário de forma robusta;
- Permitir o cálculo de raízes de qualquer ordem e base, inclusive fracionárias e negativas (quando matematicamente possível).
Durante o desenvolvimento, aprendi a:
- Manipular e validar entradas do usuário em C;
- Trabalhar com ponteiros e passagem de parâmetros por referência;
- Modularizar o código para facilitar manutenção e entendimento;
- Implementar algoritmos matemáticos básicos sem depender de funções prontas;
- Utilizar a propriedade recursiva, mesmo que simples.
Radiciacao-Matematica/ ├── include/ │ ├── dados.h // -> Cabeçalhos para entrada e saída de dados │ ├── matematica.h // -> Cabeçalhos das funções matemáticas │ └── verificacao.h // -> Cabeçalhos de validação │ ├── src/ │ ├── dados.c // -> Implementação de entrada/saída │ ├── matematica.c // -> Implementação das funções matemáticas │ └── verificacao.c // -> Implementação das validações │ ├── radiciacao.c // -> Programa principal ├── README.md // -> Documentação do projeto └── LICENSE // -> Licensa do MIT
Desenvolvido por Vítor Antônio.
MIT License, veja o arquivo LICENSE para mais detalhes.
Configurações para o VS Code 🔧
Use os seguintes trechos para compilar e depurar no VS Code:
Terminal:
gcc -g -fdiagnostics-color=always src/dados.c src/matematica.c src/verificacao.c radiciacao.c -Iinclude -o radiciacao.exe
Arquivo no local "${workspaceFolder}/.vscode/tasks.json":
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\msys64\\ucrt64\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${workspaceFolder}/src/dados.c",
"${workspaceFolder}/src/matematica.c",
"${workspaceFolder}/src/verificacao.c",
"${workspaceFolder}/radiciacao.c",
"-I${workspaceFolder}/include",
"-o",
"${workspaceFolder}/radiciacao.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}