5 Common C++ Programming Mistakes

To err is human



It is normal for programmers to make mistakes while learning c++ programming.
Mistakes (or errors) are often caused by misconception in the programmers mind
or by forgetting certain things.

While syntax errors are easier to spot since the c++ compiler shows the related
information but logical errors often remains unnoticed, and many a times the
program works just as fine.

It is not possible to completely eliminate errors by yourself but it is definitely
possible to minimize them as a c++ programmer.

Here I am listing 5 of the common mistakes (errors) that beginners commit (not
sorted in any order).


Mistake No. 1


Have a look at this C++ Program


   #include<iostream.h>
void main(void)
{
int base,height,area;
cout<<"Enter the base and height of the triangle:";
cin>>base>>height;
area=0.5*base*height;
cout<<endl<<"AREA:"<<area;
}

Here the variable area is such that sometimes its value would be whole number
and sometimes it would be fractional. As long as we are giving even data the
program would output correctly, but giving odd data would result in the loss
of data in the output, since the integer data type can’t hold fractional
values.


Mistake No.2


  #include<iostream.h>
void main(void)
{
char name[15]=’c++ program’;
cout<<name;
}

Here the problem is in the line

char name[15]=’c++ program’;

since we are giving string data as character constant.

It should have been like this

char name[15]=”c++ program”;


Mistake No. 3


   #include<iostream.h>
void main(void)
{
int a=10,b=20,c;
a+b=c;
cout<<c;
}


Can you spot the error, yes it is with the line

a+b=c;

here mathematical operations are being done in the left hand side and it is
being assigned the value of the variable c, which is not possible.

It should have been

c=a+b;


Mistake No.4


   #include<iostream.h>
void main(void)
{
int Name;
cin>>name;
cout<<"The value of Namee is:"<<name;
}

I have seen many peoples committing this mistake, remember that C++ is Case-Sensitive,
what it means is Name and name are two different identifiers for C++.


Mistake No. 5


   #include<iostream.h>
void main(void)
{
int arr[3];
cout<<"Enter three numbers:";
cin>>arr[1]>>arr[2]>>arr[3];

   cout<<"The numbers are:"<<endl;
cout<<arr[1]<<arr[23]<<arr[3];
}

This is also one of the most common mistakes that c++ programmers commit.

As I have previously discussed in the other articles that declaring an array
as

int arr[3];

means that it is for storing 3 elements of data type integer.

And while accessing or modifying the index number starts with 0 and ends with
one less than the total number of elements it can store.




Hope this article helps…

Check out this stream