You are on page 1of 17

From baxtrom@home.

com Sun Feb 04 17:52:41 2001


Complete repost of these files:
Sunday, February 11, 2000
Someone e-mail me and remind me. :)
Lesson 1: The basics of C++
I am writing this for those people who want to learn how to program in
C++, especially those who had trouble. It is for those of you who want a sens
e of accomplishment every time your program works perfectly. If you want the s
ense of accomplishment, read on.
C++ is a programming language. It is a programming language of many
different dialects, just like each language that is spoken has many dialects. I
n C though, they are not because the "speakers" live in the North, South, or gre
w up in some other place, it is because there are so many compilers. There are
about four major ones: Borland C++, Microsoft Visual C++, Watcom C/386, and DJGP
P. You can download DJGPP http://www.delorie.com/djgpp/ or you may already have
another compiler.
Each of these compilers is a little different. The library functions of one wil
l have all of the standard C++ functions, but they will also have other function
s or, continuing the analogy, words. At times, this can lead to confusion, as c
ertain programs will only run under certain compilers, though I do not believe t
his to be the case with the programs in these tutorials.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If you don't have a compiler, I strongly suggest you get one. A simple one is go
od enough for
my tutorials, but get one.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C++ is a different breed of programming language. It has only a few keywords fo
r DOS, and it has no keywords to use for output. This means that almost everyth
ing is stored in a header file. This gives the use of many functions. But lets
see a real program...
#include <iostream.h>
int main()
{
cout<<"HEY, you, I'm alive! Oh, and Hello World!";
return 0;
}
That does not look too hard, right? Lets break down the program and then look a
t it. The #include is a preprocessor directive which tells the compiler to put
code in the header file iostream.h into our program! By including header files,
you ~can gain access to many different functions. For example, the cout functi
on requires iostream.h.
The next thing is int main() what this is saying is that there is a function cal
led main, and that it returns an integer, hence int. Then those little braces (
{ and } ) are used to signal the beginning and ending of functions, as well as
other code blocks. If you have programmed in Pascal, you will know them as BEGI
N and END.
The next line of the program may seem strange. If you have programmed in other

languages you might think that print would be used to display text. However, in
C++ the cout function is used to display text. It uses the << symbols, known a
s insertion operators. The quotes tell the compiler that you want to output the
literal string as-is. The ; is added to the end of all function calls in C++.
The penultimate line of code is ordering main to return 0. When one returns a v
alue to main, it is passed on to the operating system. As a note, declaring int
main() or void main() both will generally work. It is accepted practice to som
e to declare main as a void, but to others it is
extremely upsetting. Previously, these tutorials had used void main, however, t
his is NO LONGER recommended, as it does not conform to the ANSI standard.
After, the brace closes off the function. You can try out this program if you
want, just cut and paste it into the IDE of a compiler such as DJGPP, or save it
to a file ending with a .cpp extension, and use a command-line compiler to comp
ile and link it.
Comments are extremely important to understand. When you declare that an area
is a comment, the compiler will IGNORE it. To comment it is possible to use ei
ther // , which declares that the entire line past that point is a comment, or
it is possible to use /* and then */ to block off everything between the two as
a comment. Certain compilers will change the color of a commented area, but s
ome will not. Be certain not accidently declare part of your code a comment. N
ote that this is what is known as "commenting-out" a section of code, and it is
useful when you are debugging.
So far you should be able to write a simple program to display information typed
in by you, the programmer. However, it is also possible for your program to ac
cept input. the function you use is known as cin>>.
Wait! Before you can receive input you must have a place to store input! In pr
ogramming, these locations where input and other forms of data are stored, are c
alled variables. There are a few different types of variables, which must be st
ated. The basic types are char, int, and float.
Char is used to create variables that store characters, int is used to create va
riables that store integers (numbers such as 1, 2, 0, -3, 44, -44), and float is
used to delare numbers with decimal places. In fact, they are all keywords tha
t are used in front of variable names to tell the compiler that you have created
a variable. That is known as "declaring a variable". When you declare a varia
ble, or variables, you must end the line with a semi-colon, the same as if you w
ere to call a function. If you do not declare the variable you are attempting t
o use, you will receive numerous error messages and the program will not run.
Here are some examples of declaring variables:
int x;
int a, b, c, d;
char letter;
float the_float;
It is not possible, however, to declare two variables of different types with th
e same name.
#include <iostream.h>
int main()
{
int thisisanumber;
cout<<"Please enter a number:";

cin>>thisisanumber;
cout<<"You entered: "<<thisisanumber;
return 0;
}
Let's break apart this program and examine it line by line. Int is the keyword
that is used when delcaring a variable which is an integer. The cin>> sets the
value of thisisanumber to be whatever the user types into the program when promp
ted. Keep in mind that the variable was declared an integer, which means the ou
tput will be in the form of an integer. Try typing in a sequence of charaters,
or a decimal when you run the example program to see what you get as a response.
Notice that when printing out a variable, there are not any quotation marks.
If there were quotation marks, the output would be "You Entered: thisisanumber."
Do not be confused by the inclusion of two separate insertion operators on a l
ine. It is allowable, as long as you make certain to have each separate output
of variable or string with its own insertion operator. Do not try to put two var
iables together with only one << because it will give you an error message. Do
not forget to end functions and declarations with the semi-colon(;). Otherwise
you will get an error message when you try to compile the program.
Now that you know a little bit about variables, here are some ways to manipulate
them. *, -, +, /, =, ==, >, < are all operators used on numbers, these are the
simple ones. The * multiplies, the - subtracts, and the + adds. Of course, th
e most important for changing variables
is the equal sign. In some languages, = checks if one side is equal to the othe
r side, but in C++ == is used for that task. However, the equal sign is still e
xtremely useful. It sets the left side of the equal sign, which must be one AND
ONLY one variable, equal to the right side. The right side of the equal sign i
s where the other operators can be used.
Here are a few examples:
a=4*6; //(Note use of comments and of semi-colon) a is 24
a=a+5; // a equals the original value of a with five additional units
a==5
//Does NOT assign five to a. Rather, it checks to see if a equals 5.
The other form of equal, ==, is not a way to assign a value to a variable. Rath
er, it checks to see if the variables are equal. It is useful in other areas of
C++ such as if statements and loops.
You can probably guess what the < and > are for. They are greater than and less
than checks.
For example:
a<5
a>5
a==5

//Checks to see if a is less than five


//Checks to see if a is greater than five
//Checks to see if a equals five, for good measure

--Note: My homepage is http://www.cprogramming.com. My email is webmaster@cprogra


mming.com. Please email me with comments and or suggestions. If you want to us
e this on your own site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Learning C: lesson 2
Hello, this is Alexander. Since I finally got an email from someone who liked m
y previous
lesson, I am going to make the second installment. This one will be about varia

bles, and
stuff like 'if' statements.
'IF' is the most important word in programming for many programs. Without it th
ere is no
conditional statements. This means that there can be only one way a program can
execute.
It would almost impossible to make a program without this one simple word.
There are many things to understand when using IF statements. First, you must u
nderstand
stuff like OR NOT etc. This are the most important, so I will describe how to u
se them in
C and C++ programming below: (NOTE: ZERO IS FALSE! ONE IS TRUE!)
NOT: This just says that the program should reverse the value...for example NOT(
1) would be
0. NOT(0) would be 1. NOT(any number but zero) would be 0. In C and C++ NOT i
s written
as - ! - just one simple little character. It is very useful and can save lots
of time.

AND: This is another important command, and it is used to say that if this AND t
his is
true... for example (1)AND(0) would come out as 0. (1)AND(1) would come out as
1. (ANY
REAL NUMBER BUT ZERO)AND(0) would be 0. (ANY REAL NUMBER BUT ZERO)AND(ANY REAL
NUMBER BUT
ZERO) would be 1. The AND is written as - && - in C++. It is just two simple c
haracters.
OR: Very useful is the OR statement! For example (1)OR(0) would be 1! (0)OR(0)
would be
0. (ANY REAL NUMBER)OR(ANY REAL NUMBER BUT ZERO) would be 1! It is simple, eit
her one can
be true and make the whole thing true. The OR is written as - || - in C++. It
is also two
simple characters.

The next thing to learn is to combine them... What is !(1 && 0)? Of course, it
would be
1. This is because 1 && 0 evaluates two 0 and ! 0 equals 1.
Try some of these...they are not hard. If you have questions about them, you ca
n email me
at lallain@concentric.net.

A. !(1 || 0)
B. !(1 || 1 && 0)

ANSWER: 0
ANSWER: 0 (AND is evaluated befo

re OR)
C. !((1 || 0) && 0)

ANSWER: 1 (Parenthesis are usefu

l)

If you find you enjoy this you might want to look more at Boolean Algebra, which
is also
very helpful to programmers as it can be good for helping program conditional st
atements.

IF is used like this IF(TRUE)


{ DO WHAT IS IN THE BRACKETS }
ELSE is basically

ELSE
{ DO WHAT IS IN THE BRACKETS }

Let's look at a simple program for you to try out on your own...

#include <iostream.h>
#include <conio.h>

//For output
//For getch()

void main()
{
int age;
cout<<"Please input your age: ";
cin>>age;
if(age<100)
{
cout<<"You are pretty young!";
}
if(age==100)
two =
{
cout<<"You are old";
}
if(age>100)
{
cout<<"You are really old";
}
}

//Most important part of the program!


//Need a variable...
//Asks for age
//The input is put in age
//If the age is less than 100
//Just to show you the output
//Remember, if the age equals 100 needs
//Just to show you it works...

//Proof that it works for all conditions

Now, this program did not use && || ! or anything in it. This is because it did
n't need
too. I think you should probably be able to make your own if statements with th
em without
having to worry too much about problems. As always, you can email me at
lallain@concentric.net
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please

email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 3: Loops
This is the third installment of the Lessons in C programming tutorials created
by me,
Alexander. In this lesson I will cover loops. Loops basically do what it sound
s like,
loop. If you have read lesson 2 you should understand some Boolean expressions.
If you do
not, you should read it again. When working with loops it is important to under
stand truth
and false. Maybe you should try doing some truth tables with problems.
There are basically 3 types of loops. FOR, WHILE, DO WHILE Each of them has th
eir uses.
They are all outlined below.
FOR - FOR loops are the most useful type, I believe. The layout is for(variable
initialization, conditional, incrementing variable) It is very versatile, and t
he layout
can be changed somewhat. Basically, the variable initialization allows you to e
ither
declare a variable and give it a value, or give a value to another variable. Se
cond, the
conditional statement. What it does is it says that while the conditional is tr
ue then it
would do what in is in the body. Third, the incrementing variable section. It
does not
have to increment a variable. It can decrement, which is subtracting one, or it
can
perform various other manipulations on the variable.

Ex. #include <iostream.h> //We only need one header file


void main()
//We always need this
{
//The loop goes while x<100, and x
has one
for(int x=0;x<100;x++)/*THE LOOP*/ //added to it every time th
e loops
{
cout<<x<<endl;

//Outputting x

}
}
This program is a very simple example of a for loop. x is set to zero, while x
is less
than 100 do cout<<x<<endl; add 1 to x until the loop ends. Pretty simple to und
erstand,
but it is a very powerful loop, and much better than WHILE and DO WHILE loops.

WHILE - WHILE loops are very simple, but not as useful as FOR loops. The basic
structure
is...WHILE(true) then do whatever is in the body. The truth could be x==1 or wh
ile(x!=7)
(x does not equal 7)
Ex. #include <iostream.h> //We
void main()
{ int x=0;
while(x<100)
{
cout<<x<<endl;
x++;
//Adds
}
}

only need this header file


//Of course...
//Don't forget to declare variables
//While x is less than 100 do
//Same output as the above loop
1 to x every time it repeats

This was another pretty simple example, but it is longer than the above FOR loop
, showing
why I like for better than while, though while is a very easy loop to use, so if
you are
having trouble then you can use it, but try to use for.
DO WHILE - DO WHILE loops are useful for only things that want to loop at least
once.
basically it goes DO { THIS } WHILE(TRUE)
Now, it is your turn to try and do a loop! make a DO WHILE loop that does what
the above
programs do...output 0 to 99! It is not hard, if you have trouble email me at
lallain@concentric.net and I will give you some help... Best of luck :) Check b
ack again for
more programming in C!
#include <iostream.h>
int main()
{
int x=0;
do while(x<100)
{
cout << x << endl;
x++;
}
}
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please
email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 4: Functions
Now that you have learned all about variables, loops, and if statements it is ti
me to learn

