٩٧ رﺎﻬﺑ ‐ ﻪﺘﻓﺮﺸﯿﭘ ﺴﯾﻮﻧ ﻪﻣﺎﻧﺮﺑ یﺮﻫﻮﺟ ﻦﯿﺴﺣ :ﻂﺳﻮﺗ ﺲﯾرﺪﺗ ﺳﻮﻃ ﻦﯾﺪﻟاﺮﯿﺼﻧ ﻪﺟاﻮﺧ هﺎ ﺸﻧاد ‐ ﺿﺎﯾر هﺪ ﺸﻧاد
ﻢﺘﺸﻫ سرد ﻪﺻﻼﺧ
:سرد ﻦﯾا ﻢﯿﻫﺎﻔﻣ اﺮﮔ ﺷ ﺣاﺮﻃ و سﻼﮐ ﺎﺑ ﻦﯾﺮﻤﺗ
هﺮﻔﻧ ﯾ یﺎﻫ یزﺎﺑ ﻪﻣﺎﻧﺮﺑ :یدرﻮﻣ ﻪﻌﻟﺎﻄﻣ ١
ﯾ یﺎﻬﯾزﺎﺑ زا یا ﻪﻋﻮﻤﺠﻣ ﻪﮐ ﻢﯿﻨﮐ ﺣاﺮﻃ یا ﻪﻣﺎﻧﺮﺑ ﻢﯿﻫاﻮﺧ ﻣ ﺪﯿﻨﮐ ضﺮﻓ :ﻪﻣﺎﻧﺮﺑ یﺎﻬﺘﯿﻠﺑﺎﻗ زا هﺎﺗﻮﮐ ﻔﯿﺻﻮﺗ هاﻮﺨﻟد ﻪﺑ ﺪﻧاﻮﺗ ﻣ ندﺮﮐ ﻦﯿﮔﻻ ترﻮﺻ رد و ﺪﻨﮐ ﻣ دﺎﺠﯾا ﺘﻧﺎﮐا ﺮﺑرﺎﮐ ﺮﻫ ﻪ ﯾرﻮﻄﺑ ﺪﺷﺎﺑ ﻪﺘﺷاد دﻮﺧ رد ار هﺮﻔﻧ ﻦﯿﮔﻻ ﺪﻧاﻮﺗ ﻣ ﺮﺑرﺎﮐ ﯾ ﺎﻬﻨﺗ نﺎﻣز ﯾ رد ﻪﮐ ﺖﺳا ﻦﯾا ﺮﺑ ﺎﻣ ضﺮﻓ .ﺪﻨﮐ یزﺎﺑ ار نآ و هدﺮﮐ بﺎﺨﺘﻧا ار یزﺎﺑ ﯾ یزﺎﺑ نآ یاﺮﺑ هﺪﺷ ﺐﺴﮐ زﺎﯿﺘﻣا ﻦﯾﺮﺘﺸﯿﺑ ﻪﺸﯿﻤﻫ ﺎﻣا ﺪﻨﮐ ﻣ ﺐﺴﮐ زﺎﯿﺘﻣا ﯾ یزﺎﺑ ﻪﻤﺗﺎﺧ ﻊﻗﻮﻣ ﺮﺑرﺎﮐ ﺮﻫ .ﺪﻨﮐ .(ﺪﻨﮐ ﻣ دﺎﺠﯾا ناﺮﺑرﺎﮐ نﺎﯿﻣ ﺖﺑﺎﻗر ﺲﺣ ﻦﯾا) دﻮﺷ ﻣ یراد ﻪﮕﻧ ﺖﺳا ﺮﮐذ ﻪﺑ مزﻻ .ﻢﯿﻨﮐ یزﺎﺳ هدﺎﯿﭘ و ﺣاﺮﻃ ار ﻪﻃﻮﺑﺮﻣ ﻪﻣﺎﻧﺮﺑ ﯽﯾاﺮﮔ ﺷ شور ﺎﺑ ﻢﯿﻨﮐ ﻣ ﻌﺳ سرد ﻦﯾا رد ﺖﺳا ﻦ ﻤﻣ ﻪﻣﺎﻧﺮﺑ زا ﺗﺎﻌﻄﻗ .ﻢﯿﻨﮐ ﻣ یزﺎﺳ ه دﺎﯿﭘ ار ﻪﻣﺎﻧﺮﺑ زا ﯽﯾﺎﻬﺸﺨﺑ ﺎﻬﻨﺗ ﺎﺠﻨﯾا رد ﺖﻗو دﻮﺒﻤﮐ ﻞﯿﻟد ﻪﺑ ﻪﮐ
.دﻮﺷ هداد نﺎﯾﻮﺠﺸﻧاد ﻪﺑ ﻦﯾﺮﻤﺗ ترﻮﺼﺑ
ﻦﯿﯾﺎﭘ ﻪﺑ ﻻﺎﺑ ﺣاﺮﻃ ١ . ١
یزﺎﺴﻟﺪﻣ ،ﺎﻫ ﻪﻣﺎﻧﺮﺑ ﻪﻌﺳﻮﺗ زا ﻠﺻا ﺖﻤﺴﻗ ﯾ .دراد ﻔﻠﺘﺨﻣ ﻞﺣاﺮﻣ یدﺮﺑرﺎﮐ ی ﻪﻣﺎﻧﺮﺑ ﯾ یزﺎﺳ هدﺎﯿﭘ و ﻪﻌﺳﻮﺗ ﻔﻠﺘﺨﻣ یﺎﻫراﺰﺑا زا راﺰﻓا مﺮﻧ ﻦﯿﺳﺪﻨﻬﻣ و ﻢﺘﺴﯿﺳ نﺎﺣاﺮﻃ رﻮﻈﻨﻣ ﻦﯾا یاﺮﺑ .ﺖﺳا ﻪﻠﺌﺴﻣ یﻻﺎﺑ ﺢﻄﺳ ﺣاﺮﻃ و ﻟﺪﻣ ﻒﻠﺘﺨﻣ یﺎﻬﻣاﺮﮔﺎﯾد زا هدﺎﻔﺘﺳا ﺎﺑ ﻪﮐ ﺖﺳا یﺮﯾﻮﺼﺗ نﺎﺑز ﯾ UML راﺰﺑا ﻪﻧﻮﻤﻧ یاﺮﺑ) .ﺪﻨﻨﮐ ﻣ هدﺎﻔﺘﺳا ﺎﺑ ﻢﯿﻨﮐ ﻣ ﻌﺳ ﻟو ﻢﯿﻨﮐ ﻤﻧ هدﺎﻔﺘﺳا ﺻﻮﺼﺨﻣ راﺰﺑا زا ﺎﻣ سرد ﻦﯾا رد ( .ﺪﻨﮐ ﻣ ﻪﺋارا ار ﺮﻈﻧ درﻮﻣ ﻢﺘﺴﯿﺳ زا ار ﻪﻠﺌﺴﻣ ﻢﯿﻨﮐ ﻣ ﻌﺳ ﺎﻣ ﺣاﺮﻃ هﻮﯿﺷ رد .ﻢﯿﻨﮐ نﺎﯿﺑ ار نﺎﻣﺮﻈﻧ درﻮﻣ ﺣاﺮﻃ و لﺪﻣ هدﺎﺳ یﺎﻬﻣاﺮﮔﺎﯾد نﺪﯿﺸﮐ رﻮﻄﺑ ار ﺖﻤﺴﻗ ﺮﻫ ﻢﯿﻨﮐ ﻣ ﻌﺳ ﺲﭙﺳ .ﻢﯿﻨﮐ ﻢﯿﺴﻘﺗ ﻒﻠﺘﺨﻣ یاﺰﺟا ﻪﺑ ار نآ ﻢﯿﻨﮐ ﻌﺳ و ﻢﯿﻨﮐ هﺎﮕﻧ ﻻﺎﺑ ﺪﯾد زا .دﻮﺷ ﻣ ﻪﺘﻔﮔ ﻦﯿﯾﺎﭘ ﻪﺑ ﻻﺎﺑ ﺣاﺮﻃ ،شور ﻦﯾا ﻪﺑ .ﻢﯿﻨﮐ یزﺎﺳ هدﺎﯿﭘ و ﻞﯿﻠﺤﺗ اﺰﺠﻣ یﺪﻨﺑ ﺶﺨﺑ ﯾ ﻦﯾا ﺪﯿﻨﮐ ﺖﻗد) ﺪﺷﺎﺑ ﻪﺘﺷاد ﺳﺎﺳا ﻪﻔﻟﻮﻣ ود ﺪﻧاﻮﺗ ﻣ ﺎﻣ ﺮﻈﻧ درﻮﻣ هﺮﻔﻨ ﯾ یﺎﻬﯾزﺎﺑ ﻪﻣﺎﻧﺮﺑ
:(ﺖﺳا یا ﻪﻘﯿﻠﺳ دورو و (ﺪﯾﺪﺟ ﺮﺑرﺎﮐ ﻒﯾﺮﻌﺗ) ناﺮﺑرﺎﮐ تﺎﻋﻼﻃا ﺖﺒﺛ ﻪﺑ طﻮﺑﺮﻣ ﺖﻤﺴﻗ ﻦﯾا :ﺎﻬﯾزﺎﺑ و ناﺮﺑرﺎﮐ ﺖﯾﺮﯾﺪﻣ • .ﺪﻧراد ناﺮﺑرﺎﮐ ﺖﯾﺮﯾﺪﻣ یاﺮﺑ یا ﻪﻔﻟﻮﻣ یدﺮﺑرﺎﮐ یا ﻪﻣﺎﻧﺮﺑ ﺮﺜﮐا ﺎﺒﯾﺮﻘﺗ .ﺖﺳا ﻢﺘﺴﯿﺳ زا ناﺮﺑرﺎﮐ جوﺮﺧ و
ﺘﻗو لﺎﺜﻣ یاﺮﺑ) ﺪﻨﮐ ﺖﺒﺛ ار هﺪﺷ مﺎﺠﻧا یﺎﻬﯾزﺎﺑ ﻪﺑ طﻮﺑﺮﻣ تﺎﻋﻼﻃا ﺪﯾﺎﺑ موﺰﻟ ترﻮﺻ رد ﻪﻣﺎﻧﺮﺑ ﻦﯿﻨﭽﻤﻫ .(دﻮﺷ ﺖﺒﺛ ﯽﯾﺎﺟ رد ﺪﯾﺪﺟ درﻮﮐر ﻦﯾا ﺪﯾﺎﺑ دﻮﺷ ﻣ ﺖﺒﺛ ﺪﯾﺪﺟ درﻮﮐر ﯾ ﻪﮐ .دراد یزﺎﺳ هدﺎﯿﭘ ﻪﺑ زﺎﯿﻧ و ﺖﺳا اﺰﺠﻣ ﻪﻣﺎﻧﺮﺑ ﯾ ﻞﺜﻣ یزﺎﺑ ﺮﻫ :ﺎﻬﯾزﺎﺑ ی ﻪﻣﺎﻧﺮﺑ • سرد ﻦﯾا رد .ﺪﻨﺷﺎﺑ ﻪﺘﺷاد ﻧﺎﺷﻮﭙﻤﻫ ﺖﺳا ﻦ ﻤﻣ و ﺪﻨﺘﺴﻫ طﺎﺒﺗرا رد ﻢﻫ ﺎﺑ ﻻﺎﺑ یﺎﻫ ﻪﻔﻟﻮﻣ ﻪﮐ ﺖﺳا ﻦﺷور
.ﻢﯾزادﺮﭘ ﻣ ناﺮﺑرﺎﮐ ﺖﯾﺮﯾﺪﻣ ﻪﺑ طﻮﺑﺮﻣ ﺖﻤﺴﻗ ﻪﺑ ﺎﻣ
ﺎﻬﯾزﺎﺑ و ناﺮﺑرﺎﮐ ﺖﯾﺮﯾﺪﻣ ٢ . ١
یاﺮﺑ .ﻢﯿﻨﮐ دﺎﺠﯾا ﺎﯿﺷا نآ یاﺮﺑ ﺳﻼﮐ و ﻢﯿﻨﮐ اﺪﯿﭘ ار ﻢﺘﺴﯿﺳ رد ﻠﺻا یﺎﯿﺷا ﻢﯿﻨﮐ ﻣ ﻌﺳ ،اﺮﮔ ﺷ ﺣاﺮﻃ رد هﺮﯿﻏ و رﻮﺒﻋ ﺰﻣر ،یﺮﺑرﺎﮐ مﺎﻧ ،مﺎﻧ نﻮﭼ ﻤﺠﺴﻨﻣ تﺎﻋﻼﻃا ﻪﮐ ﺪﺷﺎﺑ ﺪﻧاﻮﺗ ﻣ ﺷ ﯾ (ﺮﺑرﺎﮐ) ﺎﻣ ﻪﻣﺎﻧﺮﺑ رد ،لﺎﺜﻣ نﺎﺸﻧ ار ﺮﺑرﺎﮐ ﯾ ﻪﺑ طﻮﺑﺮﻣ تﺎﻋﻼﻃا ﻪﮐ ﻢﯿﻨﮐ ﻣ دﺎﺠﯾا ار User سﻼﮐ ناﺮﺑرﺎﮐ ﺖﯾﺮﯾﺪﻣ یاﺮﺑ .دراد دﻮﺧ رد ار .ﺪﻫد ﻣ
// user.h
#include<iostream>
#include<string>
using namespace std;
class User{
private:
string name;
string username;
string password;
public:
void setName(string n);
void setUsername(string u);
void setPassword(string p);
string getName();
string getUsername();
string getPassword();
};
void User::setName(string n){
name = n;
}
void User::setUsername(string u){
username = u;
}
void User::setPassword(string p){
password = p;
}
string User::getUsername(){
return username;
}
string User::getPassword(){
return password;
}
string User::getName(){
return name;
}
ﻟﺮﺘﻨﮐ تارﻮﺘﺳد ناﻮﺗ ﻣ setUsername ﺎﯾ setPassword ﻊﺑاﻮﺗ رد لﺎﺜﻣ یاﺮﺑ ﺎﺠﻨﯾا رد ﻪﮐ ﺪﯿﻨﮐ ﺖﻗد ﺖﺸﻫ زا ﺮﺘﻤﮐ ﺎﺑ رﻮﺒﻋ ﺰﻣر ﺖﺒﺛ زا ﻢﯿﻧاﻮﺗ ﻣ لﺎﺜﻣ یاﺮﺑ .ﺪﺷﺎﺑ ﻪﺘﺷاد ار مزﻻ ﻂﯾاﺮﺷ هﺪﺷ دراو هداد ﺎﺗ داد راﺮﻗ
.ﻢﯿﻨﮐ یﺮﯿﮔﻮﻠﺟ فﺮﺣ
void User::setPassword(string p){
if(p.length() => 8) password = p;
else
cout<<"Error: Invalid password.";
}
ار ﺎﻬﯾزﺎﺑ و ناﺮﺑرﺎﮐ ﻪﺑ طﻮﺑﺮﻣ تﺎﻋﻼﻃا ﻪﮐ ﻢﯿﻨﮐ ﻣ دﺎﺠﯾا Application مﺎﻧ ﻪﺑ ﻠﺻا سﻼﮐ ﯾ ﻦﯿﻨﭽﻤﻫ جوﺮﺧ و دورو ،ﺪﯾﺪﺟ ﺮﺑرﺎﮐ دﺎﺠﯾا ﺪﻨﻧﺎﻣ ﻪﻣﺎﻧﺮﺑ ﻠﺻا تﺎﻧﺎ ﻣا سﻼﮐ ﻦﯾا ،ﺎﻬﻨﯾا ﺮﺑ هوﻼﻋ .ﺪﺷﺎﺑ ﻪﺘﺷاد دﻮﺧ رد سﻼﮐ رد ار ﺮﯾز تﺎﻧﺎ ﻣا ﻼﻌﻓ .ﺪﻨﮐ ﻣ یزﺎﺳ هدﺎﯿﭘ ﻊﺑاﻮﺗ زا یا ﻪﻋﻮﻤﺠﻣ ترﻮﺼﺑ ار ﺪﯾﺪﺟ درﻮﮐر ﺖﺒﺛ و ناﺮﺑﺎﮐ .دﺮﮐ ﻢﯿﻫاﻮﺧ ﺮﺘﻠﻣﺎﮐ اﺪﻌﺑ ار سﻼﮐ ﻦﯾا .ﻢﯿﻫد ﻣ راﺮﻗ Application // application.h
#include<iostream>
#include<string>
#include<vector>
#include "user.h"
class Application{
private:
vector <User> user_data; //for keeping user data
string active_user_id; // for storing the user_id of the online user // for getting the location of user in the corresponding vector user_data
int get_user_index(string str);
public:
void addUser();
void login();
// string getActiveUserID();
// void setActiveUserID(string str);
};
Application سﻼﮐ درﻮﻣ رد ﺗﺎﮑﻧ .دﻮﺷ ﻣ هﺮﯿﺧذ ﺖﺳا User عﻮﻧ زا ﻪﮐuser_dataمﺎﻧ ﻪﺑ یرﻮﺘﮐو رد ناﺮﺑرﺎﮐ ﻪﺑ طﻮﺑﺮﻣ تﺎﻋﻼﻃا • .دﻮﺷ ﻣ هﺮﯿﺧذactive_user_idﺮﯿﻐﺘﻣ رد ﺖﺳا هدﺮﮐ ﻦﯿﮔﻻ ﻪﮐ یدﺮﻓ یﺮﺑرﺎﮐ مﺎﻧ • ﻞﺧاد رد ﺎﻬﻨﺗ ﻪﮐ ﺖﺳا utility function ﯾ ﺎﺣﻼﻄﺻا ﻤﮐ ﻊﺑﺎﺗ ﯾget_user_index ﻊﺑﺎﺗ • ﻪﺑ .ﺖﺳا هﺪﺷ هداد راﺮﻗ private ﺖﻤﺴﻗ رد ﻊﺑﺎﺗ ﻦﯾا نﻼﻋا ﻪﮐ ﺪﯿﻨﮐ ﺖﻗد .دﻮﺷ ﻣ هدﺎﻔﺘﺳا نآ زا سﻼﮐ دﻮﺟو ترﻮﺻ رد و هدﺮﮐ ﺖﻓﺎﯾرد ﻪﺘﺷر ﯾ ﻊﺑﺎﺗ ﻦﯾا .ﺖﺳا ﺳﺮﺘﺳد ﻞﺑﺎﻗ سﻼﮐ ﻞﺧاد رد ﺎﻬﻨﺗ ﻞﯿﻟد ﻦﯿﻤﻫ یدﺮﺑرﺎﮐ مﺎﻧ ﺗرﻮﺻ رد .ﺪﻧادﺮﮔ ﻣﺮﺑ ارuser_data رﻮﺘﮐو رد ﻪﻃﻮﺑﺮﻣ یﺮﺑرﺎﮐ مﺎﻧ نﺪﺷ هﺮﯿﺧذ ﻞﺤﻣ
نﺎﺸﻧ ﻊﺑﺎﺗ ﻦﯾا ﺟوﺮﺧ زا ﻪﻧﻮﻤﻧ ﺪﻨﭼ ﺮﯾز ﻞ ﺷ رد .ﺪﻧادﺮﮔ ﻣﺮﺑ ار-1راﺪﻘﻣ ﺪﺷﺎﺑ ﻪﺘﺷاﺪﻧ دﻮﺟو هﺪﺷ هداد .ﺖﺳا هﺪﺷ هداد User عﻮﻧ زا ﺷ ﯾ ﺐﻟﺎﻗ رد ﻪﺑ ار نآ تﺎﻋﻼﻃا و هدﺮﮐ ﺖﻓﺎﯾرد ار ﺪﯾﺪﺟ ﺮﺑرﺎﮐ ﯾ addUser ﻊﺑﺎﺗ • مﺎﻧ ﺎﺑ یﺮﺑرﺎﮐ ﻪﮐ ﺖﺳا ﻦﯾا ﻪﺑ طﻮﺑﺮﻣ ﻊﺑﺎﺗ ﻦﯾا ﮔﺪﯿﭽﯿﭘ زا ﺸﺨﺑ .ﺪﻨﮐ ﻣ ﻪﻓﺎﺿاuser_dataیﺎﻬﺘﻧا ﻪﺑ
.دﻮﺸﻧ دﺎﺠﯾا یراﺮﮑﺗ یﺮﺑرﺎﮐ ﺖﯿﻘﻓﻮﻣ ﻦﯿﮔﻻ مﺎﯿﭘ دﻮﺟو ترﻮﺻ رد و هدﺮﮐ ﺖﻓﺎﯾرد ار ﺮﺑرﺎﮐ ﯾ رﻮﺒﻋ ﺰﻣر و یﺮﺑرﺎﮐ مﺎﻧ ﻢﻫ login ﻊﺑﺎﺗ •
.ﺪﻨﮐ ﻣ پﺎﭼ ﺰﯿﻣآ
Application سﻼﮐ ﻪﺑ طﻮﺑﺮﻣ ﻊﺑاﻮﺗ یزﺎﺳ هدﺎﯿﭘ int Application::get_user_index(string str){
User dummy;
for(int i=0;i<user_data.size();i++){
dummy=user_data[i];
if(dummy.getUsername()==str) return i;
}
return -1;
}
void Application::login(){
string str;
User u;
cout<<"Enter Userid:";
cin >> str;
int location= get_user_index(str);
if(location==-1)
cout<<"Error: Wrong userid.";
else{
cout<<"Enter Password:";
u = user_data[location];
cin >> str;
if(str== u.getPassword())
cout <<"Login Successful."<<endl;
else
cout<<"Error: Wrong password.";
} }
void Application::addUser(){
string str;
User u;
cout<<"Enter Username:";
cin >> str;
u.setUsername(str);
cout<<"Enter Userid:";
cin >> str;
if(get_user_index(str)!=-1)
cout<<"Error: Userid is already in use. Please try again.";
else{
u.setUserid(str);
cout<<"Enter Password:";
cin >> str;
u.setPassword(str);
user_data.push_back(u);
} }
.دﺮﮐ ﺖﺴﺗ زاﺪﻧا هار ﻪﻣﺎﻧﺮﺑ ﯾ زا هدﺎﻔﺘﺳا ﺎﺑ ار ﻪﻃﻮﺑﺮﻣ ﺪﮐ ناﻮﺗ ﻣ لﺎﺣ // game.cpp
#include<iostream>
#include "application.h"
using namespace std;
int main(){
Application app;
int choice;
while(1){
cout<<"\n 1 for AddUser, 2 for Login, 3 for Exit:"<<endl;
cin >> choice;
switch(choice){
case 1: app.addUser(); break;
case 2: app.login(); break;
case 3: return 0;
}
return 0;
}