Mauricio Caetano Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 Preciso fazer um programa que funcionaria assim:Digita-se um número inteiro com 3 algarismo (ex: 127), e mostra-s individualmente na tela, mostrando o número da casa da centena, dezena e unidade...Assim:Digite o número aqui: 129Centena: 1Dezena: 2Unidade: 9Não tenho idéia de como se faz...Alguém pode me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 se você tirar o resto da divisao por 10 (operador %), você consegue saber o ultimo digito.depois, se você tirar a divisao inteira do numero por 10, você obtem o numero sem o ultimo digito (exemplo, transforma 1234 em 123).tirando o resto de novo, você consegue o proximo digito. e assim por diante. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauricio Caetano Postado Agosto 30, 2010 Autor Denunciar Share Postado Agosto 30, 2010 E como faz isso no programa? oO (sou iniciante) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 Qual o seu conhecimento da linguagem? Sabe declarar variáveis e efetuar operações matemáticas? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauricio Caetano Postado Agosto 30, 2010 Autor Denunciar Share Postado Agosto 30, 2010 Mais ou menos... Efetuar operacões não Oo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Agosto 30, 2010 Denunciar Share Postado Agosto 30, 2010 Para efetuar operações você faz algo mais ou menos assim:int a, b, c, d; //declara as variáveis a=34; //atribui o valor 10 à variável "a" b=6; //atribui o valor 6 à variável "b" c=a / b; //efetua a divisão inteira entre 34 e 6 (c=5) d=a % b; //resto da divisão entre 34 e 6 (d=4 pos 34=6x5+4) Veja se isso lhe ajuda. Outra opção é obter diretamente o número como string (se já tiver estudado) e acessar diretamente as posições: char* minhaString="465"; int centena=minhaString[0]; int dezena=minhaString[1]; int unidade=minhaString[2]; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauricio Caetano Postado Agosto 31, 2010 Autor Denunciar Share Postado Agosto 31, 2010 E como ficaria o programa pronto? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Agosto 31, 2010 Denunciar Share Postado Agosto 31, 2010 (editado) E como ficaria o programa pronto?Não dá pra saber, o programa pronto depende de detalhes do desenvolvedor. Por exemplo, você quer que o programa mostre uma mensagem de erro se o usuário introduzir um número que não tenha dígitos? Como vai armazenar a entrada? Vai separar os algarísmos em instruções diferentes, vai usar uma função recursiva ou um um laço de repetição? O loop será pré-teste ou pós -teste? A string de saída será feita durante o processo de separação ou depois? A string de saída será feita com um switch ou a partir de um array com o nome das casas do número?. Tem que pensar, amigo... Não há uma única possibilidade de projeto, portanto não há uma única solução e portanto não há como dizer como ficaria O programa pornto. Poderíamos fazer um programa pra você (e talvez até cobrar por isso) se fosse esse o objetivo desse fórum, e o seu programa pronto, com a sua maneira de resolver, nunca vai existir a menos que você faça.Simbora, ânimo! Começa analisando o problema::Digita-se um número inteiro com 3 algarismo (ex: 127), e mostra-s individualmente na tela, mostrando o número da casa da centena, dezena e unidade...Assim:Digite o número aqui: 129Centena: 1Dezena: 2Unidade: 9Dividindo-o em problemas menores:1-) Receber um número de 3 algarísmos2-) Separar os algarísmos3-) Montar a string de saída4-) Mostrar a string na telaAgora pensa como vai ficar a main()int main(void) { // Declaração de variáveis // Problema 1: Ler entrada // Problema 2: Separar os algarísmos // Problema 3: montar a string // Problema 4: mostrar a string na tela return 0; } E agora é só começar a resolver... Para o problema 1 o Jonathan sugeriu que o programa recebêsse a entrada com uma string: Pensa na sua função main() int main(void) { // Declaração de variáveis char numero[3]; char *extenso; // Aqui pode se armazenar o número por extenso // ... // mais variáveis?... // Problema 1: Ler entrada printf("Digite um inumero de 3 algarismos: "); scanf("%s", &numero); // Problema 2: Separar os algarísmos // A idéia do Jonathan de ler o número como string já faz com que os algarismos fiquem separados // Problema 3: montar a string // Um loop com 3 repetições? // ... // Problema 4: mostrar a string na tela printf("Numero por extenso: %s", extenso); return 0; }... e por aí vai!P.S.: É claro que você vai fazer o programa usando só o que você já sabe, o seu conhecimento também define o programa final. Outras pessoas conhecem outras coisas implementarão soluções diferentes. Editado Agosto 31, 2010 por == Douplus == Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ce1o2e Postado Agosto 31, 2010 Denunciar Share Postado Agosto 31, 2010 (editado) Preciso fazer um programa que funcionaria assim:Digita-se um número inteiro com 3 algarismo (ex: 127), e mostra-s individualmente na tela, mostrando o número da casa da centena, dezena e unidade...Assim:Digite o número aqui: 129Centena: 1Dezena: 2Unidade: 9Não tenho idéia de como se faz...Alguém pode me ajudar?tem uma maneira mais facil se for em C\C++ crie um array char que cada numero vai ficar em um local array[0] = 1 array[1] = 2 array[2] = 9 pronto simples né ^^@editcodigo de exemplo#include <iostream> #include <string.h> using namespace std; int main() { char array[4]; printf("digite um valor: "); cin.get(array, 4); for(int x = 0; x < 3; x++) { cout << "digito: " << array[x] << endl; } cin.get(); cin.get(); return 0; }compilado em dev c++ ... Editado Agosto 31, 2010 por ce1o2e Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauricio Caetano Postado Setembro 1, 2010 Autor Denunciar Share Postado Setembro 1, 2010 // 0000113 -- digite aqui o seu numero de matricula // Jose Garibaldi de Carvalho -- digite aqui o seu nome completo // modelo.c -- digite aqui o nome do programa #include <stdio.h> #include <conio.h> IMP_NOME() { clrscr(); gotoxy(50,1); // se necessario, ajuste a coluna printf("DIGITE AQUI O SEU NOME COMPLETO"); return(0); } main() { IMP_NOME(); // a partir deste ponto desenvolva o seu programa getch(); }Galera, este é um modelo de programa, para iniciarmos apartir daí... Nada de muito avancado aprendemos, então, acho que deve ser o programa mais simples possivel..Como seria? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mauricio Caetano Postado Setembro 1, 2010 Autor Denunciar Share Postado Setembro 1, 2010 Seguinte, recebi um dica:Para fazer aparecer a centena , basta não uttilizar o comando ''float'', e ficará assim:Ex.: O número é 475Se dividi-lo por 100, sem o float, retornaria o 4 (casa da centena)...Mas, se eu não usar o float, qual comando eu uso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 1, 2010 Denunciar Share Postado Setembro 1, 2010 Já foram postado códigos prontos acima (não testei, mas acredito que funcionem). Basta usar como exemplo e, se não entender algo, postar a dúvida mais especificamente (assim é mais fácil ajudar).Em relação a não usar o float, provavelmente foi para efetuar a divisão inteira (como sugerido inicalmente pelo kuroi). Ao invés de float (número de ponto flutuante) você pode utilizar int (número inteiro). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno Cândido Postado Setembro 20, 2020 Denunciar Share Postado Setembro 20, 2020 (editado) Em 30/08/2010 em 10:06, Mauricio Caetano disse: Preciso fazer um programa que funcionaria assim: Digita-se um número inteiro com 3 algarismo (ex: 127), e mostra-s individualmente na tela, mostrando o número da casa da centena, dezena e unidade... Assim: Digite o número aqui: 129 Centena: 1 Dezena: 2 Unidade: 9 Não tenho idéia de como se faz... Alguém pode me ajudar? Boa noite! Se ainda estiver precisando do programa, segue detalhado em C++. #include<stdio.h> #include<stdlib.h> int main() { int u,c,d,auxd,num,inv; // Entrada de dados do usuário. printf("\n=== Terceira Questao ==="); printf("\n\nInsira o numero que deseja inverter: "); scanf("%i",&num); // Cáculo das informações e resultado. c=(int)num/100; auxd=num-(c*100); d=(int)auxd/10; u=num-((c*100)+(d*10)); inv=(u*100)+(d*10)+(c); // Resultado. printf("\nO numero da forma invertido é: %i",inv); printf("\n\nO numero que foi invertido era o: %i",num); return 0; //Fim do programa. } Editado Setembro 20, 2020 por Bruno Cândido Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mauricio Caetano
Preciso fazer um programa que funcionaria assim:
Digita-se um número inteiro com 3 algarismo (ex: 127), e mostra-s individualmente na tela, mostrando o número da casa da centena, dezena e unidade...
Assim:
Digite o número aqui: 129
Centena: 1
Dezena: 2
Unidade: 9
Não tenho idéia de como se faz...
Alguém pode me ajudar?
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.