the next thing in programming: Functions. Obviously, you should have a good ide
a about
what a function is, as you have used ones like cout before. However, this lesso
n will be
more in detail about not only functions that are already made, but about making
your own,
or maybe I will continue this later...
A good way to describe a function is to show its prototype. That means, what it
should return,
and what it should take as an argument. For example, the prototype of getch() i
s... int
getch(void); The int means that it returns an integer, the void means that it do
es not take an
argument. Now, you may know that getch returns a character! However, that does
not mean it
must return a character. The fact that the return type is an integer makes no d
ifference,
because the ASCII character set does not care what type of number it is, as long
as it is a
number...don't worry if you don't understand, it is not too important right now.
What is important is that you understand prototypes. Another prototype is... in
t kbhit(void);
It returns an integer, and it takes no value. Now that I hope you understand th
is then you
will be able to use the help files much more easily, and I can go into more abou
t functions.
First, what functions are useful.
There are many useful functions, and often they are hard to find. For Turbo C++
Lite some
useful functions include, but are no limited to:
cout<<
cin>>
int getch(void)
void clrscr(void)

iostream.h
iostream.h
conio.h
conio.h

output
input
get characters
clear screen

Okay, you might be thinking that this is nothing! Four measly functions, and yo
u are
right! If there were only a few functions then C/C++ would not be useful. Howe
ver, a lot
of programs do not need all that many functions. Of course, I suggest that you
know ever
function that you can, or at least the name. For this purpose, I will be postin
g an entire
listing of ever function that I can find out of either help or books I have read
. However,
for now, these are probably the most useful functions. After all, if you can cl
ear the
screen, get input and output, and get keypresses, which are useful for stopping
the program
from immediately going back to the IDE you can do quite a bit! Believe me, ther
e are a few

specialized, but very useful functions, the thing is, you don't really need to u
se them all
the time! If you have a problem with a function that you need, and I have not p
ut up my
list yet, then email me at lallain@concentric.net, and I will find you what you
need!
Anyway, after that long spiel on not needing a lot of functions, I am going to s
how you how
to make your own functions! Wow, I can do that? Of course, otherwise C/C++ wou
ld not be
useful! So, prepare to learn how to make functions.
First let me give you an entire example program. Then we will look at it, and l
earn how to
make our own programs.
#include <iostream.h>
#include <conio.h>
int mult(int x, int y);
void main()
{
int x, y;
cout<<"Input a number, and what number to multiply it by";
cin>>x>>y;
cout<<endl<<mult(x, y);
getch();
}
int mult(int x, int y)
{
return x*y;
}
How is this useful...Well, in this program the function is totally useless, and
it can only
multiply integers! But this is just to show you how to make functions, after yo
u
understand the basics I hope you will be able to do anything yourself.
What my example does: #includes...basic includes What is int mult(int x, int y);
? That is
a prototype of the function, without it you would not be able to use mult! What
is void main()? You should know that. What is cout<<endl<<mult(x,y); Well, bas
ically it
puts us down a line, and then it outputs what mult returns. More on this later.
What is
int mult(int x, int y)
{
return x*y;
}

Well, it is a function! It says that the return type is an integer. When the ke
ywork
return is used it says that the function mult has a value of whatever x*y would
be...as it
says return x*y. The two ints that it takes are x and y. So it multiplies
them and returns
that value. Then outputs mult(x, y); It is perfectly legal. Perhaps it would
help if you
think of it as saying that the function mult has a value of whatever x*y is. Th
is is not
true really, it just returns that value, and you can do whatever you want with i
t, but I
hope it helps.
What can you do? You can make void functions that do anything...
#include <iostream.h>
void function(void);
void main()
{
function();
}
void function(void)
{
cout<<"This is a useless and totally wasteful function";
}
What is does is declare that there is going to be a function, by prototyping, an
d then at
the bottom the function is defined, and it only does one thing...outputs "This i
s a useless
and totally wasteful function" However, what if you wanted to do something that
took 3
lines four hundred times in different places? Say,
#include <iostream.h>
void function(void);
void main()
{
LOTS OF CODE THAT NEEDS TO OUTPUT Line 1Line 2Line 3
}
void function(void)
{
cout<<"Line 1";
cout<<"Line 2";
cout<<"Line 3";
}
That, aside from the fact that it is a bad example, is where you would use it.
When you
need to call something a lot of times, but don't want to cut and paste. Functio
ns are very

useful, and I hope I explained them well enough for you to understand.
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please
email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 5: switch...case
I know that this is probably a let-down, after you learned all about functions,
but
switch...case is important to know. After all, it can save space with if statem
ents, and
it is useful. Besides, I couldn't think of anything else that I wanted to write
about.
Switch...case looks like this:
switch(expression or variable)
{
case it equals this:
do this;
break;
case it equals this:
do this;
break;
case it equals this:
do this;
break;
...
default
do this
}
So, it works like this. The expression or variable has a value. The case says
that if it
has the value of whatever is after this case then do whatever follows the colon.
The break
says to break out of the case statements. Break is a keyword that breaks out of
the
code-block, surrounded by braces, that it is in. So unless you want it to try t
he next
case then use break. --You can also use it to break out of loops, something that
I failed
to mention at the time.-What is it used for, the switch...case? Well, let's say that you are writing a
menu
program, then you would want to process some input, right? Well, you would want
to use a
switch...case statement to process more than one input, because it is more easil
y used than

if statements.
Here is an example program:
#include <iostream.h>
#include <conio.h>
void main()
{
char input;
cout<<"1. Play game";
cout<<"2. Load game";
cout<<"3. Play multiplayer";
cout<<"4. Exit";
input=getch();
//Remember I said you don't need many fu
nctions...
switch(input)
{
case 1:
playgame();
break;
case 2:
loadgame();
break;
case 3:
//Note use of : not ;
playmultiplayer();
break;
case 4:
break;
default:
cout<<"Error, bad input, quitting";
}
}
If you are not understand this, then try putting in if statements for the case s
tatements.
Also, the reason exit works with a break is that after you break out of the swit
ch
statement then it would be the end of the program. The same thing would be for
default.
If you don't like that, then make a loop around the whole thing. I know I did n
ot
prototype the functions, but it was a very simple example. You could easily make
a few
small functions.
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please
email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 6: An introduction to pointers

Welcome to the sixth in my series of tutorials. This is one about a topic that
you may or
may not have already heard about...pointers. What are they, what do they do, wh
y do we
care? First, why do we care.
We care about pointers because they allow access to memory, the also make arrayaccess
faster, they are also somewhat necessary to understand some functions. Most imp
ortantly,
you will see them a lot in other people's code. You may not need to use them mu
ch, but it
will be tremendously important to understand them.
Second, what do they do. Well, I might as well address this issue as well as wh
at they are
at the same time. Pointers are what they sound like...pointers. They point to
locations
in memory. Picture this: a big jar that holds one thing, the name of another ja
r. In the
other jar is the value of an integer. The jars are memory locations. The jar t
hat holds
the name of the other jar is a pointer. It points to the other drawer.
How can you use this? Well, look at this little piece of code:
#include <iostream.h>
void main()
{
int x;
int *pointer;
pointer=&x;
cin>>x;
cout<<*pointer;
}
Guess what! The cout outputs the value in x. Why is that? Well, look at the c
ode. The
integer is called x. Then a pointer to an integer is defined as pointer. The a
strick(*)
symbol means that it is a pointer. Then I give the memory location of x to poin
ter by
using the ampersand(&) symbol. It gives the memory location of the variable it
is in front
of. For example, if the jar that had an integer had a ampersand in it it would
output its
name, or location.
Then the user inputs the value for x. Then the cout uses the * to put the value
stored in
the memory location of pointer. Huh? Picture the jars again. If the jar with

the name of
the other jar in it had a * in front of it it would give the value stored in the
jar with
the same name as the one in the jar with the name. It's not too hard, the * giv
es the
value in the location. The unastricked gives the memory location.
I hope this has been at least an interesting introduction to pointers. I do not
suggest
that you play around with them too much as you can do unpleasant things on your
computer,
but you now should have a better understand of what they are.
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please
email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 7: Structures
Welcome to the seventh lesson. This is my first lesson that I will explain clas
ses. However,
I will explain more about structures, because they can be useful, and they are a
good way
to get a feel for how a class works.
What are structures? They are a way to store more than one data-type under the
same name.
Fore example:
#include <string.h> //For strcpy
struct database
{
int age;
char name[20];
float salary;
};
void main()
{
database employee;
employee.age=22;
strcpy(employee.name, "Joe");
employee.salary=12000.21;
}
Don't worry about the name[20]. That is just an array. It can hold more than o
ne
character all called under the same name. They are used like strings. I will d
o my next
lesson on arrays, I promise, because they are very important. The struct databa
se declares
that database has three variables in it, age, name, and salary.
Eventually, you can use database like a variable type like int. You can create
an employee
with the database type like I did above. Then, to modify it you call everything
with the
employee. in front of it. You can also return structures from functions by defi

