cstdlib is the up to date version of stdlib. The older C header files like stdlib and stdio have been replace with versions prefixing the older version with a c, so stdlib became cstdlib and stdio became cstdio.
If the compiler you are using won't accept cstdlib then try stdlib. But, given the quality of the free DevC++ IDE (and bundled compiler) and the (for now) free version of VC++ both available on line for the taking, you should give serious thought to changing your compiler unless you are required (for example your instructor/school/employer require you to use your current compiler. After all three posters all recommending the same thing should carry some degree of reliability that you are getting good advice!
If you are trying to learn how to drive a car, would you start out by learning how to drive horse & buggy as people did 200 years ago? They why try to learn programming with a very very old and outdated compiler?
There are probably several ways to solve your problem. One way is to use printf() with the width specier. For example, printf("%5d", 12) will print the number 12 right-justified in a field of 5 characters -- it will be padded on the left with spaces. Replace the 5 with * and you can specify the with in the first paremter to printf. for example, printf("%*d", 5, 12);
You can use that little bit of information to format the lines like you want them. First determine the maximum width of the output -- say 123 * 11 == a 4 digit number.
Now, instead of hard-coding the numbers as I did above, you will want to replace the with program variables.
I know that can also be done with c++ cout, but I'm pretty lousy with that so I won't even try to show you. I prefer printf() for anything more than triviel output because to me printf() is easier to use.
can i concate two integers
int c = (a*100) + b;
as a general rule you would not want to do that because if a or b are large enough it will cause data overflow and provide the wrong answer. If you are certain the values are small enough then it would be ok.