Ir ao conteúdo
  • Cadastre-se

camposm

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

4
  1. Crie uma estrutura chamada Funcionario com os seguintes campos: char nome[151]; //nome do funcionario char cargo[101]; //cargo que ocupa float horaExtra; //valor pago por hora extra float salarioBase;//valor do salario base int horasPorDia[31];//horas trabalhadas b) Faça um programa principal que armazene os dados de 500 funcionários, utilizando a estrutura criada. Este programa deverá ler os dados de todos os funcionários e, em seguida, obter o índice do funcionário retornado pela função do item c. O programa deverá imprimir nome e cargo do funcionário indicado. c) Faça uma função que receba como parâmetro o vetor com os dados dos funcionários e encontre o funcionário que fez mais horas extras no mês. A função deve imprimir o valor que o funcionário irá receber (considerando salário base e pagamento pelas horas extras) e retornar o índice do funcionário. **o meu programa nao esta lendo todos os campos e nao esta retornando certo. segue abaixo o programa. #include <stdio.h> typedef struct{ char nome[151]; //nome do funcionario char cargo[101]; //cargo que ocupa float horaExtra; //valor pago por hora extra float salarioBase;//valor do salario base int horasPorDia[31];//horas trabalhadas por dia }Funcionario; int func(Funcionario vet[]){ int i; float aux1=0,sal=0; int indice=0,aux2=0; int maior; maior = vet[0].horasPorDia; indice=i; for(i=0;i<2;i++){ if((vet[i].horasPorDia>maior) && (vet[i].horasPorDia>8)){//quanto mais hrs ele trabalho maior sera a hr extra maior=vet[i].horasPorDia; indice=i; } } printf("7"); sal=vet[i].salarioBase; aux2=vet[i].horasPorDia - 8; aux1=vet[i].horaExtra; printf("Salario final: %f \n",sal+(aux1*aux2)); return indice; } int main(){ Funcionario vet[2]; int i; for(i=0;i<2;i++){ fgets(vet[i].nome,151,stdin); fgets(vet[i].cargo,101,stdin); scanf("%f",&vet[i].horaExtra); scanf("%f",&vet[i].salarioBase); scanf("%d",&vet[i].horasPorDia); printf("------------------------------------------------------\n"); } int aux = func(vet); printf("Nome:%s\n",vet[aux].nome); printf("Cargo:%s\n",vet[aux].cargo); return 0; }
  2. camposm

    C <Exercico em c - string>

    @AnsiC Eu nao estou conseguindo imprimir o novo vetor.O meu programa ficou assim: #include <stdio.h> void func(int aluno[],int novo[]){ int i,j,cont; for(i=0; aluno[i]!= '\0' ;i++){ if(aluno[i]==','){ break; } cont++; } for(i=0;aluno[i]!='\0';i++){ for(j=0;novo[j]!='\0';j++){ novo[j]=aluno[cont+1]; } } puts(novo); } int main(){ char aluno[62],novo[62]; printf("Escreva o os dados do aluno(ex:PEDRO DA SILVA,200371003,97)"); fgets(aluno,62,stdin); func(aluno,novo); return 0; }
  3. O professor de Algoritmos tem uma lista dos resultados dos alunos na primeira prova, onde cada resultado contém o nome, a matrícula e a nota do aluno. Na hora de divulgar os resultados, ele quer mostrar apenas a matrícula e a nota. a) Crie uma função que recebe duas strings, sendo a primeira string composta pelo nome, matrícula e nota de um aluno, separados por vírgulas (exemplo: "PEDRO DA SILVA,200371003,97"). A função deve preencher a segunda string com apenas a matrícula e a nota do aluno, extraídas da primeira string (exemplo: "200371003,97"). Assuma que o nome do aluno na primeira string contém apenas letras maiúsculas e espaços em branco. b) Para auxiliar o professor a montar a lista de divulgação das notas do TVC1, faça um programa para ler uma string com o resultado de um aluno (nome – máximo 50 caracteres, matrícula – 9 dígitos e nota – 1 a 3 dígitos), chamar a função do item a, e imprimir o resultado para divulgação obtido (matrícula e nota apenas).
  4. @devair1010 aqui esta o programa que eu fiz de acordo com o que você falou so que com algumas mudanças.porém nao consegyuir fazer a parte 2). <#include <stdio.h> int main(){ int pessoas[9999],canal[9999]; int i,k=0,soma=0,somaC=0; float media; for(i=0;i<3;i++){ printf("Pessoas:\n"); scanf("%d",&pessoas); if(pessoas == -1){//termina quando pessoas for -1 return 0; } printf("Canal:\n"); scanf("%d",&canal); if(canal!=1 && canal!=2 && canal!=3){ printf("Canal invalido, digite outro(1,2 ou 3):\n"); scanf("%d",&canal); } if(canal==1){//soma para a media de A soma += pessoas; k++; } if(canal==3){//soma para o canal C somaC += pessoas; } } //Media do canal A media=(float)soma/(float)k; printf("Media de pessoas que assitem o canal A: %f\n",media); //Total de pessoas que assitem canal C printf("Numero de pessoas que assitem o canal %f\n",somaC); } >
  5. nota:estou tentando fazer por vetor mas estou perdido no meio da resolução. Será feita uma pesquisa sobre a audiência de 3 canais de TV em uma certa cidade. Em um número indeterminado de casas visitadas será pesquisado o número de pessoas que estão assistindo TV e o canal assistido: 1 (canal A), 2 (canal b )ou 3 (canal C). Faça um programa que leia esses dados, sabendo que a entrada de dados deverá ser encerrada quando for informado o valor (-1) para o número de pessoas assistindo TV em uma casa. Serão consideradas apenas casas com pelo menos uma pessoa assistindo um dos 3 canais pesquisados. O programa deverá calcular e imprimir: 1) A média do número de pessoas que estavam assistindo o canal A; 2) O número mínimo de pessoas em uma casa em que o canal B estava sendo assistido; 3) A quantidade total de pessoas que estavam assistindo o canal C.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...