Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<windows.h>
- struct pessoa {
- char *nome;
- char *telefone;
- char *endereco;
- char *cidade;
- char *estado;
- char *nascimento;
- };
- struct pessoa pessoa[100];
- int Cadastrar(int *cont, int *cont_pessoas_cadastradas){
- char aux[100];
- int tamanho;
- int continuar;
- for ((*cont) = (*cont_pessoas_cadastradas); (*cont) < 100; (*cont)++){
- system("cls");
- printf("Entre com o nome da pessoa: ");
- fflush(stdin);
- fgets(aux, sizeof(aux), stdin);
- tamanho = strlen((aux) + 1);
- pessoa[*cont].nome = malloc(tamanho * sizeof(char));
- strcpy(pessoa[*cont].nome, aux);
- printf("Entre com o telefone da pessoa: ");
- fflush(stdin);
- fgets(aux, sizeof(aux), stdin);
- tamanho = strlen((aux) + 1);
- pessoa[*cont].telefone = malloc(tamanho * sizeof(char));
- strcpy(pessoa[*cont].telefone, aux);
- printf("Entre com o endereco da pessoa: ");
- fflush(stdin);
- fgets(aux, sizeof(aux), stdin);
- tamanho = strlen((aux) + 1);
- pessoa[*cont].endereco = malloc(tamanho * sizeof(char));
- strcpy(pessoa[*cont].endereco, aux);
- printf("Entre com a cidade da pessoa: ");
- fflush(stdin);
- fgets(aux,sizeof(aux),stdin);
- tamanho = strlen((aux) + 1);
- pessoa[*cont].cidade = malloc(tamanho * sizeof(char));
- strcpy(pessoa[*cont].cidade, aux);
- printf("Entre com o estado da pessoa: ");
- fflush(stdin);
- fgets(aux,sizeof(aux),stdin);
- tamanho = strlen((aux) + 1);
- pessoa[*cont].estado = malloc(tamanho * sizeof(char));
- strcpy(pessoa[*cont].estado, aux);
- printf("Entre com o nascimento da pessoa: ");
- fflush(stdin);
- fgets(aux,sizeof(aux),stdin);
- tamanho = strlen((aux) + 1);
- pessoa[*cont].nascimento = malloc(tamanho * sizeof(char));
- strcpy(pessoa[*cont].nascimento, aux);
- (*cont_pessoas_cadastradas) = (*cont_pessoas_cadastradas) + 1;
- system("cls");
- printf("Digite 0 para voltar ao menu ou qualquer botao para continuar a cadastrar: ");
- scanf("%d", &continuar);
- int *cont = cont_pessoas_cadastradas;
- if (continuar == 0){
- return 0;
- }
- else if (continuar == 1){
- continue;
- }
- else if ((continuar =! 0) && (continuar != 1)){
- return 0;
- }
- }
- }
- int Buscar(int *cont_pessoas_cadastradas, int *retorno)
- {
- char nome3[100];
- int cont = 0;
- int opcao;
- int cont_pessoas_encontradas = 0;
- printf("Digite o nome que deseja buscar: \n");
- fgets(nome3,sizeof(nome3),stdin);
- while (1){
- for (cont = 0; cont < (*cont_pessoas_cadastradas); cont++){
- if (strcmp(nome3,pessoa[cont].nome) == 0)
- {
- printf("\nID de cadastro: %d\n", (cont + 1));
- printf("Nome: %s", pessoa[cont].nome);
- printf("Telefone: %s", pessoa[cont].telefone);
- printf("Endereco: %s", pessoa[cont].endereco);
- printf("Cidade: %s", pessoa[cont].cidade);
- printf("Estado: %s", pessoa[cont].estado);
- printf("Nascimento: %s", pessoa[cont].nascimento);
- printf("\n");
- cont_pessoas_encontradas = cont_pessoas_encontradas + 1;
- (*retorno) = 1;
- }
- }
- printf("Numero de pessoa encontradas: %d\n", (cont_pessoas_encontradas));
- if(cont_pessoas_encontradas == 0){
- system("cls");
- printf("Nenhuma pessoa encontrada com o nome digitado. Tente buscar pelo nome exatamente do jeito que foi escrito no momento do cadastro.\n", nome3);
- (*retorno) = 0;
- }
- printf("Digite 0 para sair\n");
- scanf("%d", &opcao);
- if (opcao == 0){
- break;
- return 0;
- }
- }
- }
- int Editar(int *cont_pessoas_cadastradas, int (*retorno)){
- int cont;
- char aux[100];
- int tamanho;
- Buscar(cont_pessoas_cadastradas, retorno);
- if ((*retorno) == 1){
- printf("Digite o ID de cadastro que deseja alterar:\n");
- scanf("%d",&cont);
- printf("Entre com o nome da pessoa: ");
- fflush(stdin);
- fgets(aux, sizeof(aux), stdin);
- tamanho = strlen((aux) + 1);
- pessoa[cont].nome = malloc(tamanho * sizeof(char));
- strcpy(pessoa[(cont - 1)].nome, aux);
- printf("Entre com o telefone da pessoa: ");
- fflush(stdin);
- fgets(aux, sizeof(aux), stdin);
- tamanho = strlen((aux) + 1);
- pessoa[cont].telefone = malloc(tamanho * sizeof(char));
- strcpy(pessoa[(cont - 1)].telefone, aux);
- printf("Entre com o endereco da pessoa: ");
- fflush(stdin);
- fgets(aux, sizeof(aux), stdin);
- tamanho = strlen((aux) + 1);
- pessoa[cont].endereco = malloc(tamanho * sizeof(char));
- strcpy(pessoa[(cont - 1)].endereco, aux);
- printf("Entre com a cidade da pessoa: ");
- fflush(stdin);
- fgets(aux,sizeof(aux),stdin);
- tamanho = strlen((aux) + 1);
- pessoa[cont].cidade = malloc(tamanho * sizeof(char));
- strcpy(pessoa[(cont - 1)].cidade, aux);
- printf("Entre com o estado da pessoa: ");
- fflush(stdin);
- fgets(aux,sizeof(aux),stdin);
- tamanho = strlen((aux) + 1);
- pessoa[cont].estado = malloc(tamanho * sizeof(char));
- strcpy(pessoa[(cont - 1)].estado, aux);
- printf("Entre com o nascimento da pessoa: ");
- fflush(stdin);
- fgets(aux,sizeof(aux),stdin);
- tamanho = strlen((aux) + 1);
- pessoa[cont].nascimento = malloc(tamanho * sizeof(char));
- strcpy(pessoa[(cont - 1)].nascimento, aux);
- }
- else if ((*retorno) == 0){
- return 0;
- }
- }
- int Mostar(int *cont_pessoas_cadastradas){
- int opcao;
- int cont = 0;
- while (1){
- for (cont = 0; cont < (*cont_pessoas_cadastradas); cont++){
- printf("\nID de cadastro: %d\n", (cont + 1));
- printf("Nome: %s", pessoa[cont].nome);
- printf("Telefone: %s", pessoa[cont].telefone);
- printf("Endereco: %s", pessoa[cont].endereco);
- printf("Cidade: %s", pessoa[cont].cidade);
- printf("Estado: %s", pessoa[cont].estado);
- printf("\nNascimento: %s\n", pessoa[cont].nascimento);
- printf("\n");
- }
- printf("Digite 0 para voltar\n");
- scanf("%d", &opcao);
- if (opcao == 0){
- break;
- }
- else{
- break;
- return 0;
- }
- }
- }
- int main(){
- int opcao;
- int retorno;
- int cont = 0;
- int cont_pessoas_cadastradas = 0;
- while (1){
- Sleep(2000);
- system("cls");
- printf("Bem vindo a agenda digital, selecione as seguintes opcoes digitando o numero e pressionando o botao ENTER:\n");
- printf("1 - Cadastrar pessoa\n2 - Buscar pessoa\n3 - Editar pessoa cadastrada\n4 - Mostrar todas as pessoas\n0 - Sair\n");
- scanf("%d", &opcao);
- fflush(stdin);
- switch(opcao){
- case 1:
- system("cls");
- Cadastrar(&cont, &cont_pessoas_cadastradas);
- system("cls");
- printf("Cadastro efetuado com sucesso!\n");
- break;
- case 2:
- Buscar(&cont_pessoas_cadastradas, &retorno);
- break;
- case 3:
- Editar(&cont_pessoas_cadastradas, &retorno);
- system("cls");
- printf("Cadastro efetuado com sucesso!\n");
- break;
- case 4:
- Mostar(&cont_pessoas_cadastradas);
- break;
- case 0:
- return 0;
- break;
- default:
- printf("Digite um opcao valida\n");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement