Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <string.h>
- typedef struct {
- char rua[30];
- char bairro[10];
- char cidade[10];
- } endereco;
- typedef struct {
- char nome[30];
- int idade;
- char telefone[10];
- endereco endereco;
- } AGENDA;
- typedef struct {
- char nome[30];
- int idade;
- char rua[30];
- char bairro[10];
- } SAIDA;
- void Cadastro(AGENDA *agenda, FILE *arquivo, FILE *arquivo2, SAIDA *saida) {
- char resposta, bairro[10], cidade[10];
- int i = 0, soma = 0, contatos = 0, media = 0;
- do {
- printf("Digite o nome:\n");
- gets(agenda->nome);
- fflush(stdin);
- printf("Digite a idade:\n");
- scanf("%d", &agenda->idade);
- fflush(stdin);
- printf("Digite o telefone:\n");
- gets(agenda->telefone);
- fflush(stdin);
- printf("Digite a rua:\n");
- gets(agenda->endereco.rua);
- fflush(stdin);
- printf("Digite o bairro:\n");
- gets(agenda->endereco.bairro);
- fflush(stdin);
- printf("Digite a cidade:\n");
- gets(agenda->endereco.cidade);
- fflush(stdin);
- printf("Deseja realizar um novo cadastro?(S/N)\n");
- scanf("%c", &resposta);
- fflush(stdin);
- fwrite(agenda, sizeof(AGENDA), 1, arquivo);
- } while (resposta == 's');
- printf("Digite o nome da cidade que deseja pesquisar:\n");
- gets(cidade);
- fflush(stdin);
- rewind(arquivo);
- while (!feof(arquivo)) {
- fread(agenda, sizeof(AGENDA), 1, arquivo);
- if (strcmp(agenda->endereco.cidade, cidade) == 0) {
- strcpy(agenda->nome, saida->nome);
- saida->idade = agenda->idade;
- strcpy(agenda->endereco.rua, saida->rua);
- strcpy(agenda->endereco.bairro, saida->bairro);
- fwrite(saida, sizeof(SAIDA), 1, arquivo);
- i++;
- }
- }
- if (i == 0) {
- printf("Cidade inexistente");
- }
- if (i > 50) {
- printf("Digite o nome do bairro:/n");
- gets(bairro);
- rewind(arquivo);
- while (!feof(arquivo)) {
- fread(agenda, sizeof(AGENDA), 1, arquivo);
- if (strcmp(agenda->endereco.bairro, bairro) == 0) {
- contatos++;
- soma = soma + agenda->idade;
- }
- }
- media = soma / contatos;
- printf("A media eh %d:/n", media);
- }
- }
- int main() {
- FILE *arquivo1;
- FILE *arquivo2;
- arquivo1 = fopen("AGENDA.CAD", "w+b");
- arquivo2 = fopen("SAIDA.DAT", "w+b");
- AGENDA *agenda;
- agenda = malloc(sizeof(AGENDA));
- SAIDA *saida;
- saida = malloc(sizeof(SAIDA));
- Cadastro(agenda, arquivo1, arquivo2, saida);
- fclose(arquivo1);
- fclose(arquivo2);
- free(agenda);
- agenda = NULL;
- free(saida);
- saida = NULL;
- getche();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement