بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
انتهيت مؤحرا من برنامج لتحويل بين العملات
فكرة البرنامج تقوم على تحويل العملة إلى الدولار ثم تحول العملة من الدولار إلى اي عملة اخرى بضربها بالمعامل
مثل التحويل بين 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
الواجهة لم أبرمجها بشكل جيد لأن البرنامج سأربطه (بإذن الله) بواجهة رسومية عن طريق مكتبة كيوت (طبعا بعد ملاحظاتكم)
مرفق البرنامج
ملف مرفق(ملفات)