Encuentra los mejores trabajos freelance de C!

Encuentra trabajo freelance en los mejores proyectos de C. Los mejores Programadores y Diseñadores Web para aplicaciones desktop, mobile apps, sitios web, e-commerce, IT, desarrollo web y de software están en Workana.

Workana es la primera y más grande red de trabajo freelance y remoto de Latinoamérica. Mira los últimos proyectos publicados de C y envía tu propuesta ahora. Si estás buscando freelancers de C para trabajar en tu proyecto visita esta página. También puedes publicar tu propio proyecto gratis.

Programação para controle de servomecanismos e automação

Presupuesto: Abierto Publicado: Hace 10 horas Propuestas: 0
Desenvolver um software para arduino para controle de um quadricóptero, que faça a calibragem simultânea dos 4 ESCs (Eletronic speed control) e o seu controle de voo e estabilidade.
O programador deverá criar o software, revelar seus códigos e bibliotecas utilizadas e explicar o funcionamento de cada linha da comando.
O software basicamente terá que implementar funções para que, após a calibragem dos ESCs, o controlador (arduino nano) faça o quadricóptero levantar voo (subir e descer no eixo vertical); fazer manobras básicas de voo, como: avançar para frente e para trás, avançar para a direita e para a esquerda, e rotacionar para direita e para a esquerda (rotação em torno do próprio eixo vertical); ser capaz de estabilizar o voo após as manobras citadas e também em resposta à perturbações externas (pequenas variações de vento e carga).
O quadricóptero receberá seus comandos de um controle RF de 6ch no qual seu receptor estará ligado às entradas do arduino. O projeto também contará com o auxilio de um CI multi-sensor GY-80 (acelerômetro, barômetro, magnetômetro e giroscópio) que irá auxiliar no controle da estabilidade do voo e também enviará sinais de entrada para o arduino.
O arduino, por sua vez, terá quatro sinais de saída para o controle dos motores. Cada uma das saídas será ligado a um ESC, que receberá o sinal do arduino e converterá em um pulso PWM para controlar a rotação do seu respectivo motor.
O projeto se encontra em andamento, todo o material já foi adquirido e o circuito para conexão dos componentes já foi feito, estando pendente apenas criar o software para o arduino.

Categoria: IT & Programação
Subcategoria: Outro
Tamanho do projeto: Pequeño
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Não (Eu nunca gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Habilidades requeridas:
Publicado por: Fábio S. d. O. Brasil

Serviço de Coleta de Características Macos

Presupuesto: Abierto Publicado: Hace 2 días Propuestas: 0
Serviço de Coleta de Características MacOS

O Serviço de Coleta de Características MacOS tem por objetivo coletar diversas informações sobre equipamentos Mac.

Requisitos:

1) O serviço deve vir com um instalador - um Setup, que possa ser utilizado para instalá-lo no ambiente Mac.
2) Uma vez instalado, o serviço deve iniciar automaticamente quando o computador é ligado e, imediatamente, gerar um Arquivo Texto de Coleta de Características.
3) Se o computador permanecer mais de 24h ligado, o serviço deve gerar novamente um Arquivo Texto de Coleta de Características.
4) O serviço precisa ser leve e rápido, não pode comprometer a operação do computador. Picos de CPU e RAM precisam ser evitados.
5) Deve ser compatível com Mac OS X v10.4 "Tiger" ou superior.
6) Todos os fontes, inclusive os fontes do Setup devem ser fornecidos.
7) A linguagem de programação deve ser aberta, ou seja, sem custos de licença, o programador deve indicar todos os links para baixar cada um dos aplicativos necessários para o completo desenvolvimento (inclusive do setup).
8) O projeto será continuado por outra equipe, então cabe ao programador fornecer todas as informações necessárias sobre o que foi desenvolvido.

Arquivo Texto de Coleta de Características.

Requisitos:

1) O arquivo será gerado em um subdiretório "log" dentro do diretório do serviço de coleta.
2) O padrão de nome do arquivo será logYYYYMMDDHHNNSS.txt , onde YYYYMMDD é a data e HHNNSS é a hora com minuto e segundo do momento da geração do arquivo.
3) Dentro do arquivo, os dados de coleta serão gerados, linha a linha, nessa ordem, com a devida numeração no início de cada linha:

001 - Nome do computador.
002 - Nome do domínio de rede em que estiver logado.
003 - Login do usuário que estiver operando o Mac

