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:  
DoodohRafael

Tipo de dado para alocar um número numa lse

Recommended Posts

Gente, quando eu insiro uma quantidade menor de número em "Informe o telefone" ele fica bugando, se eu por assim com 11 número, ele buga 81955556666, se eu por somente 9 números ele roda normal, alguém sabe o que possa ser??

 

Normal: 

 

5957dfbb48122_Screenshot2017-07-0114_31_11.thumb.png.5d2956cefcdd49ee75cc4b5548f76ede.png

com bug:

 

5957dfda5ac68_Screenshot2017-07-0114_33_09.thumb.png.768cd147ae3a6941e4a7038043338ece.png

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 1 hora atrás, Gabriel_Moro disse:

    poste seu código para podermos visualizar o que esta ocorrendo...

    Ok jogador, ele aqui embaixo 

     

    #include <iostream>
    #include <string.h>
    #include <stdlib.h>
    using namespace std;
    
    struct agenda{
    	long telefone;
    	char nome[100];
    	struct agenda *prox;
    }*prim,*ult,*aux;
    
    void inclusao(char n[100], long tel);
    void listagem();
    void exclusao(long tel);
    void procurar(long tel);
    void contar();
    
    main(){
    	int op, resp;
    	char n[100];
    	long tel;
    	
    	do{
    	
    	cout<<"<<<MENU>>"<<endl;
    	cout<<"[1] Incluir "<<endl; //Inclui um novo telefone na agenda;
    	cout<<"[2] Listar "<<endl; //Lista todos os telefones da agenda;
    	cout<<"[3] Excluir "<<endl; // Exclui o nome e telefone da agenda;
    	cout<<"[4] Buscar "<<endl; //Busca o nome e telefone da agenda;
    	cout<<"[5] Contar "<<endl;// Conta o n° de telefones cadastrados;
    	cout<<"[6] Sair "<<endl; //Opção para sair do menu.
    	cin>>op;
    	if(op==1){
    		cout<<" CADASTRO DE NOVOS TELEFONES "<<endl;
    		
    		cout<<"Informe o telefone: ";
    		cin>>tel;
    		fflush(stdin);
    		
    		cout<<"Informe o nome: ";
    		fgets(n,100,stdin);
    		cout<<endl;
    		
    		inclusao(n, tel);
    	}else if(op==2){
    		listagem();
    	}else if(op==3){
    		cout<<"Informe o telefone para remover da agenda: ";
    		cin>>tel;
    		exclusao(tel);
    	}else if(op==4){
    		cout<<"Informe o telefone para busca: ";
    		cin>>tel;
    		procurar(tel);
    	}else if(op==5)
    		contar();
    	cout<<"Deseja Voltar ao Menu? [1]-SIM|[0]-NAO ";
    	cin>>resp;
    	if(resp==0)
    		break;
    	}while(op!=6);
    }
    
    //Funcao de Inclusao
    void inclusao(char n[100], long tel){
    	aux = (struct agenda *)malloc(sizeof(struct agenda));
    	if(prim==NULL)
    		prim=aux;
    	else
    		ult->prox=aux;
    	ult=aux;
    	strcpy(ult->nome,n);
    	ult->telefone=tel;
    	ult->prox=NULL;
    	cout<<">-------------------<"<<endl;
    	cout<<aux->nome;
    	cout<<"foi cadastrado com sucesso! \n";
    	cout<<">-------------------<"<<endl;
    }
    
    void listagem(){
    	aux=prim;
    	if(prim!=NULL){
    		cout<<">-------------------<"<<endl;
    		cout<<"Nomes e Telefones "<<endl;
    		cout<<"Nome: "<<prim->nome<<endl;
    		cout<<"Telefone: "<<prim->telefone<<endl;
    		cout<<">-------------------<"<<endl;
    		aux=prim->prox;
    		while(aux!=NULL){
    		cout<<">-------------------<"<<endl;
    		cout<<"Nome: "<<aux->nome<<endl;
    		cout<<"Telefone: "<<aux->telefone<<endl;
    		cout<<">-------------------<"<<endl;
    		aux=aux->prox;
    		}
    	}else
    		cout<<"Agenda Vazia! "<<endl;
    }
    
    void exclusao(long tel){
    	
    	struct agenda *aux2;
    	int achei = 0; 
    	aux = prim; 
    	
    	while(aux!= NULL && achei==0) 
    	{
    		if(aux->telefone == tel) 
    		{
    			if(aux == prim) 
    			{
    				if(prim == ult)
    				{
    					prim = ult = NULL; 
    					aux2 = aux;
    				}
    				else 
    				{
    					prim= prim->prox; 
    					aux2 = aux;
    				}
    			}
    			else if(aux == ult)
    			{
    				ult = aux2; 
    				ult->prox=NULL;                                                                                  
    			}
    			else
    			{
    				aux2->prox = aux->prox;
    				achei = 1;
    				free(aux);
    			}
    		}
    		else 
    		{
    			aux2 = aux;
    			aux = aux->prox;
    		}
    	}
    	if(achei==0)
    	{
    		cout <<"Telefone nao foi encontrado\n\n\n";	
        }
        else
        {
        	cout <<"Telefone excluido! com sucesso! \n\n"<<endl;
        }    	
    }
    
    
    void procurar(long tel){
    	int achei=0;
    	aux=prim;
    	while(achei==0 && aux!=NULL){
    		if(aux->telefone==tel){
    			cout<<">-------------------<"<<endl;
    			cout<<"Nome: "<<aux->nome<<endl;
    			cout<<"Telefone: "<<aux->telefone<<endl;
    			cout<<">-------------------<"<<endl;
    			achei=1;
    			
    		}else
    			aux=aux->prox;
    	}
    	if(achei==0){
    		cout<<"Nome e telefone nao encontrados! "<<endl;
    	}
    }
    
    void contar()
    {
    	int c=0;
    	aux = prim;
    	while(aux!= NULL)
    	{
    		c += 1;
    		aux = aux->prox;
    	}
    	cout <<"Numero de telefones cadastrados: "<<c<<"\n\n\n";
    	
    }

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    long int permite somente 10 numeros:
    long int:
    Ocupa 32bits
    Especificador: %li
    vai desde -2.147.483.648 a +2.147.483.647
    10 digitos

     

    Ta explicado >_<

     

    você pode buscar outro tipo como long long, porém, se quiser um conselho, números de telefone se costuma guardar em strings pois é melhor para processar.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 31 minutos atrás, vangodp disse:

    long int permite somente 10 numeros:
    long int:
    Ocupa 32bits
    Especificador: %li
    vai desde -2.147.483.648 a +2.147.483.647
    10 digitos

     

    Ta explicado >_<

     

    você pode buscar outro tipo como long long, porém, se quiser um conselho, números de telefone se costuma guardar em strings pois é melhor para processar.

    Ok man, eu troquei kkk, me tira outra dúvida;

     

    Como eu faço pra implementar as funções

    escrever e ler files

     

    eu escrevi assim 

    mas não sei implementar junto a essa minha estrutura, tu podes fazer pra mim? ajudaria muito

    FILE *file;
    file = fopen("teste.txt", "w");	
    fprintf(file,"Testando texto");
    fclose(file);	

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Essa é a forma de faze-lo em C. Em c++ se usa streams.
     

    1 hora atrás, DoodohRafael disse:

    tu podes fazer pra mim?

    Não é permitido fazer trabalhos para o pessoal(regra do fórum). Podemos ajudar em duvidas pontuais. Desculpe.:oops:

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Postado (editado)
    2 minutos atrás, vangodp disse:

    Essa é a forma de faze-lo em C. Em c++ se usa streams.
     

    Não é permitido fazer trabalhos para o pessoal(regra do fórum). Podemos ajudar em duvidas pontuais. Desculpe.:oops:

    :tw_cold_sweat:

    tentei fazer assim, mas não funciona

    void salvar(){
        
    aux=prim;
    if(aux!=NULL){
        FILE *file;
        file = fopen("teste.txt", "w");    
        fprintf(file,"Texto de teste");
        fclose(file);
    }

    Editado por DoodohRafael

    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

    ×