Problema de C (Ayuda)

Obtener un algoritmo que corresponda a un programa que construya un número con una serie de cifras dadas por el usuario.

A ver si me podéis ayudar un poco con el pseudo-código al menos...muchas gracias!
Para no complicarte la vida define un máximo de cifras, reservas un array de enteros de n elementos (según el máximo de cifras), pides números entre 0 y 9 y los almacenas en el vector y luego los vas sumando en un entero o entero largo (mirate los límites de los enteros) y multiplicando por la base elevada a la posición de la cifra en el número. Si estás en base 10, pues multiplicas por 10 las decenas, por 100 las centenas, etc.
Pufff...así leído la verdad es que no te entiendo mucho, estoy empezando con el módulo...jaja.
¿Y no será que el usuario introduce una cadena de caracteres, y el programa tiene que devolver el valor en entero? Si es del 0 al 9 ¿no se podria hacer con un 'switch-case'?
wenas, yo tambien tengo un prolema parecido a ese lo que supuesta mente hace el programa es si tu introduces el 6 el 5 y el 4 el programa te tiene que devolver el numero 654. lo que pasa que korso10 lo a explicado bien pero asi = es un poco dificil de ver. un saludo y aver si alguien puede ayudar
pues mas o menos vendria a ser una variable declarada como string y a cada nueva introduccion del usuario sumarla como cadena,necesitas un array vamos.
El profesor ha dicho cuantas pulsaciones como maximo se pueden introducir? o no hay limite?
Yo me imagino que no haya límite de pulsaciones si no lo dice el enunciado...pero aún así no sé hacerlo :S:S:S
yo creo que no tienes que usar ningún array ni string, simplemente dos integer (o long, según las ganas de meter números del que lo use). lo que yo haría es algo así:
inicializo int numero = 0; integer digito; boolean seguir;
seguir = true;
do while (seguir = true)
"introduce número"
digito = scanf %d
numero = numero *10 + digito (con esto ya soluciono el tema de que cada nuevo número hay que multiplicarlo por 10 y me dejo de lios de arrays y como de primeras está inicializado a cero también funciona en la primera iteración)
"introducir más?"
si: nada;
no: seguir = false;
end while

al multiplicar el número anterior por 10 ya estás desplazando hacia la izquierda toda la cifra, y sólo tienes que sumarle el nuevo número para completarlo.
como dije antes así te evitas andar con tablas, punteros o historias, fácil y punto :)
la sintaxis como ves es lamentable, pero la tengo olvidada, jeje
un saludo.

editado un poco, jeje.
A ver, así sin compilar ni nada... XD

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

int main ()
{
      int i, cifras, aux, numero = 0;

      printf("Introduce el numero de cifras: ");
      scanf("%d", &cifras);
      printf("\n");

      for(i = 0; i < cifras; i++)
      {
            printf("Cifra %d:", i + 1);
            scanf("%d", &aux);
            numero += aux * pow(10, cifras - i - 1);
      }

      printf("\nResultado: %d\n\n", numero);
     
      system("pause");
      return 0;
}
8 respuestas