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:  
Entre para seguir isso  
Asteca94

Problema com vetores em Dev-C++

Recommended Posts

Olá, sou novato na área, conheço pouco sobre programação e estou com uma dúvida aqui.

Edit@@ Consegui resolver esse problema, tenho outro que encontra no fim do post.

Meu professor pediu para fazer um programa que o usuário informa o número + o DDD e o programa imprime na tela ambos usando um vetor.

O usuário digita apenas os números e, com o printf eu coloco os caracteres: '(', ')', '-'. para ficar +/- assim (34) 3154-8461

Porém, quando o usuário digita um caracter errado (uma letra, por exemplo), o programa dispara um bipe e a letra não é armazenada pelo vetor.

O programa também oferece a escolha de fazer tudo de novo se o usuário quiser informar outro telefone ....

Eu fiz e ficou desse jeito, porém tem 2 erros que o compilador não encherga:

1 - depois do usuario colocar o DDD, o programa imprime um 8 na tela .. WTF??

2 - no final, quando eu escolho fazer tudo de novo e aperto 's'/'S', o programa apenas dá uma "atualizada" na tela e eu não posso fazer nada.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main()

{

char continuar = 's';

int fone[10], i;

while((continuar=='s')||(continuar=='S'))

{

system("cls");

printf("\n\tDigite seu telefone e seu DDD: (");

for( i = 0 ; i < 2 ; i = i + 1 )

{

while((fone>9)||(fone<0))

{

fone = (int) getch() - 48;

if((fone<0)||(fone>9))

printf("\a");

}

printf("%i",fone);

}

printf(") ");

for( i = 2 ; i < 6 ; i = i + 1 )

{

while((fone>9)||(fone<0))

{

fone = (int) getch() - 48;

if((fone<0)||(fone>9))

printf("\a");

}

printf("%i",fone);

}

printf("-");

for( i = 6 ; i < 10 ; i = i + 1 )

{

while((fone>9)||(fone<0))

{

fone = (int) getch() - 48;

if((fone<0)||(fone>9))

printf("\a");

}

printf("%i",fone);

}

printf("\n\tSeu DDD é: %i%i",fone[0],fone[1]);

printf("\n\tSeu telefone é: %i%i%i%i%i%i%i%i",fone[2],fone[3],fone[4],fone[5],fone[6],fone[7],fone[8],fone[9]);

printf("\n\n\tDeseja inserir outro numero ?\n\ts para sim\n\tn para nao\n\t ");

continuar = getche();

}

return 0;

}

Como eu disse anteriormente.. Sou leigo no assunto também.. Não conheço ponteiro ainda e nem múltiplas bibliotecas.

Tentem me explicar do jeito mais básico possível rsrsrs

e Eu uso o programa Dev-C++

Edit @@:

Galera, consegui fazer o programa rodar. Tentei e tentei até conseguir. Eu só tinha que dar um valor para fone antes de começar o while e pronto. ^^

---

Só que agora tenho outro problema, um mais difícil.

O exercício pede que eu face um programa que pede para o usuário digitar um número e o programa imprime na tela o número decomposto com múltiplos de 10, exemplo:

Usuário digita: 435

Programa imprime: 4*10^2 + 3*10^1 + 5*10^0

Obrigado rs

Editado por Asteca94
adição e remoção

Compartilhar este post


Link para o post
Compartilhar em outros sites
Só que agora tenho outro problema, um mais difícil.

O exercício pede que eu face um programa que pede para o usuário digitar um número e o programa imprime na tela o número decomposto com múltiplos de 10, exemplo:

Usuário digita: 435

Programa imprime: 4*10^2 + 3*10^1 + 5*10^0

Obrigado rs

#include <cstdlib>
#include <iostream.h>
#include <math.h>

int main()
{
int num, aux;
cout << "Insira o número para ser fatorado: ";
cin >> num;
for (int i = 8; i > 0; i--)
{
if (num >= pow(10,i))
{
for (int j = i; j > 0; j--)
{
aux = trunc(num/pow(10,j));
cout << aux << "*10^" << j << " ";
cout << "+ ";
num = num-trunc(aux*pow(10,j));
}
i = 0;
}
}
cout << num << "*10^0\n";
system ("pause");
return 0;
}

Testado e funcionando. Perceba que ele só funciona até 999999999, pois meu for inicia em 8.

Editado por Ghost Killer

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

Entre para seguir isso  





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

×