Left Quote    If at first you don't succeed, redefine success.
- Anon.    
Right Quote
[login] | [Register]

Beginning Visual C++ 6.0

by: bs0d
Page: 1 of 10
(View All)


This tutorial is going to cover the basics of Visual C++. I will be covering alot of the basics, so this should be a good start to anyone wanting to learn C. I could go into more details on all the functions, classes, objects ect. but that is another article for another time.

How it works...

Visual C++ 6.0 is designed to help you build your C++ programs and has a debugger and compiler and everthing all in one, so you dont have to bother with any of that. The source code you write will be saved in a file with a .cpp extension (the cpp stands for C plus plus). The compiler will translate the higher-level instructions you wrote into machine language ( 1's and 0's). This is what the computer doesunderstand. So when you compile the program, the compiler will aso create a file with a .obj extension (obj for object). And finally, once the compiler creates the object file, the linker is then executed. The linker will take the object file and combine additional machine code nessary for it to run correctly, and an executable file is then created, which has an extension of .exe (exe for executable). If all is well, you can run the .exe file over and over without need of anymore translating and such. This is your final product.

Algorithms, Flowcharts and IPO Charts

I have worked with numerous programming languages. Each time you're learning the code; programs, flowcharts, or algorithms will be mentioned to help you in the design process. Generally, I would ignore these because it was easier for me to write the program, and if it was required, I would go back and whip up a flowchart or algorithm. However, when I began learning Visual C++, It does help if you're at a beginning level to use these to your advantage.

Flowcharts and algorithms are not the only way to plan out your program. Programmers also use what are called IPO charts to organize and summarize the results of their problem analysis. IPO is for Input, Process and Output. This is a simple table that has 3 columns. The first column is Input. In this column, place what you will need as input for the program. What data will be required as user input, like hours worked, or rate of pay. Then, the second column is Processing and processing items. This is where you will make up an algorithm for how your program will work. The processing items will be like counters, ect. Finally, the third column is for Output. What will your results be? What do you need to show to the user. This data will be here.

This is all to help you out, and as you begin to disect various programming problems you will get better each time and eventually, you may begin to shy away from IPO charts, and that of the like. But even further on, you may find them quite useful to break down really large programs that you need to work on.

Declaring your variables

If you are experienced in other programming laugages like visual basic or javascript, you will find out that they have made you life quite easy when it comes to coding. The number one difference you will find opposed to other various langauges is that you are required to declare each variable and its type before it is used. In programming before, you could just say:

This is no longer the case. You will get errors (in the linker at the bottom of Visual C++) like, "Unidentified identifier" or "undeclaredvariable" --something like that. The good thing is, that it will give you an idea of where the error is. Try not to pay too much attention to the exact line, because that may not always be the case. Anyways, If you wanted to do the calcuation above in Visual C++, it would look like this:

Don't worry about your variable ans being = to zero at first. This is just the initial value that needs to be set.


Int stands for integer. And their are other types of integers (short, long, and int).

There are also Floating-point numbers. These are numbers that contain a decimal. And there are other types of float numbers (float, double and long double). To declare a floating point number, it would look like this:

quite similar to int, just remember it has a decimal, so when you declare it use a decimal.

char is another type. This is short for character. A char is one character enclosed in single quotation marks. Some programmers pronounce it as "care", others say "char" like in charcoal- at any rate, you would declare a char like this:

String is a data type you will use. This is zero or more characters enclosed in double quotation marks. When you use a string, this is what the code should look like:

Finally their are boolean values. If you do not know, boolean is either True or False. Instead of using the full word boolean like in Visual Basic, you will use bool. Take a look below:

Declaring Variables

You want to make it a habit to declare your variables correctly, and not to mix them back and forth, this will cause tedious errors in your programs and can produce weird results because they are stored in a special memory location depending on the type. It can get quite technical. I'll explain a bit.

The computer stores numeric data in binary code, and character data in ASCII codes. 0 (zero) in AScII = 48; 0 (zero) in binary = 00110000. C++ will store it according to the data type -- so say you have the number 9. Well, if you assign that the type int: its memory location will read as the binary number 1001 (one 1 + one 8). If the data type is char: its memory location will will be stored as a character using ASCII code 57, which is represented in internal memory as 00111001 (one 1 + one 8 + one 16 + one 32). Catching on?

I will show you in a code sample, and you can later on execute the code to see the results for yourself.

the results will read for var1: 65, and for var2: A. Eventhough they equal the same thing, the results are different based on the datatype, because 01000001 is interpreted for a character as the ASCII code 65, which is equivalent to the letter, A. However, when you declare the type as int, 01000001 is interpreted as the binary code for decimal number 65.

Basic Structure

Your basic layout for C++ programs can be different that what you are normally use to. The first line of your program will identify the header file you will be using. The header file I will be using is . There are many different ones that can be used. Each header file has its own syntax for performing various actions.

The beginning of each of the code samples and programs I use will look like this:

*Note, at the end of the main function you see "return 0;" - Once the function has completed everything, this will return to the OS the number 0 to indicate the successful ending.

Creating a Console Application

Again, this tutorial is for Visual C++ and for this part, it would be quite helpful if you install it on your machine so that you can follow along. But If you already have a copy, then you can start off by opening Visual C++.

  1. Click file --> New, and a new box will open.
  2. Click on the Projects tab and select the option that reads, "Win32 Console Application" from the list of project types.
  3. Now click on the Create new workspace option.
  4. You can name your project in Project name textbox.
  5. After you have named your project, click OK to close the dialog box.
  6. A new dialog box will open that reads, "Win32 Console Appication - Step 1 of 1". You want to select the option that reads, "An empty project".
  7. Click finnish and the New Project Information box will appear that shows you the details, click Ok to continue.

From here, you have now created a project and a workspace. The workspace will hold several projects, and your projects hold the source code files, ect. You have not added a source file to your project, so to do that, follow the steps below:

  1. Click Project from the top menu bar and navigate to --> Add to Project, and click New.
  2. Now select the Files tab from the new dialog box, and select C++ Source File from the list below.
  3. Now just name it using the text box under, "File name" --Click Ok and you now have a source code file to begin you work!

Be careful not to open several different source code files under the same project and attempt to compile them. Make sure that each project has only the files it needs, and start new workspace for different work. I say this because if you're working on several source files, and try to compile and you're getting an error, but cant find it -- the compiler is compiling all the source code files in the workspace, so this can create conflicting problems that are un-necessary.

cin and cout

cin and cout are two streams you use for input and outputting data. You will combine these streams with an insertion operator (<<) and extraction operator (>>). The insertion operator goes with cout stream, and the extraction operator goes with cin. "<<" inserts information into the cout stream to display on the screen, and ">>" takes data and stores into cin from the keyboard. Take a look below how they work:

This would display to the screen: "I drink Mountain Dew".


This will print on the screen, "How old are you?" and when you enter a number, "cin << age" stores the number entered into the age variable.


cin gets information from the user. But what if you wish to get a string from the user? To do this, you must use the getline(); function. The getline function has two arguments between its parenthesis. The first argument is for the source of the input, and the second is the variable to store the input received. heres the syntax: getline(cin, variable); just as you see. Glance below to see an example of cin using getline:

The code sample will display, "What is your name? " And wait for you to enter your name. getline(); stores the string you enter into the variable "name". So, after this, if you were to add the code, cout << "Your name is:" << name << endl; It would show, "Your name is: <whatever you typed>.


Notice the endl; at the end of the code samples above. This is very simple to remember, it just takes the cursor and moves it to the next line, what they call a hard break return. If you used two endl's, it would take the cursor down two lines after the statement. It is the same as using "
" in HTML.

Arithmetic Operators and Math Functions

Visual C++ uses alot of the normal arithmetic operators you might currently be use to.

  • ( ) - Overrides normal presedence rules.
  • * - for Multiplication.
  • / - Used for Division.
  • % - Modulus (unlike visual basic, where you would use "Mod").
  • + - Addition, as you might guess.
  • '-' - Negation or subtraction. Difference is that negation is unary, subtraction is binary. Unary requires one operand by the operator, binary requires two.

Notice that there is no "^" to represent exponents, like VB. This is because Visual C++ does not support that operator (like javascript). However, a function is provided to perform exponentiation. This is the pow(); function. In fact, there are many math functions that C++ does support, I will list a few:

*Note: These functions are defined in <cmath> ; so if you plan to use these in your source code, be sure to include it just as you included iostream.

  • Square root - If you wish to find the square root of x, use: sqrt(x);.
  • Sine - To find sine of x, use: sin(x);
  • Cosine - To find cosine of x, use: cos(x);
  • Tangent - To find the tangent of x, use tan(x);

Here is a complete code sample that uses a bit of what we have learned thus far:

Formatting Output

When you're working with float numbers, the amount of numbers following the decimal can be endless. If you wish, there are functions to format the number to your specifications. You can use the fixed to display the output in fixed-point notation. So first off, you would do this: cout << fixed;. Following this line, you must use the function precision(); Inside the parenthesis of this function you will enter the number of decimal places to display in each number. The sytax will look like this: cout.precision(#_of_decimal_places); These must appear before the first cout statement that display's your number. These settings will be appied then on until changed. Here is a code sample using what we just learned:

This would output: 12.35 Because of the 2 inside the parenthesis of precision. And it is rounding up. If you put a zero inside the parenthesis of precision, the program would display: 12 .

Manipulating strings and characters

Their seems to be endless functions that allow you to alter or maiplulate characters and string data. We can change the case, compare portions, replace and insert portions. We can also assign part of a string to another string. We will cover the process of each.

toupper and tolower

You can also change the case of characters in your programs. To accomplish this, you will use the toupper(); and tolower(); functions. These might come in useful if you are getting data from the user and you expect an anwer, but do not expect the case in which they will provide it. So no matter what it is, you can change it to uppercase or to lower case, then you know what you're working with.

The syntax is the same for both:
<variable> = tolower(<char_to_change>);
<variable> = toupper(<char_to_change>);

See this code sample below to check them out in actual code:


To change the case of a string, it will be a bit different because you will need to use the transform function. In order to use this function however, you will need to include the algorithm directive at the top of your program (#include algorithm). Heres how you will use it:

Now before I go along and show a code sample and move on, i'll explain exactly what you're seeing. Ok, to transform the entire string you use string.begin() as the first argument. This refers to the first character of the string.Then use string.end() as the second argument. This will actually refer to the last location at the end of the string. The third argument will store the results of the variable beginning with the first character (if its set to string.begin();). The last part is the function you will use, which will either be toupper or tolower; and will finally change the contents of the variable according to the function you provide. But dont include the parenthesis of the function within the function of transform, this will cause an error. Look at the code sample below for an example:


You can also use the compare(); function to compare portions of two strings. This can be quite useful, so here is the syntax of the compare function:, numOfCharsToCompare, string2)

Look how you can use it:

In the results of the code above, the compare function will assign 0 to a, because the two characters in the userId variable beginning with the 3rd position(2) follow to be equal to "10".

The function can return a -1, 0 or 1. This is based on the ASCII values to what you compare. Lets assume we have: str1 = "bike" and str2 = "bent" - Say you compared the first character following the second character of the string. The first characters are the same, but the second is different. str1's second character has an ASCII value of: 105, str2's second character has an ASCII value of 101. SO, since str1's char (i) comes after (is greater than) str2's character (e) in ASCII, the compare function will return 1. If it were reversed and str1 was "bent" and str2 was "bike" - the function would return -1 because (e) comes before (less than) the (i).

Replace and Insert

Not only can you compare, but you can then replace and insert. Yes, there's always something else and even at that, theres billions more thats not covered in this tutorial. You use the replace function and can replace portions of strings, just as you compared them earlier. And insert can insert data into existing strings. The syntax looks like this:

string.replace(replaceStart, numberOfCharsToReplace, replacementString)     -     (The syntax is the same for insert.)

Heres an example:

What happens from the code above is the .com is replaced with .net - Look at the replace statement. It starts with position 10 (starting with zero) and then replaced the next 3 positions with what is provided at the end of the function.


Finally I will cover the assign function. With this spetacular function (i know you're excited), you can assign portionsof one string into another! Like always, the syntax is:

destinationString.assign(sourceString,startAssign, numOfCharsToAssign)

Now, lets see how she works:

In the sample above, you see we start with a string that has first and last. We then assign into the string, first, 6 characters. And then we assign the string, last, 8 characters starting with the 7th from the fullName string.

You can use this function in another way, like duplicating characters. Say you needed an exact amout of characters and might even need to edit the amount. Instead of just assigning them by hand, like : string str1 = "________________"; You can use the assign function to assign the variable a number of characters. See the code below:

The assign statement assigns 35 of character in the 2nd argument into the string, bar. You can easily change that 35 to 1000, or whatever. Thats an advantage to you.

If / Else

Moving on a bit, we'll talk about conditions. In C++ you'll be making some decisions in your programs, so If else and elseif come to the rescue! The syntax is pretty much standard, but again its all different; like opposed to Visual Basic. So follow these syntax guidelines:

if (condition) {
     do this
      and this

  } //end if
  else {
      do this
      and that

  } //end else

If you only have one statement, then the brackets are not required. The operators you will use are:

  •  < -less than
  •  <= -less than or equal to
  •  > - greater than
  •  >= - greater than or equal to
  •  == - equal
  •  != - Not equal.
  •  && - And (both conditions on each side of && must be true)
  •  || - OR (only one condition on either side has to be true)

*Note: When you use varX = something; thats different when you are comparing something in your condition and use '==', dont try to use '=' in your condition or you will get an error. Thats pretty common occurance, so be alert!!

Lets get a code sample started showing you the ropes using if/else and some operators:

You can look at that and make out whats going on. On the bottom condition with the letters, I defined the the characters as character literal constants (single quotes, [string liter consants are double]) so there is a difference between the case of the letters.

Nested Conditions

Thats about all there is to If/Else, unless you're unaware of working with nested conditions. This is where you will build multiple conditions to each er, condition. Like for example heres another code to look at (just the meat):

The inital condition is asking for gender, if you answer 'male' then you are also asked if you are over 21, if you say 'yes' it shows message, if you say no, it shows a different message. And if you answer anything other than 'male' to the first condition, it shows the last message.

Else-if and SWITCH

Technically, you can set more conditions upon conditions... Another method is to use else if. I will say right now that its not necessairly worth using if you have alot of conditions, i would use it on only a few conditions, because there is a better solution to multiple conditions. Before I get there, heres how you can use else if:

if(something == 'this' || something == 'THIS')
do this
else if(something == 'that' || something == 'THAT')
do that
else if(something == 'this-n-that' || something == 'THIS-N-THAT')
do this-n-that
do nothing

I think thats fine, a few conditions and else if never hurt anyone, but if you want to save your fingers and have quite a few conditions to deal with, I recommend to you switch. It will be easier to read and can deal with alot of conditions quite easily. All you need to know is the syntax, so here it is to follow:


case 'A':
case 'a': <code to do something here>
case 'B':
case 'b': <code that does something for these conditions>
case 'C':
case 'c': <something for these conditions>
default: <code that executes if VARIABLE meets none of the above>
} //ends switch

Let me explain a bit. You include in the parenthesis your variable you want to perform the check on. If the value of that variable meets the case of 'A' or 'a' it will execute the code stated on the last condition if a case is blank. Just like you see with each condition, the code of case 'a' would also be executed if the variable's value was 'A' - Notice at the bottom is default: This is the code that will execute if none of the cases match the variable. Now after the code you want executed, on the next line is a break statement. The break statement will break the switch, or drop out of it and continue on with the rest of your program.

While loop

The while loop is pretty easy to get use to and can be quite effective for repeating code for you. Here is the syntax of a while loop:


statements to be executed
will go inside the braces

} //ends the while loop.

Just like for/next, its not required to have brackets ({ and }) if you only have one statement within the loop, but again its good pratice to include them and it wont hurt anything.

Now check out the code sample and see a while loop in action:

Simple enough right? You can nest while loops with other loops and all that neat stuff, so play around with that if you like, were going to move right along to the the for loop.

Do While loop

This loop is similar to the while loop, but this one is a posttest loop where the condition is set after the statements. Here is the syntax for a do while loop:


statements to
be executed

} while (<condition>);

I haven't found myself using a do while loop much often, but it does have its purposes. Here is a smiple code sample that will how you how to use a do while loop in your Visual C++ program(s):

There you have it. Watch out for infinite loops. These are loops that never end, so your program keeps running and running, draining your resources. This may occur in the code above if we incremented count, but set the condition to be a negative number. Count will never be negative, so the program never ends! If this does happen, you can quickly close the DOS window by pressing the "X" in the top right hand corner, or by using the keyboard shortcut "ctrl + c" should do the trick.

For Loop

For loops are likely a good reason why do while loops are not often used (for me) and perhaps by others as well. The reason is that for loops provide a more compact way of writing counters and such. Look at the syntax:

for(initilization; condition; update)

statements to
be executed

} // end for loop

The for loop has three arguments. Initialization is for example where you would set the # for the counter to begin with. The second statement is the condition. This would be how long you want the counter to count. The third is update, where you update the value of the counter. Heres a simple example:

That code sample would count to 10, with a number on each a new line.


Arrays can get complex, and confusing - expecially when you get into multi-dimensional arrays. But im just going to cover the basic array. Depending on how you will use the data, is depending on how you will declare the array. you can declare each element like this:

Or, you can assign them all the same value with one statement:

You can store data into an array with a loop:

They are as hard as you make them I guess. I haven't worked much with multi-dimensional arrays in Visual C++, so I believe thats a pretty good start with arrays.


Now we'll take a peek at the way functions will operate. We've already touched base with some of the functions that exist, but not how to use them in your programs. To start off, there are 'program-defined functions', 'built-in functions' and 'value-returning functions.' A program- defined function is one you will create on your own! Built-in functions are functions that already exist in the library files (like sine(); and cos();). And a value-returning function is exactly what its called. Once its completed its task, a value is returned to the statement that called the function.

I shouldn't have to go into the advantages of functions, you all should know. Instead of wasting time on that, lets take a look at how the functions will appear, or how you construct them.

a value-returning functions syntax:
returnedDatatype theFunctionName([parameter list]) {
statements here...
return expression;

If thats a bit confusing, just take a look at the sample below:

These might generally be used when called from a statement that is going to show the results of the function, assign the value to a variable or use it in other calcuations.

You see where you declare the parameters for you function? Be aware to the fact that these variables you define are not global; They are to be used only by the function itself, so if you're trying to use them elsewhere, you'll know why you're getting the error.

In your program you will need to declare your function, let c++ know what its all about. This is commonly refered to as the function prototype. So as a habit, before you start int main(); declare your function prototypes of your program defined functions, like this:

Also, when you begin writing your functions, they should be written at the end of the main function like under the comment of the example above.

This is one side of the circle, the other end is calling the function. You can call them in different ways, like within a cout statement, like this:

or set a variable:

If there are no parameters in the function, its considered a void function. You would use these functions to show information, like a form. In the same respect, to call a void-function it will appear on a line by itself. And you need to place VOID before the name of the function ALSO; you dont need a RETURN statement because its not returning a value. Take a look:

Now on to other stipulations like when using more than one parameter in the function, be sure you call the correct number of arguments- take a look:

What im getting at, is just to keep in mind like in the code sample, if I said: answer = aProblem(var1); we would get an error because the way the function was set is to have two variables passed, not just one.

There are two ways in which you can pass information to a built-in function. If its a variable, it can be passed by reference, or by value. This can be a bit confusing but perhaps you'll catch on after seeing samples later on. When the variable is passed by value, only the value is passed. When passed by reference, the address of the variable in the computers memory is passed. If pass by reference, the contents of the variable can change, and not just obtain the value of the variable at the time. At any rate, default is pass by value (for C++).

Passing by Reference

If you choose or your program requires that your function needs access to the variables so that the value of can be changed, you will create the function a bit differently, yet easy to remember. Just include the amperstand (&) character before the variable(s) in your function header, and after each type in the function prototype. Look below:

At first I wasn't going to write all of the code out above, but really to get the full concept its all essential. See how we put the & after the data type in the function prototype, and before the name of the variable in the function header at the bottom. AND do you see now how passing by reference is working? if getSomething(); just took the values of aNumber they would be zero, but instead it obtained the reference to them, and applied the user input number, and they equal whatever was assigned to them.

Working with Files

Here we will discuss working with files using Visual C++. You can send your programs output to a file, save it, call the file back, make changes, delete it --all that good stuff. If you choose to work with a file in your C++ program, you will need to include <fstream> . In you code, you will work with the file just as you would with a physical file: Open it, write the data, and close. Pretty simple.

Next, you will need to define the file you will be working with in the program. You can accomplish this with the syntax: ofstream NameOfFile; . It is good pratice to go ahead and declare that along with your variables. Afterwards, you can now open the file.

If your file is in the directory in which you are working, you will not need to include the path, if the file is say in your A:, then you must also include the path to the file, see below:

*Note: An additional option to the open function in ofstream can be declared after you specify the file name. This will tell the computer how the file will be opened, for output, or append. Output means a new file will be created. If another file with the same name exists, all data within that file will be erased... so be careful! To declare a file to be opened for output, you can include this after the file name, ios::out. BUT this is default, so when you say:"File_I_Made.dat"); will do the same as:"File_I_Made.dat" ios::out); .

