Jump to content

Ajuda em programa em C


blue_ice
 Share

Recommended Posts

Boa tarde,

Sou novo aquino forum, quero colocar uma quetão para um programa em c que estou a fazer para a faculdade, estou a iniciar-me em c.

o programa para  qual precisso de ajuda é: o programa deve de ler um numero inteiro positivo e escrever no ecrã a soma dos produtos dos seus digitos pelas respectiva posições qu ocupão. as posições são enumeradas da esquerda para a direita e deve começar no 1. o programa deve certificar-se que  numero lido e valido e que todas as condições de erro são tratadas de forma adequada. o programa deve de possuir um ciclo de leirura  e ser capaz de processar mais de um numero de cada vez. valores como 215as22 devem de ser considerados invalidos.

so posso usar esta materia para fazer este programa: dados simples, apontadores, estruturas de controlo.

o meu probelema é por o programa a dizer que este nº 255as5 não e valido.

como e que eu faço este tipo de validação?

Link to comment
Share on other sites

#include <stdlib.h>
#include <stdio.h>

int main()
{
    unsigned int num ;
    char c;

    system ("chcp 1252");
   /*while(1)*/
    {
        printf("Introduza um numero: " );
              if (scanf(" %d%c",&num,&c) != 2)
               printf("erro na leitura\n");
               num=0;
    if (c != 10)
        printf("O número que inseriu não e valido\n");
    }
}

este codigo faz a validação o problema é quando meto o while a funcionar, basta introduzir uma letra em primerio lugar que ele fica logo em lop. como e que consigo resolver este problema?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.