ning their
return type as a structure type. Example:
struct database fn();
You can make arrays of structures as well. I will show you how to do this in l
esson 8.
That will be up in a few days. I suppose I should explain unions a little bit.
They are
like structures except that all the variables share the same memory. When a un
ion is
declared the compiler allocates enough memory for the largest data-type in the u
nion.
To access the union you use the . like in structures. Also, if you are accessin
g the union
of structure through a pointer use the -> operator. for example, database->empl
oyee . The
most useful thing about unions is that you can manipulate the bytes of the datatypes. You
might want to see what you can do if you understand that sort of stuff. Persona
lly, I have
never used a union.
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please
email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 8: Array basics
This is the eight installment of my lessons, and it is on arrays. Arrays are es
sentially a way
to store many values under the same name. You can make an array out of any data
-type,
including structures. For example, you could say
int examplearray[100]; //This declares an array
This would make an integer array with 100 slots, or places to store values. The
only difficult
thing is that it starts off with the first index-number, that is, the number tha
t you put in
the brackets to access a certain element, is zero, not one!
Think about arrays like this: [][][][][][] Each of the slots is a slot in the
array, and
you can put information into each one of them. It is like a group of variables
side by side
almost.
What can you do with this simple knowledge? Lets say you want to store a string
, since C++ has
no built-in datatype for strings, in DOS, you can make an array of characters.
For example:
char astring[100];
Will allow you to declare a char array of 100 elements, or slots. Then you coul

d get it from
the user, and if the user types in a long string, it will all go in the array.
The neat thing
is that it is very easy to work with strings in this way, and there is even a he
ader file
called STRING.H. I will have a lesson in the future on the functions in string.
h, but for now,
lets concentrate on arrays.
The most useful aspect of arrays is multidimensional arrays.
For example:
int twodimensionalarray[8][8];
Think about multidimensional arrays:
[][][][][]
[][][][][]
[][][][][]
[][][][][]
[][][][][]
This is a graphic of what a two-dimensional array looks like when I visualize it
.
declares an array that has two dimensions. Think of it as a chessboard. You ca
n easily use
this to store information about some kind of game, or write something like tic-t
ac-toe. To
access it, all you need are two variables, one that goes in the first slot, one
that goes in
the slot. You can even make a three dimensional array, though you probably won'
t need to. In
fact, you could make a four-hundred dimensional array. It is just is very confu
sing to visualize.
Now, arrays are basically treated like any other variable. You can modify one va
lue in it by
putting:
arrayname[arrayindexnumber]=whatever;
You will find lots of useful things to do with arrays, from store information ab
out certain
things under one name, to making games like tic-tac-toe. One little tip I have
is that you use
for loops to access arrays. It is easy:
#include <iostream.h>
void main()
{
int x, y, anarray[8][8];//declares an array like a chessboard
for(x=0; x<8; x++)
{
for(y=0; y<8; y++)
{
anarray[x][y]=0;//sets all members to zero once loops is done
}

}
for(x=0; x<8;x++)
{
for(y=0; y<8; y++)
{
cout<<"anarray["<<x<<"]["<<y<<"]="<<anarray[x][y]<<" ";//you'll see
}
}
}
Here you see that the loops work well because they increment the variable for yo
u, and you only
need to increment by one. It is simple, and you access the entire array, would
you want to use
while loops?
Note: My homepage is http://www.cprogramming.com. My email is lallain@concentri
c.net. Please
email me with comments and or suggestions. If you want to use this on your own
site please
email me and add a link to http://www.cprogramming.com. Thanks :)
Lesson 9: Strings
This lesson is one on strings. Strings are really arrays, but there are
some different
functions that are used for strings, like adding to strings, finding the length
of strings, and
also of checking to see if strings match. Strings are basically sentences, or w
ords. Like,
"This is a string".
Strings are basically character arrays. For example, to declare a strin
g of 50 letters, you
would want to say:
char string[50];
This would declare a string with a length of 50 characters. Don't forget that a
rrays begin at
0, not 1 for the index-number. Also, a string ends with a null character, liter
ally a '/0'
character. But, just remember that there will be an extra character on the end
on a string. It
is like a period at the end of a sentence, it is not counted as a letter, but it
still takes up
a space.
What are strings useful for? Well, for one thing, you might want to get a perso
n's name. If you
wanted to, you would need a string, because a name can't fit in one variable! I
t is, however, a
collection of characters, and so fits nicely into a character array.
Now, what if you want to input a string? Well, if you try to use cin>> then it
won't work! It
terminates at the first space. However, you can use the function gets(char *s);

You might also like