Buscar

TRABALHO DE REGISTROS- PROGRAMAÇÃO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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; 
 }

Continue navegando