Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.10 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<windows.h>
  5.  
  6. struct pessoa {
  7. char *nome;
  8. char *telefone;
  9. char *endereco;
  10. char *cidade;
  11. char *estado;
  12. char *nascimento;
  13. };
  14. struct pessoa pessoa[100];
  15.  
  16. int Cadastrar(int *cont, int *cont_pessoas_cadastradas){
  17. char aux[100];
  18. int tamanho;
  19. int continuar;
  20.  
  21.  
  22. for ((*cont) = (*cont_pessoas_cadastradas); (*cont) < 100; (*cont)++){
  23. system("cls");
  24. printf("Entre com o nome da pessoa: ");
  25. fflush(stdin);
  26. fgets(aux, sizeof(aux), stdin);
  27. tamanho = strlen((aux) + 1);
  28. pessoa[*cont].nome = malloc(tamanho * sizeof(char));
  29. strcpy(pessoa[*cont].nome, aux);
  30.  
  31. printf("Entre com o telefone da pessoa: ");
  32. fflush(stdin);
  33. fgets(aux, sizeof(aux), stdin);
  34. tamanho = strlen((aux) + 1);
  35. pessoa[*cont].telefone = malloc(tamanho * sizeof(char));
  36. strcpy(pessoa[*cont].telefone, aux);
  37.  
  38. printf("Entre com o endereco da pessoa: ");
  39. fflush(stdin);
  40. fgets(aux, sizeof(aux), stdin);
  41. tamanho = strlen((aux) + 1);
  42. pessoa[*cont].endereco = malloc(tamanho * sizeof(char));
  43. strcpy(pessoa[*cont].endereco, aux);
  44.  
  45. printf("Entre com a cidade da pessoa: ");
  46. fflush(stdin);
  47. fgets(aux,sizeof(aux),stdin);
  48. tamanho = strlen((aux) + 1);
  49. pessoa[*cont].cidade = malloc(tamanho * sizeof(char));
  50. strcpy(pessoa[*cont].cidade, aux);
  51.  
  52. printf("Entre com o estado da pessoa: ");
  53. fflush(stdin);
  54. fgets(aux,sizeof(aux),stdin);
  55. tamanho = strlen((aux) + 1);
  56. pessoa[*cont].estado = malloc(tamanho * sizeof(char));
  57. strcpy(pessoa[*cont].estado, aux);
  58.  
  59. printf("Entre com o nascimento da pessoa: ");
  60. fflush(stdin);
  61. fgets(aux,sizeof(aux),stdin);
  62. tamanho = strlen((aux) + 1);
  63. pessoa[*cont].nascimento = malloc(tamanho * sizeof(char));
  64. strcpy(pessoa[*cont].nascimento, aux);
  65.  
  66. (*cont_pessoas_cadastradas) = (*cont_pessoas_cadastradas) + 1;
  67.  
  68. system("cls");
  69. printf("Digite 0 para voltar ao menu ou qualquer botao para continuar a cadastrar: ");
  70. scanf("%d", &continuar);
  71.  
  72. int *cont = cont_pessoas_cadastradas;
  73.  
  74. if (continuar == 0){
  75. return 0;
  76. }
  77. else if (continuar == 1){
  78. continue;
  79. }
  80. else if ((continuar =! 0) && (continuar != 1)){
  81. return 0;
  82. }
  83. }
  84.  
  85.  
  86. }
  87.  
  88. int Buscar(int *cont_pessoas_cadastradas, int *retorno)
  89. {
  90. char nome3[100];
  91. int cont = 0;
  92. int opcao;
  93. int cont_pessoas_encontradas = 0;
  94. printf("Digite o nome que deseja buscar: \n");
  95. fgets(nome3,sizeof(nome3),stdin);
  96. while (1){
  97. for (cont = 0; cont < (*cont_pessoas_cadastradas); cont++){
  98. if (strcmp(nome3,pessoa[cont].nome) == 0)
  99. {
  100. printf("\nID de cadastro: %d\n", (cont + 1));
  101. printf("Nome: %s", pessoa[cont].nome);
  102. printf("Telefone: %s", pessoa[cont].telefone);
  103. printf("Endereco: %s", pessoa[cont].endereco);
  104. printf("Cidade: %s", pessoa[cont].cidade);
  105. printf("Estado: %s", pessoa[cont].estado);
  106. printf("Nascimento: %s", pessoa[cont].nascimento);
  107. printf("\n");
  108. cont_pessoas_encontradas = cont_pessoas_encontradas + 1;
  109. (*retorno) = 1;
  110. }
  111. }
  112. printf("Numero de pessoa encontradas: %d\n", (cont_pessoas_encontradas));
  113.  
  114. if(cont_pessoas_encontradas == 0){
  115. system("cls");
  116. printf("Nenhuma pessoa encontrada com o nome digitado. Tente buscar pelo nome exatamente do jeito que foi escrito no momento do cadastro.\n", nome3);
  117. (*retorno) = 0;
  118. }
  119. printf("Digite 0 para sair\n");
  120. scanf("%d", &opcao);
  121. if (opcao == 0){
  122. break;
  123. return 0;
  124. }
  125. }
  126. }
  127.  
  128.  
  129. int Editar(int *cont_pessoas_cadastradas, int (*retorno)){
  130. int cont;
  131. char aux[100];
  132. int tamanho;
  133. Buscar(cont_pessoas_cadastradas, retorno);
  134. if ((*retorno) == 1){
  135. printf("Digite o ID de cadastro que deseja alterar:\n");
  136. scanf("%d",&cont);
  137.  
  138. printf("Entre com o nome da pessoa: ");
  139. fflush(stdin);
  140. fgets(aux, sizeof(aux), stdin);
  141. tamanho = strlen((aux) + 1);
  142. pessoa[cont].nome = malloc(tamanho * sizeof(char));
  143. strcpy(pessoa[(cont - 1)].nome, aux);
  144.  
  145. printf("Entre com o telefone da pessoa: ");
  146. fflush(stdin);
  147. fgets(aux, sizeof(aux), stdin);
  148. tamanho = strlen((aux) + 1);
  149. pessoa[cont].telefone = malloc(tamanho * sizeof(char));
  150. strcpy(pessoa[(cont - 1)].telefone, aux);
  151.  
  152. printf("Entre com o endereco da pessoa: ");
  153. fflush(stdin);
  154. fgets(aux, sizeof(aux), stdin);
  155. tamanho = strlen((aux) + 1);
  156. pessoa[cont].endereco = malloc(tamanho * sizeof(char));
  157. strcpy(pessoa[(cont - 1)].endereco, aux);
  158.  
  159. printf("Entre com a cidade da pessoa: ");
  160. fflush(stdin);
  161. fgets(aux,sizeof(aux),stdin);
  162. tamanho = strlen((aux) + 1);
  163. pessoa[cont].cidade = malloc(tamanho * sizeof(char));
  164. strcpy(pessoa[(cont - 1)].cidade, aux);
  165.  
  166. printf("Entre com o estado da pessoa: ");
  167. fflush(stdin);
  168. fgets(aux,sizeof(aux),stdin);
  169. tamanho = strlen((aux) + 1);
  170. pessoa[cont].estado = malloc(tamanho * sizeof(char));
  171. strcpy(pessoa[(cont - 1)].estado, aux);
  172.  
  173. printf("Entre com o nascimento da pessoa: ");
  174. fflush(stdin);
  175. fgets(aux,sizeof(aux),stdin);
  176. tamanho = strlen((aux) + 1);
  177. pessoa[cont].nascimento = malloc(tamanho * sizeof(char));
  178. strcpy(pessoa[(cont - 1)].nascimento, aux);
  179. }
  180.  
  181. else if ((*retorno) == 0){
  182. return 0;
  183. }
  184.  
  185.  
  186.  
  187. }
  188.  
  189. int Mostar(int *cont_pessoas_cadastradas){
  190. int opcao;
  191. int cont = 0;
  192. while (1){
  193. for (cont = 0; cont < (*cont_pessoas_cadastradas); cont++){
  194. printf("\nID de cadastro: %d\n", (cont + 1));
  195. printf("Nome: %s", pessoa[cont].nome);
  196. printf("Telefone: %s", pessoa[cont].telefone);
  197. printf("Endereco: %s", pessoa[cont].endereco);
  198. printf("Cidade: %s", pessoa[cont].cidade);
  199. printf("Estado: %s", pessoa[cont].estado);
  200. printf("\nNascimento: %s\n", pessoa[cont].nascimento);
  201. printf("\n");
  202.  
  203. }
  204. printf("Digite 0 para voltar\n");
  205. scanf("%d", &opcao);
  206. if (opcao == 0){
  207. break;
  208. }
  209. else{
  210. break;
  211. return 0;
  212. }
  213.  
  214. }
  215. }
  216.  
  217. int main(){
  218. int opcao;
  219. int retorno;
  220. int cont = 0;
  221. int cont_pessoas_cadastradas = 0;
  222. while (1){
  223. Sleep(2000);
  224. system("cls");
  225. printf("Bem vindo a agenda digital, selecione as seguintes opcoes digitando o numero e pressionando o botao ENTER:\n");
  226. printf("1 - Cadastrar pessoa\n2 - Buscar pessoa\n3 - Editar pessoa cadastrada\n4 - Mostrar todas as pessoas\n0 - Sair\n");
  227. scanf("%d", &opcao);
  228. fflush(stdin);
  229. switch(opcao){
  230. case 1:
  231. system("cls");
  232. Cadastrar(&cont, &cont_pessoas_cadastradas);
  233. system("cls");
  234. printf("Cadastro efetuado com sucesso!\n");
  235.  
  236. break;
  237.  
  238. case 2:
  239. Buscar(&cont_pessoas_cadastradas, &retorno);
  240. break;
  241.  
  242. case 3:
  243. Editar(&cont_pessoas_cadastradas, &retorno);
  244. system("cls");
  245. printf("Cadastro efetuado com sucesso!\n");
  246. break;
  247.  
  248. case 4:
  249. Mostar(&cont_pessoas_cadastradas);
  250. break;
  251.  
  252. case 0:
  253. return 0;
  254. break;
  255.  
  256. default:
  257. printf("Digite um opcao valida\n");
  258. }
  259. }
  260. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement