Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Ceará - UFC Centro de ciências – CC Departamento de Computação – DC Fundamentos de Programação Exercício: Estrutura de Repetição Objetivos: Introduzir as principais estruturas de repetição. Alice Barros Freire Matrícula: 471490 Jose Lucas Siqueira Freitas Matrícula: 475167 Julyana Xavier Martins Matrícula: 485324 1 ) #include <stdio.h> #include <stdlib.h> struct HABITANTES { float salario; int idade; char sexo[10]; int n_filhos; }; float m_salario(struct HABITANTES vet[], int n); int maior_salario(struct HABITANTES vet[], int n); int m_filhos(struct HABITANTES vet[], int n); int main(void) { int i,i_maior, n=20; struct HABITANTES vet[n]; for(i=0;i<n;i++) { printf("Habitante %d: \n",i+1); printf("Digite o salario: "); scanf("%f",&vet[i].salario); printf("Digite o idade: "); scanf("%d",&vet[i].idade); printf("Digite o sexo: "); scanf("%s",&vet[i].sexo); printf("Digite o numero de filhos: "); scanf("%d",&vet[i].n_filhos); } //a) A média de salário da população; printf("\nMedia do salario: %f\n", m_salario(vet,n)); //b) int media_f=m_filhos(vet, n); printf("\nMedia do numero de filhos: %d\n", media_f); //c) i_maior=maior_salario(vet,n); printf("\nMaior salario: %f\n", vet[i_maior].salario); //d) return 0; } float m_salario(struct HABITANTES vet[], int n) { float media=0; int i; for (i=0;i<n;i++) { media=media+vet[i].salario; } media=media/n; return media; } int m_filhos(struct HABITANTES vet[], int n) { int i; int media_f=0; for (i=0;i<n;i++) { media_f=media_f+vet[i].n_filhos; } media_f=media_f/n; return media_f; } int maior_salario(struct HABITANTES vet[], int n) { float maior; int i,i_maior; i_maior=0; maior=vet[0].salario; for (i=0;i<n;i++) { if(maior<vet[i].salario) { i_maior=i; maior=vet[i].salario; } } return i_maior; } 2) #include<stdio.h> #include<locale.h> #include<string.h> struct CLIENTES{ int OS; char data; float valor; char desc; char nome; }; float media(struct CLIENTES vet[], int n); int maior(struct CLIENTES vet[], int n); int main(){ int climaior, n; printf("digite o numero de clientes:"); scanf("%d", &n); struct CLIENTES vet[n]; for(int i=0; i<n; i++){ printf("Cliente %d\n",i+1); printf("digite a ordem de servico (OS): "); scanf("%d",&vet[i].OS); printf("digite a data da OS: "); scanf("%s",&vet[i].data); printf("digite o valor da OS: "); scanf("%f",&vet[i].valor); printf("digite a descrição do servico: "); scanf("%s",&vet[i].desc); printf("digite o nome do cliente: "); scanf("%s",&vet[i].nome); printf("\n"); } printf("\nmedia dos valores das OS: %g\n",media(vet,n)); climaior=maior(vet,n); printf("\nCliente %d teve o serviço mais caro\n",climaior+1); printf("\nNome do cliente: %c",vet[climaior].nome); printf("\nDescrição do serviço: %c", vet[climaior].desc); printf("\nData do serviço: %c\n", vet[climaior].data); return 0; } float media(struct CLIENTES vet[], int n){ float media=0; for(int i=0; i<n; i++){ media=media+vet[i].valor; } media=media/n; return media; } int maior(struct CLIENTES vet[], int n){ float maior; int climaior; climaior=0; maior=vet[0].valor; for(int i=0; i<n; i++){ if(maior<vet[i].valor){ climaior=i; maior=vet[i].valor; } } return climaior; } 3) #include<stdio.h> #include<string.h> int main(){ struct paper{ int cdg; char descricao[45]; float valor; int qtd; }; int n=10; struct paper vet1[n],vet2[n]; int maior,pos; for(int i=0;i<n;i++){ printf("voce ira digitar as informacoes referentes ao %do produto\n",i+1); printf("digite o codigo do produto:\n"); scanf("%d",&vet1[i].cdg); setbuf(stdin,NULL); printf("digite a descricao do produto:\n"); gets(vet1[i].descricao); printf("digite o valor do produto:\n"); scanf("%f",&vet1[i].valor); printf("digite a quantidade de produtos em estoque:\n"); scanf("%d",&vet1[i].qtd); } maior=vet1[0].cdg; for(int i=0;i<n;i++){ for(int ii=0;ii<n;ii++){ if(vet1[ii].cdg>=maior){ maior=vet1[ii].cdg; pos=ii; } } vet1[pos].cdg=-10; vet2[n-1-i].cdg=maior; strcat(vet2[n-1-i].descricao,vet1[pos].descricao); vet2[n-1-i].valor=vet1[pos].valor; vet2[n-1-i].qtd=vet1[pos].qtd; maior=-20; } printf("voce ira verificar os produtos por ordem de codigo:\n"); for(int i=0;i<n;i++){ printf("codigo: %d\n",vet2[i].cdg); printf("descricao do produto: %s\n",vet2[i].descricao); printf("preco do produto: %g\n",vet2[i].valor); printf("quantidade em estoque: %d\n",vet2[i].qtd); printf("\n"); } return(0); } 4 ) #include <stdio.h> #include <stdlib.h> #include<string.h> struct CONTAS { int num_doc; int codigo; int dia_venc; int mes_venc; int ano_venc; int dia_pag; int mes_pag; int ano_pag; float val_conta; }; float juros (struct CONTAS vet[], int n); int main (void) { int i, n=15; struct CONTAS vet[n]; printf("\nConsiderando um mes igual a 30 dias.\n"); for(i=0; i<n; i++) { printf("\n\nCLIENTE: %d\n", i+1); printf("\nDigite seu numero do documento: "); scanf("%d",&vet[i].num_doc); printf("\nDigite seu codigo: "); scanf("%d",&vet[i].codigo); printf("\nDigite o dia do vencimento"); scanf("%d",&vet[i].dia_venc); printf("\nDigite o mes do vencimento"); scanf("%d",&vet[i].mes_venc); printf("\nDigite o ano do vencimento"); scanf("%d",&vet[i].ano_venc); printf("\nDigite o dia do pagamento: "); scanf("%d",&vet[i].dia_pag); printf("\nDigite o mes do pagamento: "); scanf("%d",&vet[i].mes_pag); printf("\nDigite o ano do pagamento"); scanf("%d",&vet[i].ano_venc); printf("\nDigite o valor da conta:"); scanf("%f", &vet[i].val_conta); } printf("\nTotal arrecadado com juros: %g\n", juros(vet, n)); return 0; } float juros (struct CONTAS vet[], int n) { int i, j; int conta1; float juros; float conta2=0; for(i=0; i<n; i++) { if(vet[i].dia_pag>vet[i].dia_venc) { if(vet[i].mes_pag>vet[i].mes_venc) { conta1=vet[i].dia_pag+(30-vet[i].dia_venc); } else if(vet[i].mes_pag == vet[i].mes_venc) { conta1=vet[i].dia_pag-vet[i].dia_venc; } } else if(vet[i].dia_pag == vet[i].dia_venc) { if(vet[i].mes_pag>vet[i].mes_venc) { if(vet[i].mes_pag-vet[i].mes_venc == 1) { conta1=30; } if(vet[i].mes_pag-vet[i].mes_venc == 2) { conta1=60; } if(vet[i].mes_pag-vet[i].mes_venc == 3){ conta1=90; } if(vet[i].mes_pag-vet[i].mes_venc == 4) { conta1=120; } if(vet[i].mes_pag-vet[i].mes_venc == 5) { conta1=150; } if(vet[i].mes_pag-vet[i].mes_venc == 6) { conta1=180; } if(vet[i].mes_pag-vet[i].mes_venc == 7) { conta1=210; } if(vet[i].mes_pag-vet[i].mes_venc == 8) { conta1=240; } if(vet[i].mes_pag-vet[i].mes_venc == 9) { conta1=270; } if(vet[i].mes_pag-vet[i].mes_venc == 10) { conta1=300; } if(vet[i].mes_pag-vet[i].mes_venc == 11) { conta1=330; } if(vet[i].mes_pag-vet[i].mes_venc == 12) { conta1=360; } if(vet[i].mes_pag==vet[i].mes_venc) { conta1=0; } } if(vet[i].mes_pag == vet[i].mes_venc) { conta1=0; } if(vet[i].mes_pag<vet[i].mes_venc) { conta1=0; } } else if(vet[i].dia_pag<vet[i].dia_venc) { if(vet[i].mes_pag<vet[i].mes_venc) { conta1=0; } else if(vet[i].mes_pag>vet[i].mes_venc) { conta1=vet[i].dia_venc+(30-vet[i].dia_pag); } else if(vet[i].mes_pag==vet[i].mes_venc) { conta1=0; } } else if(vet[i].dia_pag>vet[i].dia_venc) { if(vet[i].mes_pag<vet[i].mes_venc) { conta1=0; } } } for(i=0; i<n; i++) { conta2=juros+(conta1*(0.0002*vet[i].val_conta)+vet[i].val_conta); juros=conta2; } return juros; } 5) #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h> #include <locale.h> int main (void){ int x; printf("digite a quantiade de estilistas\n"); scanf("%d",&x); int cod[x]; float sal[x]; struct moda{ int codigo; char nome[50]; float salario; }; struct moda estilista[x]; char nom[50]; for ( int i=0;i<x;i++){ printf("digite o codigo da estilista\n"); scanf("%d",&cod[i]); estilista[i].codigo=cod[i]; setbuf(stdin,NULL); printf("digite o nome da estilista\n"); fgets(nom,50,stdin); strcpy(estilista[i].nome,nom); printf("digite o salario da estilista\n"); scanf("%f",&sal[i]); estilista[i].salario=sal[i]; } struct estacao{ int codigo; char nome[50]; }; struct estacao y[4]; int est[4]; char nomest[50]; for( int i=0;i<2;i++){ printf("digite o codigo da estação\n"); scanf("%d",&est[i]); y[i].codigo=est[i]; setbuf(stdin,NULL); printf("digite a estação\n"); fgets(nomest,50,stdin); strcpy(y[i].nome,nomest); } struct roupas{ int codigo,codigo_estilista,codigo_estacao,ano; char descricao[1000]; }; struct roupas z[10]; int cody[10],codyes[5],codye[4],ano[10]; char desc[1000]; for(int i=0;i<2;i++){ printf("digite o codigo da roupa\n"); scanf("%d",&cody[i]); z[i].codigo=cody[i]; setbuf(stdin,NULL); printf("digite a descriçao da roupa\n"); fgets(desc,1000,stdin); strcpy(z[i].descricao,desc); printf("digite o codigo da estilista que fez a roupa\n"); scanf("%d",&codyes[i]); z[i].codigo_estilista=codyes[i]; printf("digite o codigo da estaçao\n"); scanf("%d",&codye[i]); z[i].codigo_estacao=codye[i]; printf("digite o ano que a roupa foi feita\n"); scanf("%d",&ano[i]); z[i].ano=ano[i]; } char ler[10]; int cont=0; setbuf(stdin,NULL); printf("digite a estaçao que vc deseja ver as roupas\n"); fgets(ler,10,stdin); for( int i=0;i<2;i++){ if(strcmp(ler,y[i].nome)==0){ cont=y[i].codigo; break; } } for(int i=0;i<2;i++){ if (cont==codye[i]){ printf("o codigo da roupa e: %d\n",z[i].codigo); printf("a descriçao da roupa e : %s\n",z[i].descricao); printf("o codigo da estilista que fez a roupa e : %d\n",z[i].codigo_estilista); printf("o codigo da estaçao da roupa e :%d\n",z[i].codigo_estacao); printf("o ano em que a roupa foi feita foi em :%d\n",z[i].ano); } } } 6) #include <stdio.h> #include <stdlib.h> struct Obra { int tombo; int num; char data[10];//dd/mm/aaaa }; typedef struct Obra obra; struct Tombo { int tombo; char nome[30]; char autor[30]; char editora[30]; int ano; obra obras[3]; //controla o indice das obras int totalobras; }; typedef struct Tombo tombo; void cadastroTombo(tombo t[]); void cadastroObra(tombo *t); //controla o indice do tombo no array int indiceTombo; int main(void){ indiceTombo=0; tombo vet_tombo[20]; printf("\nCadastro de Tombo\n"); cadastroTombo(vet_tombo); printf("\nPrint Tombo"); printf("\ntombo: %d", vet_tombo[0].tombo); printf("\nnome: %s",vet_tombo[0].nome); printf("\neditora: %s", vet_tombo[0].editora); printf("\nano: %d",vet_tombo[0].ano); printf("\ntotal obras: %d",vet_tombo[0].totalobras); printf("\nCadastro de Obra\n"); cadastroObra(&vet_tombo[0]); printf("\nPrint Obra"); printf("\nnumero: %d", vet_tombo[0].obras[0].num); printf("\ntombo: %d", vet_tombo[0].obras[0].tombo); printf("\ndata: %s",vet_tombo[0].obras[0].data); } void cadastroTombo(tombo t[]){ tombo newTombo; printf("Digite o numero Tombo: "); scanf("%d",&newTombo.tombo); setbuf(stdin,NULL); printf("Nome da Obra: "); fgets(newTombo.nome,30,stdin); setbuf(stdin,NULL); printf("Nome da Editora: "); fgets(newTombo.editora,30,stdin); printf("Digite o ano: "); scanf("%d",&newTombo.ano); newTombo.totalobras=0; t[indiceTombo]=newTombo; indiceTombo=indiceTombo+1; } void cadastroObra(tombo *t){ int indiceobras; indiceobras=(*t).totalobras; obra newObra; printf("Digite o numero obra: "); scanf("%d",&newObra.num); newObra.tombo=(*t).tombo; setbuf(stdin,NULL); printf("Data da Compra (dd/mm/yyyy): "); fgets(newObra.data,10,stdin); (*t).obras[indiceobras]=newObra; (*t).totalobras=(*t).totalobras+1; } 7 ) #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h> #include <locale.h> int main (){ int x,i=0; int y[i]; struct politico{ char data[11]; float valor; char descricao[500]; char nome[50]; char partido[50]; }; struct politico propina[1000]; while(1!=0){ printf("digite 1 para continuar e 0 para encerrar antes de inserir a data\n"); scanf("%d",&y[i]); if(y[i]==0){ break; } printf("dite da data do pagamento da propina\n"); setbuf(stdin,NULL); fgets(propina[i].data,11,stdin); printf("digite o valor da propina que foi paga \n"); scanf("%f",&propina[i].valor); printf("digite a descriçao da propina \n"); setbuf(stdin,NULL); fgets(propina[i].descricao,500,stdin); printf("digiteo nome do politico relacionado a propina \n"); setbuf(stdin,NULL); fgets(propina[i].nome,50,stdin); printf("digite a sigla do partido relacionado ao politico \n"); setbuf(stdin,NULL); fgets(propina[i].partido,50,stdin); i++; } float sigla[i],z=0; int cont=0; float maior=0; for(int k=0;k<i;k++){ z=propina[k].valor; for( int j=0;j<i;j++){ if((strcmp(propina[k].partido,propina[j].partido)==0) && (k!=j)){ z=z+propina[j].valor; } } sigla[k]=z; } for(int k=0;k<i;k++){ if(maior<sigla[k]){ maior=sigla[k]; cont=k; } } printf("o partido %s pagou %.2f de propina",propina[cont].partido,maior); return 0; }
Compartilhar