010 - Latitude e longitude do GPS, se o equipamento possuir GPS de fábrica.

020 - Nome da placa mãe do computador.
021 - Versão da placa mãe do computador.
022 - Modelo da placa mãe do computador.
023 - Número de série da placa mãe do computador.
024 - Nome do sistema interno (BIOS) da placa mãe do computador.
025 - Nome do fabricante do computador (Apple Inc).
026 - Modelo do computador (iMac, MacBook, etc).
027 - Número de série do computador (aquele que aparece na etiqueta atrás do equipamento).
028 - Nome da CPU com velocidade (exemplo: Intel Core i5 Quad Core 3,5GHz )
029 - Nome do Sistema Operacional (exemplo: macOS v10.12 Sierra ...)
030 - Memória RAM total (GB)
031 - Memória RAM livre, no momento da coleta (GB)
032 - Slots de memória RAM (ex: Slot1: pente de 8GB, Slot2: Disponível)
033 - Armazenamento (HD) principal espaço total (GB)
034 - Armazenamento (HD) principal espaço livre (GB)
035 - Espaço total em armazenamentos (HDs) secundários (GB)
036 - Espaço livre total em armazenamentos (HDs) secundários (GB)
037 - Status da bateria, em caso de notebook (exemplo: HIGH (98%) )

040 - (*) Nome do disco rígido (HD)
041 - (*) Número de série do disco rígido (HD)
042 - (*) Nome do leitor de DVD, se houver

050 - (*) Nome da placa (adaptador) de rede (tanto da placa onboard, quanto da placa wifi)
051 - (*) Endereço MAC ADDRESS da placa de rede (tanto da placa onboard, quanto da placa wifi)
052 - (*) Endereço TCP/IP da placa de rede (tanto da placa onboard, quanto da placa wifi)

060 - Nome da placa de vídeo
061 - Nome do teclado instalado
062 - Número de série do teclado, se houver
063 - Nome do mouse instalado
064 - Número de série do mouse, se houver
065 - (*) Nome do Monitor
066 - (*) Número de série do Monitor, se houver (aquele que aparece na etiqueta atrás do monitor)
067 - (*) Dimensões do monitor ( exemplo: (37 x 27)cm )
068 - (*) Nome da impressora instalada
069 - (*) Porta da impressora instalada

Os itens abaixo referem-se a lista dos sinais Wifi disponíveis
070 - (*) Nome da rede wifi
071 - (*) MAC ADDRESS da rede wifi (esse item é fundamental)
072 - (*) Nível do sinal (%)
073 - (*) Conectado, sim ou não (se o computador está conectado à rede)

Os itens abaixo referem-se a lista de todos os softwares instalados no Mac
080 - (*) Nome do sotfware (Exemplo: Google Chrome.app)
081 - (*) Versão do sotfware (Exemplo: 2.38.47846)
082 - (*) Data de instalação (dd/mm/yyyy hh:mm:ss)
083 - (*) Chave de instalação (para softwares pagos, instalados com uma chave - Product ID, etc)
084 - (*) Última data de utilização do software (dd/mm/yyyy hh:mm:ss)

Os itens abaixo referem-se a lista de todos os devices de hardware do computador.
A ideia é gerar uma lista geral dos dispositivos de hardware (apenas de hardware), como aparece no system information do OS X
090 - (*) Nome do device (exemplo: USB port tal ...)
091 - (*) Tipo de device (exemplo: ATA, Audio, Bluetooth, Card Reader, ... , USB, etc)

0s item abaixo referem-se a lista de processos que estiverem rodando no momento da coleta.
É mais ou menos como aparece no monitor de atividades do OS X.
100 - Nome do processo (exemplo: Safari, systemstatsd, etc)
101 - Utilização de CPU (%) - exemplo: 15%
102 - Utilização de RAM (%) - exemplo: 52%

OBS: Os códigos indicados com (*) se repetem para cada item igual localizado no computador, por exemplo, se existirem 2 discos rígidos na máquina, os códigos respectivos vão se repetir nas linhas subsequentes, a cada item.


