Ad

Thursday, May 31, 2007

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…

1 comment:

  1. Anonymous11:47 AM

    Great, I actually had to go back and double-check my projects. very helpful

    ReplyDelete

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.