Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Escreva um programa em C para o Ministério da Saúde que o auxilie nas informações sobre a dengue em Brasília. Esse programa - Lista de Exercícios Resolvidos de CQuantidade de visualizações: 1076 vezes |
Pergunta/Tarefa: Escreva um programa em C para o Ministério da Saúde que o auxilie nas informações sobre a dengue em Brasília. Esse programa deve receber os dados sobre o número de casos suspeitos, o número de casos confirmados e o número de mortes. Sua saída deve ser parecida com: Quantidade de casos suspeitos: 21 Quantidade de casos confirmados: 19 Quantidade de mortes: 4 Dados Coletados: Casos Suspeitos: 21 Casos Confirmados: 19 Quantidade de Mortes: 4 Total de dados: 44 Veja a resolução comentada deste exercício usando C console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]){ int casos_suspeitos, casos_confirmados, quant_mortes, total; setlocale(LC_ALL,""); // para acentos do português // vamos ler as informações printf("Quantidade de casos suspeitos: "); scanf("%d", &casos_suspeitos); printf("Quantidade de casos confirmados: "); scanf("%d", &casos_confirmados); printf("Quantidade de mortes: "); scanf("%d", &quant_mortes); // somatória dos dados lidos total = casos_suspeitos + casos_confirmados + quant_mortes; // agora vamos mostrar os resultados printf("\nDados Coletados:\n\n"); printf("Casos Suspeitos: %d", casos_suspeitos); printf("\nCasos Confirmados: %d", casos_confirmados); printf("\nQuantidade de Mortes: %d", quant_mortes); printf("\n\nTotal de dados: %d", total); printf("\n\n"); system("pause"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
C ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica em C usando a função malloc()Quantidade de visualizações: 28932 vezes |
A função malloc() é usada em C para alocarmos um bloco de memória. Esta função recebe a quantidade de bytes a serem alocados e retorna um ponteiro do tipo void (genérico) para o início do bloco de memória obtido. Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void *malloc(size_t size); Se a memória não puder se alocada, um ponteiro nulo (NULL) será retornado. É importante se lembrar de alguns conceitos antes de usar esta função. Suponhamos que você queira alocar memória para um inteiro. Você poderia ter algo assim: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // aloca memória para um int ponteiro = malloc(4); Embora este código esteja correto, não é um boa idéia assumir que um inteiro terá sempre 4 bytes. Desta forma, é melhor usar o operador sizeof() para obter a quantidade de bytes em um inteiro em uma determinada arquitetura. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // aloca memória para um int ponteiro = malloc(sizeof(int)); Eis o código completo para um aplicativo C que mostra como alocar memória para um inteiro e depois atribuir e obter o valor armazenado no bloco de memória alocado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // ponteiro para uma variável do tipo inteiro int *ponteiro; // aloca memória para um int ponteiro = malloc(sizeof(int)); // testa se a memória foi alocada com sucesso if(ponteiro) printf("Memoria alocada com sucesso.\n"); else printf("Nao foi possivel alocar a memoria.\n"); // atribui valor à memória alocada *ponteiro = 45; // obtém o valor atribuído printf("Valor: %d\n\n", *ponteiro); // libera a memória free(ponteiro); system("PAUSE"); return 0; } Uma aplicação interessante da função malloc() é quando precisamos construir uma matriz dinâmica. Veja como isso é feito no código abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; // quantidade de elementos na matriz int quant = 10; // ponteiro para o bloco de memória int *ponteiro; // aloca memória para uma matriz de inteiros ponteiro = malloc(quant * sizeof(int)); // testa se a memória foi alocada com sucesso if(ponteiro) printf("Memoria alocada com sucesso.\n"); else{ printf("Nao foi possivel alocar a memoria.\n"); exit(1); } // atribui valores aos elementos do array for(i = 0; i < quant; i++){ ponteiro[i] = i * 2; } // exibe os valores for(i = 0; i < quant; i++){ printf("%d ", ponteiro[i]); } // libera a memória free(ponteiro); printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como passar um vetor para uma função CQuantidade de visualizações: 12032 vezes |
Muitas vezes precisamos passar um vetor, ou seja, um array unidimensional para uma função na linguagem C. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de um vetor para uma função é feita por referência, ou seja, qualquer alteração nos valores do array dentro da função será refletida no vetor original: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> // protótipo da função que recebe o array e exibe os seus elementos void exibir_vetor(int vetor[], int tamanho); // função principal do programa int main(int argc, char *argv[]){ // cria um vetor com 5 inteiros int valores[] = {54, 3, 89, 6, 1}; setlocale(LC_ALL,""); // para acentos do português // passa o vetor para a função exibir_vetor() // veja que temos que enviar também a quantidade // de elementos exibir_vetor(valores, 5); printf("\n\n"); system("PAUSE"); return 0; } // função que recebe o array e exibe os seus elementos void exibir_vetor(int vetor[], int tamanho){ int i; printf("Os elementos do vetor são:\n\n"); for(i = 0; i < tamanho; i++){ printf("%d ", vetor[i]); } } Ao executar este código C nós teremos o seguinte resultado: Os elementos do vetor são: 54 3 89 6 1 |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valoresQuantidade de visualizações: 14215 vezes |
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores Pergunta/Tarefa: Considere o seguinte vetor de inteiros: // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; A soma dos valores do vetor é: 32 Veja abaixo a resolução completa para esta tarefa: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; // o primeiro passo é criar uma variável que vai receber a soma // dos valores dos elementos int soma = 0; int i; // agora vamos usar uma laço for para percorrer todos os elementos // do vetor, obter o valor do elemento atual e adicionar ao valor atual // da variável soma for(i = 0; i < 7; i++){ soma = soma + valores[i]; // poderia também ser escrito assim: // soma += valores[i]; } // vamos exibir a soma dos valores do vetor printf("A soma dos valores do vetor é: %d\n", soma); system("PAUSE"); return 0; } |
Vamos testar seus conhecimentos em JavaScript |
Qual é a sintáxe correta do laço FOR em JavaScript? A) for (var i = 0; i <= 5) {} B) for var i = 1 to 5 {} C) for (var i <= 5; i++) {} D) for (var i = 0; i <= 5; i++) {} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra No caso de obras de grande área (m2), erros acumulados de alinhamento podem acarretar perda de tempo e dinheiro, sendo conveniente, portanto, o auxílio da topografia. Para esse tipo de obra, que tem muitos elementos (fundações, paredes, etc.), qual é o processo ideal de locação? A) Processo dos cavaletes. B) Processo dos piquetes. C) Processo dos perfis metálicos. D) Processo dos tapumes (ou gabaritos ou tábuas corridas). E) Locação com auxílio das construções vizinhas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Vantagens e Desvantagens do Concreto Armado O aparecimento de fissuras nos elementos estruturais em concreto armado tem origens diversas e representa uma desvantagem quanto ao uso desse material. Se não for controlado, pode comprometer a durabilidade da estrutura. Com relação à fissuração dos elementos de concreto armado, assinale a alternativa correta. A) As principais causas do aparecimento de fissuras nos elementos de concreto armado são a expansão e as solicitações normais de tração. B) Quanto maior é a espessura do elemento, maiores serão a retração e a possibilidade de fissuração. C) A retração do concreto pode ser evitada ou minimizada com a adoção de algumas medidas de proteção durante a fase de endurecimento do concreto fresco. D) Para evitar a fissuração do concreto por tensões de tração, seria necessário que fossem aplicadas tensões elevadas de tração na peça e nas armaduras. E) Os principais efeitos prejudiciais das fissuras do concreto armado estão ligados à estética e à sensação de insegurança aos usuários. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 76.1234 print("O valor é: %0.2f" % valor) A) O valor é: 76.00 B) O valor é: 76.12 C) O valor é: 0076 D) O valor é: 0.76 E) O valor é: 76.13 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
(Enem 2016) A renaturalização de rios e córregos é, há muito tempo, uma realidade na Europa, no Japão, na Coreia do Sul, nos Estados Unidos e em outros países. No Brasil ainda são muito tímidas as iniciativas, mas algumas poucas cidades estão adotando essa importante prática. Disponível em: http://sosriosdobrasil.blogspot.com.br. Acesso em: 10 dez. 2012 (adaptado). A legislação brasileira avançou ao estabelecer como unidade territorial para a gestão desse recurso A) os biomas. B) as reservas ecológicas. C) as unidades do relevo. D) as bacias hidrográficas. E) as áreas de preservação ambiental. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array VB.NET - Como comparar strings em VB.NET usando o método Compare() da classe String do .NET Framework |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |