Just out of curiosity, how is the output different than what you think it should be?
As far as syntax errors, I don't see any. I am a tad busy at he moment, so I will look again later. Nothing pops out at me as blatantly wrong though.
EDIT: Silly me. I was just looking for errors, and I didn't pay any attention to what you were doing. You are making it way too hard.
As I said before, there is no single right way to do a program. All you are doing is problem solving, and pretty much any problem can be broken down into a series of steps that you can write down on paper. Once you have it down on paper, then you can write the program to solve it. Here is my solution, keeping in mind that there are much more simple ways of doing this, but at this point, you wouldn't know any of those.
1) Get the input and store it in originalNum. (We will say the number is 1234)
2) Initialize num1=0;
3) Divide originalNumber by 1000, and store that result in num1. (num1=1)
4) Print out num1 which contains the result of our number divided by 1000. (you already had this part figured out) (prints out 1)
5) Subtract from my original number to get rid of the thousands place and store that in originalNum.(We want to be left with 234)
6) Divide my new originalNum by 100 to get the hundreds digit, and store that result in num1 (num1 now holds 2)
7) Print out num1.
8) Subtract from my originalNum to get rid of the hundreds place and store that in origianlNum. (We want to be left with 34)
9) Divide originalNum by 10 to get the tens digit, and store that in num1. (num1 now holds 3)
10) Print out num1.
11) Subtract from originalNum to get rid of the tens place and store that in num1. (num1 now holds 4)
12) Print out num1.
***************
In reality, you can combine a few of those steps, but that is the basic process.
So going through the steps one by one. You should be pretty clear on steps 1,2, and 3.
int num1;
int originalNumber;
cout << "Enter a four-digit positive integer: ";
cin >> originalNumber;
num1 = originalNumber/1000;
cout << num1 << endl;
Step 5 might seem hard, but you need to remember that you already have the number in the thousands position stored in num1, so all you need to do to get rid of the thousands place is the following:
originalNumber=originalNumber -(num1*1000);
Steps 6 is a repeat of step 4, except you use 100 instead of 1000; same for step 8. Step 9 repeats step 6, except using 10 instead of 100, etc.
Draw it out on paper, and keep track of what each variable is holding before you do any coding at all.