Ad

Saturday, June 16, 2007

Unit Conversion Program using Classes

Welcome back guys, I hope you like my previous article, Introduction to Classes in C++, in this article we will be further continuing our discussion on classes in C++. We will not be discussing anything new on the topic though, just a simple example program to elaborate more on Classes in C++.

In this article, I will show you a program based on classes, which converts units of length from one to another. The program is simple and I do not think there is any need for discussing it in detail.

The example program is given below:

  //C++ Program
  #include<iostream.h>

  class length
  {
   private:
   float in_meter, in_cm, in_inch;

   public:
   void input(float len,int ch);
   float output(int ch);
  };

  //---function definition starts---
  void length::input(float len,int ch)
  {
   switch(ch)
   {
    case 1://for meter
    in_meter=len;
    in_cm=in_meter*100;
    in_inch=in_cm*2.54;
    break;

    case 2://for cm
    in_cm=len;
    in_meter=in_cm/100;
    in_inch=in_cm/2.54;
    break;

    case 3://for inch
    in_inch=len;
    in_cm=in_inch*2.54;
    in_meter=in_cm/100;
    break;
   }
  }

  float length::output(int ch)
  {
   switch(ch)
   {
    case 1://for meter
    return in_meter;

    case 2://for cm
    return in_cm;
    case 3://for inch
    return in_inch;

    default://for other values
    return -1;
   }
  }
  //---function definition ends---

  void main(void)
  {
   int choice;
   float org_length;

   length length_obj;

   cout<<"Enter choice of unit:";
   cout<<"\n\n 1>Meter";
   cout<<"\n\n 2>Centimeter";
   cout<<"\n\n 3>Inch\n";
   cin>>choice;

   cout<<"\nEnter Length:";
   cin>>org_length;

   length_obj.input(org_length,choice);

   cout<<"\nLength in Meters: "<<length_obj.output(1);
   cout<<"\nLength in CMs : "<<length_obj.output(2);
   cout<<"\nLength in Inches: "<<length_obj.output(3);
   cout<<"\n\n";
  }

Enough for now, please check back for updates!

1 comment:

  1. Anonymous10:02 PM

    An enum INCH, CM, METER would probably be better IMHO.

    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.