tklucas 9 Postado Setembro 10, 2011 Share Postado Setembro 10, 2011 (editado) - Programa que computa o menor numero de notas para determinado valor. #include <stdio.h> int main () { int total; int n100 = 0, n50 = 0, n20 = 0, n10 = 0, n5 = 0, n2 = 0, n1 = 0; printf("Digite o montante total:\n"); scanf("%d",&total); n100 = total / 100; total-= n100*100; n50 = total / 50;total -= n50*50; n20 = total / 20;total -= n20*20; n10 = total / 10;total -= n10*10; n5 = total / 5; total -= n5*5; n2 = total / 2; total -= n2*2; n1 = total /1; total -= n1*1; printf("%d nota(s) de cem, %d nota(s)de cinquenta, %d nota(s) de vinte, %d nota(s) de 10, %d nota(s) de cinco, %d nota(s) de dois e %d notas(s) de um \n", n100, n50, n20, n10, n5, n2, n1); return 0 ; } Poderia ter feito também utilizando % para dar somente o resto das diviões, seria mais rápido. - Programa que calcula a media ponderada das notas dos alunos e ao final diz quantos aprovados, reprovados e a media da turma. #include <stdio.h> #define PESO_P1 1 #define PESO_P2 2 #define PESO_M 3 #define PESO_P3 2 #define MEDIA_APROVADO 5 float media_ponderada (float a, float b) { float m_aluno; m_aluno = (PESO_P1 * a + PESO_P2 * b)/3; return m_aluno; } int main (void) { int num_alunos, aluno = 1, aprovados = 0, reprovados = 0; float nota1, nota2, nota3, media, media_final = 0, media_parcial = 0, media_turma = 0; printf("Digite o numero de alunos: "); scanf("%d", &num_alunos); while ( aluno <= num_alunos) { printf("\nDigite a primeira nota do aluno %", aluno); scanf("%f", ¬a1); printf("\nDigite a segunda nota do aluno %", aluno); scanf("%f", ¬a2); media = media_ponderada (nota1, nota2); if ( media >= MEDIA_APROVADO) { media_final = media; printf("\nAluno aprovado com media %.2f\n", media_final); aprovados++; } else { printf("\nDigite a terceira nota do aluno %", aluno); scanf("%f", ¬a3); media_final = (PESO_M * media + PESO_P3 * nota3)/5; if ( media_final >= MEDIA_APROVADO) { printf ("\nAluno aprovado com media %.2f\n", media_final); aprovados++; } else { printf("\nAluno reprovado com media %.2f\n", media_final); reprovados = reprovados + 1; } } media_parcial += media_final; aluno++; } media_turma = media_parcial / num_alunos; printf("\nAlunos aprovados : %d", aprovados); printf("\nAlunos reprovados: %d", reprovados); printf("\nMedia da turma: %.2f\n", media_turma); return 0; } - Programa para calculo do salário liquido de n funcionarios de i departamentos de uma empresa. Ao final mostra a media dos salarios de cada departamento e quanto a empresa pagou em salarios liquidos. #include <stdio.h> #define DESC_FAIXA1 0.275 #define DESC_FAIXA2 0.225 #define DESC_FAIXA3 0.150 #define DESC_FAIXA4 0.075 #define DESC_FAIXA5 0.000 #define FAIXA1 3700.00 #define FAIXA2 2000.00 #define FAIXA3 1000.00 #define FAIXA4 750.00 #define FAIXA5 0.00 float salario_liq (int n_horas, float valor_hora) { float salario; salario = n_horas * valor_hora; if(salario >= FAIXA1) salario = salario - (salario * DESC_FAIXA1); else if (salario >= FAIXA2) salario = salario - (salario * DESC_FAIXA2); else if ( salario >= FAIXA3) salario = salario - (salario * DESC_FAIXA3); else if ( salario >= FAIXA4) salario = salario - ( salario * DESC_FAIXA4); else salario = salario - ( salario * DESC_FAIXA5); return salario; } int main (void) { int departamento, funcionario, departamento_total, funcionario_total; float salario, horas_tb, valor_htb; float total_pg, media_dp; total_pg = media_dp = 0; departamento = funcionario = 1; printf("Digite o total de departamentos da empresa: \n"); scanf("%d", &departamento_total); while ( departamento <= departamento_total ) { printf("Digite o numero de funcionarios do departamento % \n", departamento); scanf("%d", &funcionario_total); while ( funcionario <= funcionario_total) { printf("Digite o valor da hora do funcionario %d do departamento %\n", funcionario, departamento); scanf("%f", &valor_htb); printf("Digite a quantidade de horas trabalhadas do funcionario %d do departamento %\n", funcionario, departamento); scanf("%f", &horas_tb); salario = salario_liq( horas_tb, valor_htb); printf(" O funcionario %d tem salario R$ %.2f\n", funcionario, salario); media_dp += salario; funcionario++; } printf("A media de salarios liquidos do dpto %d = R$ %.2f\n", departamento, media_dp / funcionario_total); total_pg += media_dp; media_dp = 0; funcionario = 1; departamento++; } printf("O valor liquido em salarios pagos pela empresa = R$ %.2f\n", total_pg); return 0; } Gostaria de sugestões para melhorar. Att., Lucas Editado Setembro 15, 2011 por tklucas Link para o comentário https://xtibia.com/forum/topic/167502-programas-b%C3%A1sicos/ Compartilhar em outros sites More sharing options...
tklucas 9 Postado Setembro 13, 2011 Autor Share Postado Setembro 13, 2011 /* Faça um algoritmo que pergunte 3 cotações de preço de n (obtido pelo teclado) produtos. Para cada produto você deve mostrar qual cotação é vencedora, sabendo que a decisão é sempre pelo mais barato. Seu programa deve obrigatoriamente usar uma função que recebe as três cotações e retorna a melhor. */ #include <stdio.h> float getPreco ( int c1, float c2, float c3 ) { float melhorpreco; if ( c1 > c2 ) melhorpreco = c2; else if ( c2 > c3) melhorpreco = c3; else if ( c3 > c1) melhorpreco = c1; return melhorpreco; } int main (void) { float c1, c2, c3; int produtoAtual = 1, produtoTotal; float valor; printf("----------------------------------\n") ; printf("Digite o total de produtos:"); scanf("%d",&produtoTotal); printf("----------------------------------\n") ; while ( produtoAtual <= produtoTotal ) { printf("\nDigite o valor das cotacoes do produto %d : C1, C2, C3 \n", produtoAtual); scanf("%f %f %f", &c1, &c2, &c3 ); valor = getPreco(c1, c2, c3); printf("O melhor preco para o produto %d : R$ %.2f \n",produtoAtual, valor ); printf("-------------\n") ; produtoAtual++; } return 0; } Link para o comentário https://xtibia.com/forum/topic/167502-programas-b%C3%A1sicos/#findComment-1102337 Compartilhar em outros sites More sharing options...
Posts Recomendados