i finally crunched this program out... sorry for all the confusion, i'm new to C++ and am anxious to learn... the program below works fine but i need it to repeat a certain section if they enter a number that's not 4 digits long... i have it to say "Must be 4 digit number." but then it kicks out of the program, i know it's because of the "system(pause)" thing, but i have that in there only until i get the loop to work... i want it to keep asking them for a 4 digit num. until they enter a 4 dig. number.... thanks guys...
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <process.h>
#include <ctype.h>
#include <iostream.h>

char initial[5];     //declaration of variables and character string
int initialint, i, x, y, num;

void swap(int a, int b); // function prototypes for swapping/sorting.
void sort_des();
void sort_asc();

void main()
{

	cout<<"Please enter a 4 digit non-zero number..."<<" ";  //gets initial value
	cin>>initial;
	initialint=strlen(initial);
	if(initialint!=4)          //checks to see if number is 4 digits in length
	{
		cout<<"Must be a 4 digit number."<<endl;
        system("pause");
	}

	for(i=0; i<4; i++)
	{
		if(!isdigit(initial[i]))   //makes sure it is only digits and not letters or characters or something
		{
			cout<<"Must be numbers only."<<endl;
			system("pause");
		}
	}

	 while(strcmp(initial, "6174")!=0)  //checks to see if it is 6174 or not
	{
		cout<<""<<endl;
		sort_des();                //prints out the new numbers of the desc. and asc. strings
		x=atoi(initial);
		cout<<"  "<<initial<<endl;
		sort_asc();
		y=atoi(initial);
		cout<<"- "<<initial<<endl;

		if(x==y)      // this is to exempt the '9999, 8888, etc.' or zero
		{
			cout<<"Does not apply..."<<endl;
			break;
		}

		num=x-y;   // subtraction for descending and ascending
		sprintf(initial, "%4d", num);
		cout<<"------"<<endl;
		cout<<"  "<<initial<<endl;

        cout<<""<<endl;    // repeated this section of code to double up the "6174" at the end like on the homework paper.
		sort_des();
		x=atoi(initial);
		cout<<"  "<<initial<<endl;
		sort_asc();
		y=atoi(initial);
		cout<<"- "<<initial<<endl;

		if(x==y)
		{
			cout<<"Does not apply..."<<endl;
			break;
		}

		num=x-y;
		sprintf(initial, "%4d", num);
		cout<<"------"<<endl;
		cout<<"  "<<initial<<endl;
	}

	cout<<""<<endl;
	system("pause");
}



void swap(int a, int b)   // function definition for swapping characters in the string
{
char t;

	t=initial[a];
	initial[a]=initial[b];
	initial[b]=t;
}

void sort_des()         //function definition for sorting characters into descending order
{
int s, f;

	for(s=0; s<initialint-1; s++)
	{
		for(f=s+1; f<initialint; f++)
		{
			if(initial[f]>initial[s]) swap(f, s);
		}
	}
}

void sort_asc()        //function definition for sorting characters into ascending order
{
int s, f;

	for(s=0; s<initialint-1; s++)
	{
		for(f=s+1; f<initialint; f++)
		{
			if(initial[f]<initial[s]) swap(f, s);
		}
	}
}
i know the loop needs to be right around in here, but i'm not certain how to do it...
Code:
if(initialint!=4)          //checks to see if number is 4 digits in length
	{
		cout<<"Must be a 4 digit number."<<endl;
        system("pause");
	}