Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Igor Vargas

Membros Plenos
  • Total de itens

    27
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 entendi era por isso então. valeu pela ajuda.
  2. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 Tentei já por algum motivo ele n reconhece vou te mandar o codigo. Na linha 140 pra baixo. #include <stdio.h> #include <stdlib.h> #include <string.h> struct zoo{ int codigoid; char raca[20]; char dataentrada[20]; int sexo; int idade; char nome[20]; }; typedef struct zoo animal; int cont; escolhatres(animal nada[]); seila(animal bat[]); numerodois(animal tipo[]); void menuprincipal(animal teste[]){ int i, escolhe; int nadasei; struct zoo animal[30]; do{ printf("\n-------------Bem Vindo ao zoo registro-----------\n"); printf("------------------------------------------------------\n"); printf("1. Cadastrar Animal \n"); printf("2. Pesquisar \n"); /*//MENU PRINCIPAL*/ printf("3. Estatisticas \n"); printf("4. Sair \n"); scanf("%d",&escolhe); if (escolhe==1){ seila(teste); /*//FUNÇAO COM PARAMETRO QUANDO você ESCOLHE A opção UM*/ } else if(escolhe==2){ numerodois(teste); } else if (escolhe==3){ escolhatres(teste); } }while(escolhe!=4); } int seila(animal bat[]){ struct zoo animal[30]; int x,codg,yy,i,aux[30]; int teste[30]; char op; do{ op='s'; printf("---------------------------------------------\n"); printf("--------------voce Escolheu Cadastro-----------\n"); printf("---------------------------------------------\n"); printf("Nome do Animal: \n"); fflush(stdin); gets(bat[cont].nome); printf("Raca do animal:\n"); /*//SE A PESSOA ESCOLHER A opção UM ELE FAZ ISSO*/ fflush(stdin); gets(bat[cont].raca); printf("Codigo do Animal: "); do{ yy=1; fflush(stdin); //verefica se o numero do codigo do animal já esta registrado scanf("%d",&codg); for(i=0;i<cont;i++){ if(codg==bat[i].codigoid){ //iguala o o codigo que a pessoa digitou a variavel codg yy=0; printf("Codigo Ja Existente..., Digite Outro. "); } } }while(yy==0); //caso o codigo for igual ele continua no laço bat[cont].codigoid=codg; // se a variavel n for igual ele manda ela para essa variavel printf("Data de Entrada: DD/MM/AA "); fflush(stdin); gets(bat[cont].dataentrada); printf("Idade do animal:\n"); //faz o cadastro do animal fflush(stdin); scanf("%d",&bat[cont].idade); while(getchar() != '\n'); printf("Sexo do animal 2 para macho e 1 para femea:\n"); fflush(stdin); scanf("%d",&bat[cont].sexo); cont++; /*verefica(bat);*/ printf("-----------Animal Cadastrado com sucesso--------------------\n"); printf("Quer Cadastrar Outro Animal S/N "); fflush(stdin); //caso queira cadastrar outro animal sem sair scanf("%c",&op); //faz a pergunta caso usuario digite op='s' ele continua { } }while(op!='n'); // caso a pessoa digita algo diferente de n ele continua } int numerodois(animal tipo[]){ int x=0,i=0; int escolha; int escolhe; char palavra[20]; int raca=0; do{ printf("---------------------------------------------------\n"); printf("-----------voce escolheu Pesquisar-------------------\n"); printf("---------------------------------------------------\n"); while(getchar() != '\n'); printf("2.1. Pesquisar por raca \n"); printf("2.2. Pesquisar por sexo \n"); scanf("%d",&escolha); if(escolha==1){ printf("Digite a raca \n"); gets(palavra); getchar(); for(i=0;i<cont;i++){ raca=strcmp(palavra, tipo[i].nome); if(raca==0){ printf("Nome : "); puts(tipo[i].nome); printf("Raca : "); puts(tipo[i].raca); return 0; } else if(tipo[i].raca!=palavra){ printf("raca nao encontrada"); return 1; } } x=0; } else { printf("Escolha o sexo:\n"); printf("1. Para Femea:\n"); printf("2. Para Macho:\n"); scanf("%d",&escolhe); if(escolhe==1){ for(i=0;i<cont;i++){ if(tipo[i].sexo==1){ printf("Nome: "); puts(tipo[i].nome); } } x=0; } else{ for(i=0;i<cont;i++){ if(tipo[i].sexo==2){ printf("Nome : "); puts(tipo[i].nome); } } } x=0; } }while (x!=0); } int escolhatres(animal nada[]){ int aux[30]; int x=0,fem=0,mac=0; int escolha; float mIf=0,mIm=0,t_idf=0,t_idm=0,q_fm=0,q_mc=0; int total[30]; int result[30]; struct zoo animal[30]; int i; do{ printf("----------------------------------------------------------\n"); printf("-----------------voce escolheu estatistica----------------\n"); printf("----------------------------------------------------------\n"); printf("3.1. Apresentar total de animais por sexo \n"); printf("3.2. Apresentar a média de idade de animais por sexo \n"); scanf("%d",&escolha); if(escolha == 1){ // se a escolha for ==1 for(i=0;i<cont;i++){ if(nada[i].sexo == 1)fem++; //contador do sexo femenino else mac++; //contador do masculino } printf("existe %d femeas e %d machos \n",fem,mac); } else if (escolha==2){ //apresenta a media de idade por sexo for(i=0;i<cont;i++){ if(nada[i].sexo==1){ //se o numero digitado for 1 t_idf+=nada[i].idade; // soma a idade das femeas q_fm++; //vai contar a quantidade de femeas } else { t_idm+=nada[i].idade; //soma a idade dos machos q_mc++; // conta a quantidade de machos } } if(q_fm>0)mIf=t_idf/q_fm; // faz a media de femeas if(q_mc>0)mIm=t_idm/q_mc; // faz a media de machos printf("A Media De idade para as Femeas eh %.2f e De Machos eh %.2f \n",mIf,mIm); } }while(x!=0); } main(){ struct zoo animal[30]; menuprincipal(animal); }
  3. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 so faltou uma coisinha que n estou conseguindo fazer if(escolha==1){ printf("Digite a raca \n"); gets(palavra); getchar(); for(i=0;i<cont;i++){ raca=strcmp(palavra, tipo[i].nome); if(raca==0){ printf("Nome : "); puts(tipo[i].nome); printf("Raca : "); puts(tipo[i].raca); return 0; } else if(tipo[i].raca!=palavra){ printf("raca nao encontrada"); return 1; } } // essa parte pede pra pesquisar por raça //estou comparando as strings e caso for diferente vai printa q n foi cadastrado // mas ele nao esta printando o primeiro if
  4. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 Entendi valeu mesmo
  5. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 ela faz o que ? soma o total de idades da femea? t_idf+=nada[i].idade;
  6. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 valeu mesmo cara ajudou muito. Comecei a mexer com linguagem de programaçao faz 4 meses e C é o que estão me ensinando então tem muita coisa que eu nao tenho as manhas ainda. adicionado 29 minutos depois @devair1010 A média de idade dos animais por sexo ta vindo zero. int escolhatres(animal nada[]){ int aux[30]; int x,fem=0,mac=0,mIf,mIm; int escolha,t_idf,t_idm,q_fm,q_mc; int total[30]; int result[30]; struct zoo animal[30]; int i; do{ printf("----------------------------------------------------------\n"); printf("-----------------voce escolheu estatistica----------------\n"); printf("----------------------------------------------------------\n"); printf("3.1. Apresentar total de animais por sexo \n"); printf("3.2. Apresentar a média de idade de animais por sexo \n"); scanf("%d",&escolha); if(escolha == 1){ // se a escolha for ==1 for(i=0;i<cont;i++){ if(nada[i].sexo == 1)fem++; //contador do sexo femenino else mac++; //contador do masculino } printf("existe %d femeas e %d machos \n",fem,mac); } else if (escolha==2){ //apresenta a media de idade por sexo for(i=0;i<cont;i++){ if(nada[i].sexo==1){ //se o numero digitado for 1 t_idf+=nada[i].idade; // soma a idade das femeas q_fm++; //vai contar a quantidade de femeas } else { t_idm+=nada[i].idade; //soma a idade dos machos q_mc++; // conta a quantidade de machos } } mIf=t_idf/q_fm; // faz a media de femeas mIm=t_idm/q_mc; // faz a media de machos printf("A Media De Femeas eh %.2f e De Machos eh %.2f\n",mIf,mIm); } }while(x!=0); }
  7. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 Vou ter que te incomodar de novo, essa ultima parte fica dando um erro sendo que teoricamente esta certo.É a funçao escolhatres(animais nada[]); 3.1. Apresentar total de animais por sexo 3.2. Apresentar a média de idade de animais por sexo #include <stdio.h> #include <stdlib.h> #include <string.h> struct zoo{ int codigoid; char raca[20]; char dataentrada[20]; int sexo; int idade; char nome[20]; }; typedef struct zoo animal; int cont; void menuprincipal(animal teste[]){ int i, escolhe; int nadasei; struct zoo animal[30]; do{ printf("\n-------------Bem Vindo ao zoo registro-----------\n"); printf("------------------------------------------------------\n"); printf("1. Cadastrar Animal \n"); printf("2. Pesquisar \n"); /*//MENU PRINCIPAL*/ printf("3. Estatisticas \n"); printf("4. Sair \n"); scanf("%d",&escolhe); if (escolhe==1){ seila(teste); /*//FUNÇAO COM PARAMETRO QUANDO você ESCOLHE A opção UM*/ } else if(escolhe==2){ numerodois(teste); } else if (escolhe==3){ } }while(escolhe!=4); } int seila(animal bat[]){ struct zoo animal[30]; int x,codg,yy,i,aux[30]; int teste[30]; char op; do{ op='s'; printf("-------------------"); printf("voce Escolheu Cadastro"); printf("-------------------\n"); printf("Nome do Animal: \n"); fflush(stdin); gets(bat[cont].nome); printf("Raca do animal:\n"); /*//SE A PESSOA ESCOLHER A opção UM ELE FAZ ISSO*/ fflush(stdin); gets(bat[cont].raca); printf("Codigo do Animal: "); do{ yy=1; fflush(stdin); //verefica se o numero do codigo do animal já esta registrado scanf("%d",&codg); for(i=0;i<cont;i++){ if(codg==bat[i].codigoid){ //iguala o o codigo que a pessoa digitou a variavel codg yy=0; printf("Codigo Ja Existente..., Digite Outro. "); } } }while(yy==0); //caso o codigo for igual ele continua no laço bat[cont].codigoid=codg; // se a variavel n for igual ele manda ela para essa variavel printf("Data de Entrada: DD/MM/AA "); fflush(stdin); gets(bat[cont].dataentrada); printf("Idade do animal:\n"); //faz o cadastro do animal fflush(stdin); scanf("%d",&bat[cont].idade); while(getchar() != '\n'); printf("Sexo do animal 1 para macho e 2 para femea:\n"); fflush(stdin); scanf("%d",&bat[cont].sexo); cont++; /*verefica(bat);*/ printf("-----------Animal Cadastrado com sucesso--------------------\n"); printf("Quer Cadastrar Outro Animal S/N "); fflush(stdin); //caso queira cadastrar outro animal sem sair scanf("%c",&op); //faz a pergunta caso usuario digite op='s' ele continua { } }while(op!='n'); // caso a pessoa digita algo diferente de n ele continua } int numerodois(animal tipo[]){ int x=0,i; int escolha; do{ printf("---------------------------------------------------\n"); printf("-----------voce escolheu Pesquisar-------------------\n"); printf("---------------------------------------------------\n"); while(getchar() != '\n'); printf("2.1. Pesquisar por raca \n"); printf("2.2. Pesquisar por sexo \n"); scanf("%d",&escolha); for(i=0;i<cont;i++){ // mostra a raça eo sexo dos animais printf("Nome : "); puts(tipo[i].nome); printf("Raca : "); puts(tipo[i].raca); printf("Codigo : %d\n",tipo[i].codigoid); printf("Sexo : %s\n",tipo[i].sexo); printf("data : %s\n\n",tipo[i].dataentrada); } }while (x!=0); } int escolhatres(animal nada[]){ int aux[30]; int x; int escolha; int total[30]; int result[30]; struct zoo animal[30]; do{ printf("3.1. Apresentar total de animais por sexo \n"); printf("3.2. Apresentar a média de idade de animais por sexo \n"); scanf("%d",&escolha); if(escolha==1){ if(nada[cont].sexo=1 && nada[cont].sexo=2){//apresenta o total de animais por sexo printf("existe %d femeas e %d machos ",nada[cont].sexo,nada[cont].sexo); } }else if (escolha==2){ //apresenta a media de idade por sexo nada[x].sexo="femea"; } }while(x!=0); { } } main(){ struct zoo animal[30]; menuprincipal(animal); }
  8. C Colocando uma funçao com paremetro dentro de uma funçao

    @devair1010 Não estou conseguindo fazer a parte do, se a pessoa digitar o mesmo codigo dizer que ele já foi cadastrado. #include <stdio.h> #include <stdlib.h> #include <string.h> struct zoo{ int codigoid; char raca[20]; int dataentrada; char sexo[10]; int idade; char nome[20]; }; typedef struct zoo animal; void menuprincipal(animal teste[]){ int i, escolhe; int nadasei; struct zoo animal[30]; do{ printf("\n-------------Bem Vindo ao zoo registro-----------\n"); printf("------------------------------------------------------\n"); printf("1. Cadastrar Animal \n"); printf("2. Pesquisar \n"); //MENU PRINCIPAL printf("3. Estatisticas \n"); printf("4. Sair \n"); scanf("%d",&escolhe); if (escolhe==1){ seila(teste); //FUNÇAO COM PARAMETRO QUANDO você ESCOLHE A opção UM } else if(escolhe==2){ numerodois(teste); } else if (escolhe=3){ } else{ } { } }while(i!=4); } int seila(animal bat[]){ struct zoo animal[30]; int x,aux[30]; int teste[30]; for(x=0; x<1; x++){ while(getchar() != '\n'); printf("-------------------"); printf("voce Escolheu Cadastro"); printf("-------------------\n"); printf("Nome do Animal: \n"); gets(bat[x].nome); printf("Raca do animal:\n"); //SE A PESSOA ESCOLHER A opção UM ELE FAZ ISSO gets(bat[x].raca); printf("Codigo do Animal:\n"); scanf("%d",&bat[x]); printf("Data de Entrada:\n"); scanf("%d",&bat[x].dataentrada); printf("Idade do animal:\n"); scanf("%d",&bat[x].idade); while(getchar() != '\n'); printf("Sexo do animal:\n"); gets(bat[x].sexo); verefica(bat); printf("-----------Animal Cadastrado com sucesso--------------------\n"); { } } } int numerodois(animal tipo[]){ int x=0; int escolha; do{ printf("---------------------------------------------------\n"); printf("-----------voce escolheu Pesquisar-------------------\n"); printf("---------------------------------------------------\n"); while(getchar() != '\n'); printf("2.1. Pesquisar por raca \n"); printf("2.2. Pesquisar por sexo \n"); scanf("%d",&escolha); if(escolha==1){ printf("Nome \n"); puts(tipo[x].nome); printf("Raca \n"); puts(tipo[x].raca); } else{ printf("Nome \n"); puts(tipo[x].nome); printf("Sexo \n"); puts(tipo[x].sexo); } while(getchar() != '\n'); }while (x!=0); } main(){ struct zoo animal[30]; menuprincipal(animal); } //1. Desenvolver um algoritmo para gerenciar os animais de um zoológico. Para cada animal deve-se guardar seu código identificador, raça, data de entrada, sexo e idade. O zoológico não deve permitir mais de um animal com o mesmo código identificador. O programa deve permitir cadastrar novos animais, pesquisar por raça ou sexo. Além disso, apresentar estatísticas dos já cadastrados: número de animais de determinado sexo (informado pelo usuário) e qual a média de idade deles. O programa deve apresentar o seguinte menu: 1. Cadastrar animal 2. Pesquisar 3. Estatísticas 4. Sair Caso o usuário selecione a opção “2”, o sistema deve mostrar outro menu com as opções: 2.1. Pesquisar por raça 2.2. Pesquisar por sexo Caso o usuário selecione a opção “3”, o sistema deve mostrar as seguintes opções: 3.1. Apresentar total de animais por sexo 3.2. Apresentar a média de idade de animais por sexo Cada uma das opções do menu e sub-menus devem ser desenvolvidas através de funções. Para as opções “2” e “3”a raça e sexo devem ser passados por parâmetro para as funções. @devair1010
  9. #include <stdio.h> #include <stdlib.h> #include <string.h> struct zoo{ int codigoid; char raca[20]; int dataentrada; char sexo[10]; int idade; char nome[20]; }; typedef struct zoo animal; int seila(animal teste){ int x; do{ while(getchar() != '\n'); printf("-------------------"); printf("voce Escolheu Cadastro"); printf("-------------------\n"); printf("Nome do Animal: \n"); gets(teste.nome); printf("Raca do animal:\n"); //SE A PESSOA ESCOLHER A opção UM ELE FAZ ISSO gets(teste.nome); printf("Codigo do Animal:\n"); scanf("%d",&teste.codigoid); printf("Data de Entrada:\n"); scanf("%d",&teste.dataentrada); printf("Idade do animal:\n"); scanf("%d",&teste.idade); printf("Sexo do animal:\n"); gets(teste.sexo); printf("4 .Para sair: \n"); if(teste.codigoid==teste.codigoid){ printf("Codigo Cadastrado"); //SE O CODIGO DIGITADO FOR IGUAL } }while(x!=4); } void menuprincipal(){ int i, escolhe; int nadasei; do{ printf("------------------------------------------------------\n"); printf("1. Cadastrar Animal \n"); printf("2. Pesquisar \n"); //MENU PRINCIPAL printf("3. Estatisticas \n"); printf("4. Sair \n"); scanf("%d",&escolhe); if (escolhe==1){ seila(menuprincipal); //FUNÇAO COM PARAMETRO QUANDO você ESCOLHE A opção UM } else if(escolhe==2){ } else if (escolhe=3){ } else{ } { } }while(i!=4); } main(){ struct zoo animal[30]; menuprincipal(animal); } // Eai galera to fazendo esse exercicio só que ele ta me retornando um erro //não estou conseguindo identificar o que é.Obrigado
  10. C Mostrar quando é masculino ou feminino

    @devair1010 Nossa verdade valeu mesmo. O pior é que o compilador n deu erro.
  11. C Mostrar quando é masculino ou feminino

    Obrigado pela ajuda, o problema pede pra quando voce escoher feminino apareça só o nome e idade da mulher no caso,essa é a duvida que eu tenho. adicionado 4 minutos depois @devair1010 por exemplo eu fiz esse codigo. O unico problema é q a idade ta vindo zero. #include <stdio.h> #include <stdlib.h> #include <string.h> struct registro{ char nome[20]; int idade; char sexo[20]; }registro; typedef struct registro pessoas; char verefica(pessoas sex[]){ int i; int escolhe; printf("Solicite um sexo \n"); printf("1 para masculino 0 para feminino \n"); scanf("%d",&escolhe); for(i=0; i<3; i++){ if(escolhe==1){ puts(sex[i].nome); printf("idade:%d \n",sex[i].idade); }else if(escolhe==0){ puts(sex[i].nome); printf("idade: %d \n",sex[i].idade); } } } main(){ struct registro pessoas[3]; int x; for(x=0; x<3; x++){ printf("Digite seu nome:\n"); gets(pessoas[x].nome); printf("Digite sua idade:\n"); scanf("&d",&pessoas[x].idade); printf("Digite seu sexo 1 M e 0 F:\n "); gets(pessoas[x].sexo); while(getchar() != '\n'); } verefica(pessoas); }
  12. C Mostrar quando é masculino ou feminino

    #include <stdio.h> #include <stdlib.h> struct info { char nome[20]; int sexo; int idade; }; typedef struct info pessoas; pessoas verefica(){ int x; int masculino=1; for(x=0; x<3; x++){ if(pessoas[x].sexo == masculino){ printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade); } else{ printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade); } } return masculino; } main(){ struct info pessoas[3]; int x; int y; while(x<3) { printf("Digite seu nome:"); gets(pessoas[x].nome); printf("Digite 1 para M e 0 Para F:"); gets(pessoas[x].sexo); printf("Digite Sua Idade:"); scanf("%d",&pessoas[x].idade); fflush(stdin); x++; } system("pause"); } //Eai galera recentemente começei struct e estou com duvida nesse exercicio.Se a pessoa for masculino mostrar seu nome e idade e feminino a mesmo coisa
  13. C Idade de uma pessoa em dias usando funçoes

    @iHollyZinhO valeu. consegui arrumar já
  14. C Idade de uma pessoa em dias usando funçoes

    Eai galera beleza. então eu fiz esse codigo em aula e rodou normal mas quando cheguei em casa ele n compila não sei se é o compilador devc++ 4.9.9.2 ou meu codigo. Gostaria de saber se esta correto. valeu. #include <stdio.h> #include <stdlib.h> int nascimento(int dia, int mes, int ano){ int x; return x=dia+mes*30+ano*365; } main(){ int diaa, mess, anoo,calc,calcb,x,i; int diah,mesh,anoh; while(x<1) { printf("Descubra sua idade em dias\n"); printf("Digite o dia do nascimento:"); scanf("%d",&diaa); printf("Digite o mes do nascimento:"); scanf("%d",&mess); printf("Digite o ano de nascimento:"); scanf("%d",&anoo); calc=nascimento(diaa,mess,anoo); break; } while(i<1) { printf("\n"); printf("Escreva a data de hoje \n"); printf("Digite o dia atual:"); scanf("%d",&diah); printf("Digite o mes atual:"); scanf("%d",&mesh); printf("Digite o ano atual:"); scanf("%d",&anoh); calcb=nascimento(diah,mesh,anoh); break; } printf("Sua idade em dias %d",calcb-calc); system("pause"); }
  15. C Somando matrizes colunas e linhas

    int main() { int matrizA[4][4]; int matrizB[4][4]; int matrizC[4][4]; int i,j,x,y; for(i=1;i<=4;i++){ for(j=1;j<=4;j++)scanf("%d",&matrizA[i][j]); } for(i=1;i<=4;i++){ for(j=1;j<=4;j++)scanf("%d",&matrizB[i][j]); } for(i=1;i<=4;i++) for(j=1;j<=4;j++){ matrizC[i][j]=matrizA[i][j]+matrizB[i][j]; printf("[%d]",matrizC[i][j]); } printf("\n"); } Queria saber onde eu errei. Desenvolva um algoritmo que leia os elementos de uma matriz A de ordem 4 (4x4) e também de uma matriz B de mesma ordem, gere e imprima uma matriz com a soma dos elementos de A com B.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×