Si aun no quedas claro como funciona te dejo el programa completo de ejemplo para que lo pruebes
//****************************
//--------------------------------------------
#include <cstdlib>
#include <iostream>
using namespace std;
bool validarCantidadDigitos(int d, float cant);
int main(int argc, char *argv[])
{
int dig;
int cantidad;
printf("cuantos digitos deberia tener la cantidad ");
scanf("%d",&dig);
printf("cual es la cantidad ");
scanf("%d",&cantidad);
if(validarCantidadDigitos(dig, cantidad))
printf("correcto\n\n");
else
printf("incorrecto\n\n");
system("PAUSE");
return EXIT_SUCCESS;
}
bool validarCantidadDigitos(int d, float cant){
bool v=false;
if((d==1)&&(cant==0)) v=true;
int unidades=1;
float validador=0;
for(int i=1;i<d;i++)
unidades*=10;
validador=cant/unidades;
if((validador>=1)&&(validador<10)) v=true;
return (v);
}
//------------------------------------------------------------------
//******************************************