Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Valor da diária, valor médio arrecadado com e sem promoção e o lucro ou prejuízo mensal de uma promoção em um hotel - Desafio de Programação Resolvido em CQuantidade de visualizações: 333 vezes |
Pergunta/Tarefa: Escreva um programa C para resolver o seguinte problema: Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem, escrever um algoritmo que lê a diária normal, que calcule e escreva as seguintes informações: (a) O valor da diária no período da promoção. (b) O valor médio arrecadado sem a promoção, durante um mês. (c) O valor médio arrecadado com a promoção, durante um mês. (d) O lucro ou prejuízo mensal com a promoção. Seu código C deverá apresentar uma saída parecida com: Informe o valor da diária normal: 120 Diária no período de promoção: 26,40 Média arrecadada sem a promoção durante um mês: 8064,00 Média arrecadada com a promoção durante um mês: 3104,64 Prejuízo mensal com a promoção: 4959,36 Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- 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> // função principal do programa int main(int argc, char *argv[]){ // valor da diária em período normal float valor_diaria_normal; // valor da diária no período de promoção float valor_diaria_promocao; // outras variáveis auxiliares float media_arrecadado_sem_promocao, media_arrecadado_com_promocao; // vamos obter o valor da diária no período normal printf("Informe o valor da diária normal: "); scanf("%f", &valor_diaria_normal); // vamos obter o valor da diária no período promocional valor_diaria_promocao = valor_diaria_normal * (22.0 / 100.0); // vamos calcular o valor médio arrecadado sem a promoção, durante um mês // estamos assumindo 4 finais de semana por mês media_arrecadado_sem_promocao = (valor_diaria_normal * (42 * (40.0 / 100.0)) * 4); // vamos calcular o valor médio arrecadado com a promoção, durante um mês // estamos assumindo 4 finais de semana por mês media_arrecadado_com_promocao = (valor_diaria_promocao * (42 * (70.0 / 100.0)) * 4); printf("Diária no período de promoção: %f\n", valor_diaria_promocao); printf("Média arrecadada sem a promoção durante um mês: %f\n", media_arrecadado_sem_promocao); printf("Média arrecadada com a promoção durante um mês: %f\n", media_arrecadado_com_promocao); // houve lucro ou prejuízo? if (media_arrecadado_sem_promocao < media_arrecadado_com_promocao) { printf("Lucro mensal com a promoção: %f", (media_arrecadado_com_promocao - media_arrecadado_sem_promocao)); } else { printf("Prejuízo mensal com a promoção: %f", (media_arrecadado_sem_promocao - media_arrecadado_com_promocao)); } printf("\n\n"); system("PAUSE"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem CQuantidade de visualizações: 9763 vezes |
Muitas vezes precisamos adicionar à uma string apenas alguns caracteres de outra, ou seja, não queremos concatenar as duas strings completamente; apenas parte da segunda. Para isso podemos usar a função strncat(). Veja o protótipo e explicação desta função:char *strncat(char *str1, const char *str2, size_t n); Aqui a quantidade n de caracteres da string str2 será anexada ao final da string str1. O caractere de fim de string (null character) da str1 é sobrescrito durante a operação e anexado novamente assim que os caracteres desejados da str2 sejam copiados. Veja um exemplo: ---------------------------------------------------------------------- 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 <string.h> int main(int argc, char *argv[]) { char texto[] = "Gosto muito de "; char palavra[] = "C++"; /* Na segunda sequencia de caracteres nós temos "C++", mas queremos anexar à primeira sequencia apenas "C". Veja como isso é feito */ strncat(texto, palavra, 1); // exibe o resultado puts(texto); system("pause"); return 0; } Ao executar este códigos nós teremos o seguinte resultado: Gosto muito de C |
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C para iniciantes - Como usar a instrução switch em CQuantidade de visualizações: 44650 vezes |
A instrução switch é usada quando queremos testar várias possibilidades de fluxo de código mas não queremos usar vários if...else...if. Desta forma, cada possibilidade é testada em um bloco case. Veja um exemplo:---------------------------------------------------------------------- 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 valor = 4; switch(valor){ case 0: printf("Valor e igual a 0"); break; case 1: printf("Valor e igual a 1"); break; case 2: printf("Valor é igual a 2"); break; default: printf("Nenhuma das anteriores"); } printf("\n\n"); system("PAUSE"); return 0; } Veja que, se nenhuma das condições testadas em um bloco case for satisfatória, a parte default da instrução switch será executada. |
C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como somar os elementos da diagonal principal de uma matriz em CQuantidade de visualizações: 4537 vezes |
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas. Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas. Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja: Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando C. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código C. Veja um trecho de código C completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior: ---------------------------------------------------------------------- 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[]){ // vamos declarar e construir uma matriz de três linhas // e três colunas int linhas = 3, colunas = 3; int matriz[linhas][colunas]; // guarda a soma dos elementos na diagonal principal int soma_diagonal = 0; int i, j; // vamos ler os valores para os elementos da matriz for(i = 0; i < linhas; i++){ // linhas for(j = 0; j < colunas; j++){ // colunas printf("Informe o valor para a linha %d e coluna %d: " , i, j); scanf("%d", &matriz[i][j]); } } // vamos mostrar a matriz da forma que ela // foi informada printf("\n"); // percorre as linhas for(i = 0; i < linhas; i++){ // percorre as colunas for(j = 0; j < colunas; j++){ printf("%d ", matriz[i][j]); } // passa para a próxima linha da matriz printf("\n"); } // vamos calcular a soma dos elementos da diagonal // principal for(i = 0; i < linhas; i++){ for(j = 0; j < colunas; j++){ if(i == j){ soma_diagonal = soma_diagonal + matriz[i][j]; } } } // finalmente mostramos a soma da diagonal principal printf("\nA soma dos elementos da diagonal principal é: %d" , soma_diagonal); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Informe o valor para a linha 0 e coluna 0: 3 Informe o valor para a linha 0 e coluna 1: 7 Informe o valor para a linha 0 e coluna 2: 9 Informe o valor para a linha 1 e coluna 0: 2 Informe o valor para a linha 1 e coluna 1: 4 Informe o valor para a linha 1 e coluna 2: 1 Informe o valor para a linha 2 e coluna 0: 5 Informe o valor para a linha 2 e coluna 1: 6 Informe o valor para a linha 2 e coluna 2: 8 3 7 9 2 4 1 5 6 8 A soma dos elementos da diagonal principal é: 15 |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética, Legislação e Entidades que regulamentam a profissão Pensando no papel dos códigos de conduta ética desenvolvidos pelas empresas, qual afirmativa a seguir é incorreta? A) Podem ser apresentados através das políticas e objetivos da empresa, bem como pode ser repassado de modo informal através da cultura da empresa. B) Em geral, os códigos abordam temas relativos à qualidade dos serviços e produtos, assuntos sigilosos, tratamento de clientes e fornecedores, entre outros. C) O código de ética é a referência suprema para conduta dos funcionários, sendo, inclusive, mais relevante que as leis e códigos das entidades de classe em uma situação de impasse. D) Você deve sempre procurar seguir o código de conduta ética de sua empresa, o que lhe orientará na qualidade do trabalho e relacionamento com colegas, clientes e fornecedores. E) É correto, em uma entrevista de trabalho, abordar o código de ética da organização, solicitando-o e perguntando sobre alguma temática. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Princípios específicos do Direito do Consumidor A Política Nacional das Relações de Consumo tem por objetivo o atendimento das necessidades dos consumidores, o respeito à sua dignidade, saúde e segurança, a proteção de seus interesses econômicos, a melhoria da sua qualidade de vida, bem como a transparência e harmonia das relações de consumo, atendido, dentre outros, o princípio da ação governamental, que se manifesta: A) Pela garantia dos produtos e serviços com padrões adequados de qualidade, segurança, durabilidade e desempenho. B) Pela presença do Estado no mercado estrangeiro. C) Pelo monopólio estrangeiro no mercado nacional. D) Pelo incentivos à criação e desenvolvimento de associações lucrativas. E) Pela iniciativa indireta. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
A responsabilidade moral A ética leva o homem a questionar constantemente suas ações e as atitudes alheias, tentando definir se elas são boas ou más, corretas ou incorretas. Na condição de disciplina, essa ciência se preocupa com a análise das ideias que envolvem a produção do bem e do mal, ou seja, dedica-se aos seus aspectos teóricos. Em tal perspectiva, pode-se afirmar que o conceito de ética se refere a: A) quando o ser humano não pode falhar. B) um conjunto de conhecimentos extraídos dos meios de comunicação. C) um conjunto de conhecimentos extraídos da investigação do comportamento humano. D) um conjunto de conhecimentos extraídos da investigação da moral. E) quando o ser humano falha. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Cálculo de velocidade de escoamento e vazão de canais usando a Equação de Manning Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize η=0,012. Selecione a resposta correta: A) 1,06 m3/s B) 0,84 m3/s C) 6,63 m3/s D) 4,22 m3/s E) 7,00 m3/s Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Densidade de um fluido Um fluido encontra-se em um recipiente com volume de 300L. Sabendo que a massa desse fluido é de 2kg, qual a sua densidade em kg/m3? A) 0,67kg/m3. B) 6,67kg/m3. C) 0,15kg/m3. D) 150kg/m3. E) 151,5kg/m3. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
GoLang - Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString() |
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 |