Categoria: IT & Programação
Subcategoria: Outro
Tamanho do projeto: Pequeño
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Sim (Eu já gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Habilidades requeridas:
Publicado por: sergio s. Brasil

Completar Tienda Online en Visual Basic

Presupuesto: Abierto Publicado: Hace 2 días Propuestas: 3
Modulo de administracion
falta es el modulo de administrador para gestionar los productos y una lista de precios, en la cual se pueda actualizar los precios se actualice a cierta hora
que se `pueda agregar productos
que se pueda modificar producto
ejemplo 10000 productos para no cargar los precios uno por uno se cargan los precios y se levantaria automaticamente a una cierta hora todos los precios juntos

Modulo de logistica
para el envio de dichos productos con reportes

Requisitos:
-El trabajo esta hecho en VISUAL BASIC , se daria el archivo para que evaluen antes de ofertar y esten 100% que pueden hacer los cambios.
- Comunicacion diaria y poder ver avances del trabajo diario o interdiarios
- solo se pagara al completar 100% del proyecto

Presupuesto maximo: 50$


Categoría: IT & Programación
Subcategoría: Ecommerce
¿Cuál es el alcance del proyecto?: Bug o cambio pequeño
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Experiencia en este tipo de proyectos: Si (He administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Roles necesarios: Desarrollador
Publicado por: Joheli M. Última respuesta: Hace 2 días Venezuela

Mini compilador com Lex + Yacc

Presupuesto: Abierto Publicado: Hace 3 días Plazo: 4 días Propuestas: 1
Preciso de um mini compilador utilizando as ferramentas Lex e Yacc.
Possuo um PDF com todas as informações detalhadamente referente a necessidade.

Preciso que esteja pronto até 12-12-2016 no período da tarde.

Categoria: IT & Programação
Subcategoria: Desktop Applications
Qual é o alcance do projeto?: Criar um novo aplicativo
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Sim (Eu já gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Plataformas exigidas: Windows, Linux / Unix
Habilidades requeridas:
Publicado por: Eduardo M. Última respuesta: Hace 9 horas Brasil

Lista de exercícios Visualg

Presupuesto: Abierto Publicado: Hace 3 días Propuestas: 8
Lista de exercício de Lógica de Programação sobre registro/função de 5 questões até a sexta-feira.

Categoria: IT & Programação
Subcategoria: Desktop Applications
Qual é o alcance do projeto?: Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Disponibilidade requerida: Conforme necessário
Plataformas exigidas: Windows
Habilidades requeridas:
Publicado por: Basex6. Última respuesta: Hace 9 horas Brasil

Verifica

Presupuesto: Abierto Publicado: Hace 3 días Duración del proyecto: 3 - 4 meses Propuestas: 0
- Conocimiento y experiencia comprobable en programación en Objective C, Swift, C y/o C++ (excluyente)
- Experiencia en iOS 7.0 + (excluyente)
- Experiencia en desarrollo WEB (html, javascript, Python)
- Conocimiento de frameworks WEB (Django)
- Conocimientos en arquitectura (servidores virtuales, aplicaciones cloud)
- Manejo de webservices y APIs
- Conocimiento de Base de Datos (MySQL, PostgresSQL)


Categoría: IT & Programación
Subcategoría: Mobile
¿Cuál es el alcance del proyecto?: Bug o cambio pequeño
Es un proyecto o una posición?: Posición de largo plazo
Actualmente tengo: Tengo el diseño
Experiencia en este tipo de proyectos: Si (He administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Tiempo completo
Integraciones de API: Social media (Facebook, Twitter, etc)
Plataformas requeridas: iPhone, iPad, Android
Habilidades requeridas:
Publicado por: MIGUEL S. Última respuesta: Hace 3 días Mexico

Sistema para Controlar fila de impressão por usuário

Presupuesto: Abierto Publicado: Hace 5 días Propuestas: 4
Deverá ser criado um programa na cuja terá de ter uma tela de login inicial que fará comunicação com meu banco de dados e após a confirmação o programa irá aparecer uma pequena tela informando o total de saldo do cliente e as impressões que ele precisa liberar(cujo ele mandou imprimir anteriormente), conforme é feito a liberação é debitado de sua carteira virtual o valor.

Categoria: IT & Programação
Subcategoria: Desktop Applications
Qual é o alcance do projeto?: Criar um novo aplicativo
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho uma ideia geral
Experiência nesse tipo de projeto: Sim (Eu já gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Plataformas exigidas: Windows, Linux / Unix
Habilidades requeridas:
Publicado por: Victor T. Última respuesta: Hace 22 minutos Brasil

Universional - Vr Game

Presupuesto: Abierto Publicado: Hace 3 días Duración del proyecto: 3 - 4 meses Propuestas: 8
El proyecto es un concepto de juego 3D con soporte en realidad virtual.

Buscamos:

Un Diseñador 3D con experiencia en modelaje 3D utilizando Maya, Blender y otros, el software Basado Scan PBR texturización utilizando Quixel o Substance.

Un Programador de juegos en C ++ con conocimientos avanzados en los softwares Unreal 3D, Unity o CryEngine.

Category: Design & Multimedia
Subcategory: Other
Project size: Large
Is this a project or a position?: A project
Required availability: As needed
Publicado por: Marcio P. Última respuesta: Ayer Venezuela

Projeto Calculadora

Presupuesto: Abierto Publicado: Hace 2 semanas Plazo: 30 días Propuestas: 2
Descrição do Cenário 1:

** Implemente um programa em C++ que simule uma Calculadora que realiza diferentes operações. Para isso, observe o diagrama de classes (da UML) que segue:

Veja a seguir algumas instruções para implementar cada método das classes da UML acima. Nem todos os métodos estão esclarecidos abaixo. Dessa forma, aqueles que não estiverem especificados, implemente-os de modo a resolver o problema da forma mais adequada.

Obs.: Lembre-se de incluir os parâmetros necessários aos métodos.

- O método calculaSoma() deve retornar o cálculo da soma dos números fornecidos nos métodos Setters.
- O método calculaSubtracao() deve retornar o calculo da subtração dos números fornecidos nos métodos Setters.
- O método calculaMultiplicacao() deve retornar o cálculo da multiplicação dos números fornecidos nos métodos Setters.
- O método calculaDivisao() deve realizar a divisão de dois números. Para esta operação, o denominador (o 2º número informado) não deve ser negativo ou elemento neutro.
- O método raizMultiplica() deve calcular a raiz quadrada de cada um dos números informados no programa e exibir, apenas, o resultado do número solicitado pelo usuário. Lembre-se que não é possível calcular a raiz quadrada de um número negativo.
- O método calculaPorcentagem() deve calcular e retornar a porcentagem de um dos números fornecidos pelo usuário.
- O método imprimeResultados() deve exibir o resultado gerado com a realização do cálculo da operação solicitada pelo usuário. Se a operação solicitada for soma, por exemplo, a mensagem a ser informada deve seguir o seguinte modelo: “ O resultado da soma de 2 + 2 = 4”. E assim, por diante.
- O método calculaSeno() deve retornar o cálculo do seno da soma dos dois números informados. Lembre-se de usar a biblioteca math.h e de importar a função responsável por esse cálculo.
- O método calculaCorseno() deve retornar o cálculo do corseno do quadrado do segundo número informado. Lembre-se de usar a biblioteca math.h e de importar a função responsável por esse cálculo.
- O método calculaRestoDivisao() deve testar se algum dos números a serem divididos é negativo. Se algum deles for negativo, informe uma mensagem de ERRO. Caso contrário, realize o cálculo e retorne o resto da divisão. Lembre-se de usar a biblioteca math.h e de importar a função responsável por esse cálculo.
- O método converteParaCelsius() deve receber uma dada temperatura e convertê-la para graus Celsius. Para isso, quando a temperatura de entrada estiver em Kelvin use a fórmula: C = K – 273, e quando estiver em Farenheit, use: C/ 5 = (F - 32) / 9.
- O método converteParaFarenheit() deve receber uma dada temperatura e convertê-la para graus Farenheit. Para isso, quando a temperatura de entrada estiver em Farenheit use a fórmula: C/ 5 = (F - 32) / 9, e quando estiver em Kelvin, use: (K - 273) / 5 = (F - 32) / 9.
- O método converteParaKelvin() deve receber uma dada temperatura e convertê-la para graus Kelvin. Para isso, quando a temperatura de entrada estiver em Celsius use a fórmula: C = K – 273 , e quando estiver em Farenheit, use: (K - 273) / 5 = (F - 32) / 9.

- Para a sub-classe CalculadoraComprimento:
• obtenha do usuário uma medida em centímetros;
• perceba que é importante saber a unidade qual o tipo de conversão a ser realizada. Como podemos resolver isso no código?
• implemente os métodos que realizam a conversão de centímetros para metros, para quilômetros e para polegadas.
- Para a sub-classe CalculadoraTempo:
• obtenha do usuário a quantidade de dias a ser convertida;
• Implemente os métodos converteSemanas(), converteHoras(), converteMinutos(), converteSegundos().
• A mensagem a ser exibida ao usuário deve seguir o seguinte modelo: " 30 dias equivale aproximadamente a: 4 semanas, 4720 horas, 43.200 minutos e 2.592.000 segundos".
- No main(), crie uma instrução que questione ao usuário que tipo de cálculo deseja fazer na calculadora: Temperatura, Tempo, Comprimento ou Cientifico. De acordo com a opção do usuário direcione a execução do programa e apresente, também, o resultado do tipo de cálculo escolhido pelo usuário e disponível na referida calculadora.
- Ao final, invoque o método ImprimirResultados(), para que ele imprima os resultados obtidos nos métodos de cada subclasse. Atenção: essa atividade de sobrescrever um mesmo método de formas diferentes, chama-se POLIMORFISMO.

Descrição do Cenário 2:
** Implemente um programa em C++ que simule um software para registro de dados de um Pessoa. Para isso, observe o diagrama de classes (da UML) que segue:

Veja a seguir as instruções para implementar cada método das classes da UML acima. Nem todos os métodos estão esclarecidos abaixo. Dessa forma, aqueles que não estiverem especificados, implemente-os de modo a resolver o problema da forma mais adequada.

Obs.: Lembre-se de incluir os parâmetros necessários aos métodos.

- Além do construtor vazio Pessoa(), crie um construtor Pessoa(n:String, ano:int, s: string, a:float, p:float) para inicializar os dados da pessoa.
- O método imprimeDados() deve exibir os dados da pessoa, junto com o nome da pessoa. Por exemplo: “Maria José tem 52 anos de idade.”
- O método verificaIMC() deve calcular o IMC(Índice de Massa Córporea) da pessoa a partir do peso e altura informados. Para isso use a fórmula: IMC = peso/ (altura)2. Considere a tabela abaixo:

De acordo com o caso encontrado para a pessoa, exiba uma das mensagens a seguir:
• , você está abaixo do peso normal;
• , o seu peso está na faixa de normalidade;
• , você está acima do peso normal;
• , você precisa de perder algum peso.

- O método calculaIdade() deve calcular e mostrar a idade de uma pessoa a partir do ano de nascimento informado.
- O método calculaPesoIdealM() deve calcular e mostrar o peso ideal para uma pessoa do sexo masculino, para isso deve ser usado a seguinte fórmula: PesoM = (72.7*altura) - 58
- O método calculaPesoIdealF() deve calcular e mostrar o peso ideal para uma pessoa do sexo feminino, para isso deve ser usado a seguinte fórmula: PesoF = (62.1*altura) - 44.7
- No main() teste todos os Getters e Setters criados até então. E, verifique o sexo do usuário para poder invocar os métodos que pertencem às subclasses. Se escolher implementar a subclasse:
- Homem: a partir de um peso e uma altura “setadas” (repassadas através dos métodos set) verifique o IMC e o peso ideal para uma pessoa do sexo masculino. Exiba a mensagem: “ Para um homem de peso e altura o IMC é . Seu peso ideal seria .”
- Mulher: a partir de um peso e uma altura “setadas” (repassadas através dos métodos set) verifique o IMC e o peso ideal para uma pessoa do sexo feminino. Exiba a mensagem: “ Para uma mulher de peso e altura o IMC é . Seu peso ideal seria .”
- ao final, chame o método calculaIDade().

Categoria: IT & Programação
Subcategoria: Outro
Tamanho do projeto: Pequeño
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Não se aplica
Experiência nesse tipo de projeto: Não (Eu nunca gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Habilidades requeridas:
Publicado por: BRUNO S. Última respuesta: Hace 17 horas Brasil

Realizar nuevos cambios en la aplicacion Gestion-Firm

Presupuesto: Abierto Publicado: Hace 2 semanas Propuestas: 1
Realizar los cambios en ciertas pantallas, incluir reportes y parametrizar los envios de notificaciones por email.

Categoría: IT & Programación
Subcategoría: Desktop Applications
¿Cuál es el alcance del proyecto?: Bug o cambio pequeño
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Experiencia en este tipo de proyectos: Si (He administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Plataformas requeridas: Windows
Habilidades requeridas:
Publicado por: Alis m. Dominican Republic
Método de pago: Verificado
Cargando...