To declare the file for append means to add to an existing file, with existing data. You will simply add: ios::app after the file name in the open function. If the file isnt' there, it will create one. And the data is added to the end of existing data.

Here is a code sample for opening a file for output, and append:


After you open the file, how are you sure that it did open it? If it did not, then obviously your program is not functioning properly. If the destination is full or the disk is write protected,; can fail. So, to determine that it did open, is_open comes to the rescue! Syntax is: yourFile.is_open() - The is_open function will return a boolean value (true or false). If it is open, true - If not, false. Below is an example to test if you file opened:

There are various ways of testing, but generally you will use it in a condition. Almost any programmer you will talk to will tell you that 90% of a programs code is error handling. What to do if something didnt happen, or input not expected. You might get use to that, it will only make your programs better.

Writing to the file

You write to the file the same as you would output data to the screen. If your file was defined as yourFile, then you would do something like this : yourFile << "Hello World" << endl; --Thats it. But what about when you want to add more data? How will you differentiate between what was written the first time, to what was written the second time? To do this, you can add a character to the end. So instead of: yourFile << "Hello World" << endl; - You can do: yourFile << "Hello World" << "#" << endl; Add # to the end of each write. This will give you a point to go by in the future when you want to get and change data from the file.


The future is now! first we open the file (like we did earlier), then you can check if it did open (why not). We can now use the eof function. This stands for End of File. So, we can use a while loop and the eof function to access data from the file until the file has reached its end. Heres the syntax: yourfile.eof() - This function also returns a boolean value. Look below how we use it in our program:

We opened the file, checked that it did open. used getline() to get info from the file. The while loop will display var while it is not the end of the file. Once complete, we close the file. And if the file did not open, we display the error message.


We are not yet done with writing the file and accessing it. If you wrote to the file as I indicated earlier, and you displayed the record to the screen it would read: Hello World#. We want to ignore the # at the end. So, there is the ignore function. This function will ignore, consume or pass by a character you specify. Theres two arguments to the ignore function. Heres the syntax: cin.ignore(num, delimChar); --You can use it with cin or your file object name (we've been using yourFile). So if we said: yourFile.ignore(555, '#'); The ignore function stops reading and discarding characters once its consumed the num (555) of characters or has reached the delimChar (#). So obviously, it would stop at the # in our case, we dont even have 555 characters.

Closing Your Open File

To close your file that you have open, you will use the close function. The syntax looks like this: nameyoumade.close(); . Theres no need to specify the file name inside because the computer already knows the file open when you gave it its object name (nameyoumade).

Following tradition, heres a bit of code showing you how to close the file after you're done writing data:

Thats it!

You can test this on your own and work with it a bit. You can format the output to the file just like you formatted the output to appear to the screen. Now, we've covered everything. So lets go ahead and have a complete code sample that will go through every process using what we learned about working with files:



On the reading from the file example we used: getline(yourFile, name, '#'); -- This reads all the characters in the first record, up to and including the #. And the yourFile.ignore(1); at the end will ignore the newline character 'n', which is the same as the enter key. when endl; is stated we're taken to the next line, well internally this new line is considered a character and we must ignore that or it will skew our results.


As i've mentioned in the tutorial, there is still lots to cover. I didnt go over objects or classes, theres alot to cover yet. This should give you a good strong introduction. If you're familiar with programming and other languages, you might pick up on this easier than someone exploring interest. Stick with it and move on to other articles, ask questions and learn as much as you can. The more you use it the easier it will get to remember the syntax of everything and you will WANT to dig deeper into the language. Best of luck!

-bs0d |

1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  
Next »

No Comments for this page.

You Must be logged in or a member to comment.

Tutorial Stats

Tutorial Stats

1 Total Comments
4 Rating of 5 (2 Votes)


Tutorial Options

· Login to Rate This Article
· Login to Post a Comment
· Read more by this author
Digg This Article! Bookmark This Article Reddit: Bookmark This Article BlinkList: Blink This Article! YahooMyWeb BlogMarks: Add This Mark! Furl: Save This Article Spurl: Mark This Article



· C Tutorial
Your Article Here

"" Copyright © 2002-2019; All rights lefted, all lefts righted.
Privacy Policy  |  Internet Rank