Ir ao conteúdo
  • Cadastre-se
Hokague

C criar lista telefonica em linguagem c

Recommended Posts

boa noite estou com esse trabalho pra entregar e não sei como desenvolver pois o curso está no meio e entrei agora agluem pode me ajudar

CRITÉRIOS DE AVALIAÇÃO:

 

À medida que as aulas forem dando sequência, o aluno deverá ser capaz de criar uma agendatelefônica, contendo as seguintes informações:

Cadastrar Pessoa;

- Nome;

- Telefone;

- Endereço;

 

Listar Pessoa;

- Nome;

- Telefone;

 

Alterar Pessoa;

- Alterar nome;

- Alterar telefone;

- alterar endereço;

 

Excluir Pessoa;

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Hokague    o melhor é você fazer por partes, uma de cada vez,  então faça primeiro a parte de cadastrar a pessoa,    então para cadastrar  você cria um vetor do tipo char para guardar o nome das pessoas, e outro para o endereço e outro do tipo int para o telefone,   crie a função cadastrar e nela coloque um loop do / while  enquanto quiser cadastrar,  e um contador começando de zero para indicar a posição nos vetores , e dentro do do / while pegue o nome da  pessoa, o telefone e o endereço, usando os comandos gets e scanf assim :

printf("Digite O Nome Da Pessoa ");
fflush(stdin);
gets( nome[contador] );
printf("Digite O Telefone ");
fflush(stdin);
scanf("%d",& telefone[contador]);
contador++;

e depois pergunta se quer cadastrar outra pessoa S / N  ,  e coloca o scanf para pegar a resposta se for S repete tudo de novo, senão passa pelo while , e terminou esta função de cadastrar .      Depois criar uma função para listar o que foi guardado nos vetores .   faça  essa primeira parte e poste aqui para podermos ver como está e em que podemos ajudar .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda não consegui, tem como passar o codigo do começo? pois não compila da erro193

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

O enunciado está um pouco ambíguo. É para registrar somente um contato ou um número indefinido?
Não sei até onde está o curso, mas poderia usar struct para organizar melhor os dados.

Poderia dizer qual o compilador está usando? A maioria dos bons compiladores normalmente informa onde ocorreu o erro e às vezes até sugere como corrigi-lo.

adicionado 18 minutos depois
Em 3/31/2018 às 01:07, devair1010 disse:

@Hokague    o melhor é você fazer por partes, uma de cada vez,  então faça primeiro a parte de cadastrar a pessoa,    então para cadastrar  você cria um vetor do tipo char para guardar o nome das pessoas, e outro para o endereço e outro do tipo int para o telefone,   crie a função cadastrar e nela coloque um loop do / while  enquanto quiser cadastrar,  e um contador começando de zero para indicar a posição nos vetores , e dentro do do / while pegue o nome da  pessoa, o telefone e o endereço, usando os comandos gets e scanf assim :


printf("Digite O Nome Da Pessoa ");
fflush(stdin);
gets( nome[contador] );
printf("Digite O Telefone ");
fflush(stdin);
scanf("%d",& telefone[contador]);
contador++;

e depois pergunta se quer cadastrar outra pessoa S / N  ,  e coloca o scanf para pegar a resposta se for S repete tudo de novo, senão passa pelo while , e terminou esta função de cadastrar .      Depois criar uma função para listar o que foi guardado nos vetores .   faça  essa primeira parte e poste aqui para podermos ver como está e em que podemos ajudar .


Não é recomendado o uso de gets() nem de fflush(stdin).
A função gets() é obsoleta e extremamente perigosa no quesito segurança, e há várias alternativas melhores como até o próprio scanf, que não é nenhuma maravilha mas é muito melhor.

https://cwe.mitre.org/data/definitions/242.html

 

Já o uso do fflush(stdin) é desaconselhado por cair em comportamento indefinido. Alguns compiladores e sistemas operacionais permitem o uso, mas o comportamento esperado (limpar o buffer de entrada) não é garantido.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/fflush.html
 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Hokague     esse erro é por que esse código está incompleto,   e como  você disse que está começando agora, então vou  colocar um exemplo  de como fazer , com apenas a função cadastrar , as funções de listar e alterar, você vendo como foi feita esta , fará as outras, então esse código pode ser assim :

#include <stdio.h>
#include <conio.h>
#include <windows.h>
int contador;/* colocando aqui antes da main a variável */
             /* será inicializada com valor zero*/
char nome[10][30],endereco[10][30],sair='s';
int telefone[10],i,op,contador;
void cadastrar(){/* esta é a função para cadastrar */
    do{
        printf("Digite O Nome Da Pessoa ");
        fflush(stdin);
        gets( nome[contador] );/* gets por é para pegar string */
              .                /* se fosse inteiro usaria scanf */
              .
              .
        aqui o código para cadastrar
        o telefone e o endereço
              .
              .
        contador++;
        printf("Quer Cadastrar Outra Pessoa S/N ");
        scanf("%c",&sair);
    }while(sair!='n');
}
void listar(){/* esta é a função para mostrar o que foi cadastrado */
    system("cls");
    printf("Listando Todos Os Cadastros !\n");
        .
        .
aqui coloque o código para
imprimir todos as pessoa e
endereços e telefone cadastrados
        .
        .
    printf("     Tecle");
    getch();
}
void alterar(){/* função para alterar os dados */
       .
       .
aqui coloque o código para fazer
as alterações nos dados da lista
       .
       .
}
int main(){/* aqui é a função main */
    do{
        system("cls");
        printf("===== menu da lista  =====\n\n");
        printf("1 - Cadastrar\n");
        printf("2 - Listar Todos\n");
        printf("3 - Alterar Dados\n");
        printf("4 - Sair Da Lista\nopcao -%c ",16);
        scanf("%d",&op);
        switch(op){
        case 1:
            cadastrar();
            break;
              .
              .
        aqui a chamada para as outras funções
              .
              .
        case 4:
            break;
        default:
            printf("Opcao Invalida !     Tecle");
            getch();
        }
    }while(op != 4 );
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×