Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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
Postado (editado)

@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;
}

 

Editado por devair1010
  • 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






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

×