برنامج لتحويل بين العملات

الناقل : elmasry | الكاتب الأصلى : أباسليمان | المصدر : www.arabteam2000-forum.com

بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
انتهيت مؤحرا من برنامج لتحويل بين العملات
فكرة البرنامج تقوم على تحويل العملة إلى الدولار ثم تحول العملة من الدولار إلى اي عملة اخرى بضربها بالمعامل
مثل التحويل بين 1ريال سعودي إلى 1دينار
أنا لاأعرف المعامل بين الريال والدولار ولكن أعرف المعامل بالدولار.
أقوم بالتحويل الريال إلى دولار ومن ثم أحول الدولار إلى دينار
سيتضح هذا بعد رؤيتكم للكود

monyConversion.h
 #ifndef MONYCONVERSION_H
  #define MONYCONVERSION_H
  #include <iostream>
  using namespace std;
 
  class monyConversion
  {
          double valu_Of_currency,valu_Of_currency1;
          public:
          void loadFromeFile(string ,string);
          double conver(string,string,double);
  };
  #endif
  void load_List_From_File(string names_Of_Currency[] ,int size);
  void show_Mune(string list[],int size,monyConversion &c);


monyConversion.cpp
 #include <fstream>
  #include <cstdlib>
  #include "monyConversion.h"
 
  void monyConversion::loadFromeFile(string name_Of_currency,string name_Of_currency1)
  {
         
          double tempe;
          string temp;
          ifstream monyFile;
          monyFile.open("monyFile.txt");
          if(monyFile.fail())
          {
                  cerr<<"ERROR opening file"<<endl;
                  exit(7);
          }
          do
          {
                  monyFile>>temp>>tempe;
 
                  if(temp==name_Of_currency)
                  {
                         
                          valu_Of_currency=tempe;
                         
                  }
                  if(temp==name_Of_currency1)
                  {
                          valu_Of_currency1=tempe;
                         
 
                  }
          }while(!monyFile.eof());
          monyFile.close();
  }
 
  double monyConversion::conver(string cu,string cu1,double nu)
  {
          loadFromeFile(cu,cu1);
          if(cu=="usd")
          {
                  valu_Of_currency1=1/valu_Of_currency1;
                  nu*=valu_Of_currency1;
          }
          else if(cu1=="usd")
                  nu*=valu_Of_currency;
          else
          {
                  nu*=valu_Of_currency;
                  valu_Of_currency1=1/valu_Of_currency1;
                  nu*=valu_Of_currency1;
          }
          return nu;
  }
  void load_List_From_File(string names_Of_Currency[],int size)
  {
          ifstream currencyNames;
          currencyNames.open("list.txt");
          if(currencyNames.fail())
          {
                  cerr<<"ERROR opening file"<<endl;
                  exit(7);
          }
         
                  for (int i=0;i<size;i++)
                  {
                 
                          currencyNames>>names_Of_Currency[i];
                  }
          currencyNames.close();
  }
  void show_Mune(string list[],int size,monyConversion &c)
  {
          int choice[2];
          double valu_currency;
          cout<<"****************************************************************************
 *****"
          <<"THANK YOU FOR USING MONY CONVERSION PROGRAM\n Please enter yoer choice\n"
          <<"FROM : "<<endl;
          for(int i=0;i<size;i++)
          {
                  cout<<i<<"- "<<list[i]<<endl;
          }
          cin>>choice[0];
          cout<<"TO : "<<endl;
          for(int i=0;i<size;i++)
          {
                  cout<<i<<"- "<<list[i]<<endl;
          }
          cin>>choice[1];
          cout<<"*********************************\n"
          <<"Enter the valu : "<<endl;
          cin>>valu_currency;
          cout<<"*************************************"<<endl
          <<"FROM : "<<list[choice[0]]<<endl
          <<"TO : "<<list[choice[1]]<<endl
          <<"The valu before conversion : "<<valu_currency<<endl
          <<"The valu after conversion : "<<c.conver(list[choice[0]],list[choice[1]],valu_currency)<<endl;
  }

main.cpp
 #include "monyConversion.h"
  #include <fstream>
 
  int main()
  {
          int const size=6;
          string list[size];
          char choice;
          monyConversion c;
          load_List_From_File(list,size);
          //show_Mune(list,size,c);
          cout<<"Prease any key to Continue or 'e' to exit"<<endl;
          cin>>choice;
          while(choice!='e')
          {
                  show_Mune(list,size,c);
                  cout<<"Prease any key to Continue or 'e' to exit"<<endl;
                  cin>>choice;
          }
 
  }

monyFile.txt
 SAR
  0.2666
  KWD
  3.4941
  CAD
  0.9204
  INR
  0.0205
  AED
  0.2724

list.txt
 SAR
  KWD
  CAD
  USD
  INR
  AED

العملات تم إختيارها عشوائيا وقد وضعت خمسة عملات لأن البرنامج لايزال في طور الإختبار -_-
العملات المتوفرة في البرنامج هي
sar=ريال سعودي
kwd=دينار كويتي
cad=دولار كندي
inr=روبيه هنديه
aed=درهم إماراتي
إذا أردت أن تضيف عملة فكل ما عليك هو
1- فتح ملف
monyFile.txt
وإضافة رمز العملة ووضع تحت رمز العملة ما يقابلها بالدولار الأمريكي
مثل 1ريال =0.2666 دولار امريكي
2- فتح ملف
list.txt
وإضافة رمز العملة في نهاية الملف
3- فتح ملف
main.cpp
وتوسيع المتغير
size
إلى عدد العملات الموجودة

ولأن العملات تتغير قيمهن سريعا فقد وضعت أخر تحديث وهو بتاريخ
5\9\2009
أرجوا أن تزويدوني بملاحظاتكم والإجابة على الأسئلة التالية
- هل هناك طريقة أفضل لتحويل بين العملات
هل هناك طريقة لتحديث البرنامج من قبل المستخدم -
حيث يقوم المستخدم بتحديث العملات بواسطة الإنترنت هل هناك مكتبات خاصة لذالك

قمت بأخذ رموز العملات والمعامل من موقع ياهو
http://finance.yahoo.com/currency-converte...AR;to=USD;amt=1
الواجهة لم أبرمجها بشكل جيد لأن البرنامج سأربطه (بإذن الله) بواجهة رسومية عن طريق مكتبة كيوت (طبعا بعد ملاحظاتكم)
مرفق البرنامج

 
ملف مرفق(ملفات)