Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.85 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. struct endereco{
  5. char rua[50];
  6. char numero[10];
  7. char complemento[80];
  8. char bairro[15];
  9. int CEP;
  10. char cidade[30];
  11. char estado[15];
  12. char pais[20];
  13. };
  14.  
  15. struct telefone{
  16. int DDD;
  17. int numero;
  18. };
  19.  
  20. struct data{
  21. char dia[2];
  22. char mes[2];
  23. char ano[4];
  24. };
  25. struct pessoa{
  26. char nome[50];
  27. char email[50];
  28. struct endereco enderecoPessoa;
  29. struct telefone telefonePessoa;
  30. struct data dataAniversario;
  31. char observacao[50];
  32. };
  33.  
  34. void insertNoVetor(int index,struct pessoa aux ,struct pessoa agenda[100]){// Basicamente um insert
  35. struct pessoa temp=agenda[index];
  36. agenda[index]=aux;
  37. aux= temp;
  38. int i;
  39.  
  40. for(i=index+1;i<100 && agenda[i-1].nome!='\0';i++){
  41. struct pessoa temp2=agenda[i];
  42. if(i==index+1){
  43. agenda[i]=aux;
  44. }
  45. else{
  46. agenda[i]=temp;
  47. }
  48. }
  49. }
  50.  
  51. limpaAPartirDe(int index,struct pessoa agenda[100]){
  52. int i;
  53.  
  54. for(i=index;i<100 && agenda[i+1].nome!='\0';i++){
  55.  
  56. agenda[i]=agenda[i+1];
  57. }
  58. }
  59.  
  60. void porNome(char nome[],struct pessoa agenda[100]){
  61. int i = 0;
  62. printf("Entrou");
  63. for(i=0;i<100;i++){
  64. printf("\n%s",nome);
  65. printf("\n%s",agenda[i].nome);
  66. if(strcmp(nome,agenda[i].nome)==0){
  67. printf("\nDeu");
  68. }
  69. }
  70. }
  71.  
  72. void porMes(char mes[],struct pessoa agenda[100]){
  73. printf("Entrou");
  74. int i = 0;
  75. for(i=0;i<100;i++){
  76. if(strcmp(mes,agenda[i].dataAniversario.mes)==0){
  77. printf("\nDeu");
  78. }
  79. }
  80. }
  81.  
  82. void porDiaEMes(char dia[], char mes[],struct pessoa agenda[100]){
  83. printf("Entrou");
  84. int i = 0;
  85. for(i=0;i<100;i++){
  86. if((strcmp(dia,agenda[i].dataAniversario.dia)==0) && (strcmp(mes,agenda[i].dataAniversario.mes)==0)){
  87. printf("\nDeu");
  88. }
  89. }
  90. }
  91.  
  92. void insertPessoa(struct pessoa pessoa,struct pessoa agenda[100]){
  93. struct pessoa temp;
  94. int i =0;
  95. for(i=0;i<99;i++){
  96. if(agenda[i].nome=='\0'){
  97. //coloca
  98. }
  99. else if(strcmp(pessoa.nome,agenda[i].nome)<0){
  100. //acao
  101. //reordena a partir do ponto
  102. //a>b
  103. //reordena(temp,agenda);
  104. break;
  105. }//ir comparando ate ter null, se maior ele troca e reordena
  106. else if(strcmp(pessoa.nome,agenda[i].nome)==0){//se igual troca de lugar, o igual vai pra frente e reotdena
  107. temp=agenda[i];
  108. agenda[i]=pessoa;
  109.  
  110. break;
  111. }
  112. //Se for maior n precisa fazer nada, so seguir, visto que o i e auto-incrementado
  113. }
  114. }
  115.  
  116. /*void retiraPessoa(){
  117. int i;
  118. for(i=0;i<100;i++){
  119. if(true){//oq equals to index ai troca as retira
  120. //retira
  121. //reordena a partir dele
  122. } //chegou no index, remove, o +1 e colocado no lugar e por ai vai
  123. }//Utilizar de variavel para contar, e caso + ocorrencias perguntar qual index tirar, tirar ele dps reordenar
  124. limpaAPartirDe();//dps de coletar o index correto coloca ele aqui
  125. }
  126.  
  127. void mostraParcialPessoa(){//nome telefone e email
  128.  
  129. }
  130. */
  131.  
  132. void mostrarInformacoesFull(struct pessoa pessoa){
  133. printf("Nome: %s",pessoa.nome);
  134. printf("Nome: %s",pessoa.email);
  135. printf("Nome: %s",pessoa.enderecoPessoa);
  136. printf("Nome: %s",pessoa.dataAniversario.ano);
  137. printf("Nome: %s",pessoa.observacao);
  138. }
  139.  
  140. int main(){
  141. int escolha;
  142. do{
  143.  
  144. printf("\n1 - Cadastrar pessoa");
  145. printf("\n2 - Retirar pessoa");
  146. printf("\n3 - Imprimir agenda");
  147. printf("\n4 - Buscar por dia dia e mês de aniversario");
  148. printf("\n5 - Buscar por mes de aniversario");
  149. printf("\n6 - Buscar por primeiro nome");
  150. printf("\n7 - Sair");
  151.  
  152. scanf("%d",&escolha);
  153.  
  154. }while(escolha < 1 || escolha > 7) ;
  155.  
  156. switch (escolha){
  157. case 1:
  158. cadastroPessoa();
  159. }
  160.  
  161.  
  162. return 0;
  163.  
  164. }
  165.  
  166. struct pessoa cadastro[10];
  167.  
  168. void cadastroPessoa(){
  169. //qual pósição do vetor tem que adicionar?
  170.  
  171. printf("\nNome: ");
  172. fflush(stdin);
  173. fgets(cadastro[].nome, 40, stdin);
  174. printf("\nE-mail: ");
  175. flush(stdin);
  176. fgets(cadastro[].email, 40, stdin);
  177. printf("\nRua: ");
  178. flush(stdin);
  179. fgets(cadastro[].enderecoPessoa.rua, 40, stdin);
  180. printf("\nNumero: ");
  181. flush(stdin);
  182. fgets(cadastro[].enderecoPessoa.numero, 40, stdin);
  183. printf("\nComplemento : ");
  184. flush(stdin);
  185. fgets(cadastro[].enderecoPessoa.complemento, 40, stdin);
  186. printf("\nBairro: ");
  187. flush(stdin);
  188. fgets(cadastro[].enderecoPessoa.bairro, 40, stdin);
  189. printf("\nCEP: ");
  190. flush(stdin);
  191. fgets(cadastro[].enderecoPessoa.CEP, 40, stdin);
  192. printf("\nCidade: ");
  193. flush(stdin);
  194. fgets(cadastro[].enderecoPessoa.cidade, 40, stdin);
  195. printf("\nPais: ");
  196. flush(stdin);
  197. fgets(cadastro[].enderecoPessoa.pais, 40, stdin);
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement