Cpp Project :Phone Finder
#include <iostream>#include <stdio.h>#include <string.h>#include <fstream>#include <conio.h>#include <iomanip>#include <stdlib.h>using namespace std;
class Phone{ private: char brand[30]; char name[30]; char os[30]; char touchkey[30]; double size; char ram[30]; int memory; char wifi[30]; char camera[30]; char radio[30]; char cardslot[30]; int battery; int price; public:void set_brand(char*);
char* get_brand();void set_name(char*);
char* get_name();void set_os(char*);
char* get_os();void set_touchkey(char*);
char* get_touchkey();void set_size(double);
double get_size();void set_ram(char*);
char* get_ram();void set_memory(int);
int get_memory();void set_wifi(char*);
char* get_wifi();void set_camera(char*);
char* get_camera();void set_radio(char*);
char* get_radio();void set_cardslot(char*);
char* get_cardslot();void set_battery(int);
int get_battery();void set_price(int);
int get_price();};
//----------------------------------------------------------------------void Phone::set_brand(char inp_brand[30])
{strcpy(brand,inp_brand);
}
char* Phone::get_brand(){ return brand;}
void Phone::set_name(char inp_name[30])
{strcpy(name,inp_name);
}
char* Phone::get_name(){ return name;}
void Phone::set_os(char inp_os[30])
{strcpy(os,inp_os);
}
char* Phone::get_os(){ return os;}
void Phone::set_touchkey(char inp_touchkey[30])
{strcpy(touchkey,inp_touchkey);
}
char* Phone::get_touchkey(){ return touchkey;}
void Phone::set_size(double inp_size)
{size=inp_size;
}
double Phone::get_size(){ return size;}
void Phone::set_ram(char inp_ram[30])
{strcpy(ram,inp_ram);
}
char* Phone::get_ram(){ return ram;}
void Phone::set_memory(int inp_memory)
{memory=inp_memory;
}
int Phone::get_memory(){ return memory;}
void Phone::set_wifi(char inp_wifi[30])
{strcpy(wifi,inp_wifi);
}
char* Phone::get_wifi(){ return wifi;}
void Phone::set_camera(char inp_camera[30])
{strcpy(camera,inp_camera);
}
char* Phone::get_camera(){ return camera;}
void Phone::set_radio(char inp_radio[30])
{strcpy(radio,inp_radio);
}
char* Phone::get_radio(){ return radio;}
void Phone::set_cardslot(char inp_cardslot[30])
{strcpy(cardslot,inp_cardslot);
}
char* Phone::get_cardslot(){ return cardslot;}
void Phone::set_battery(int inp_battery)
{battery=inp_battery;
}
int Phone::get_battery(){ return battery;}
void Phone::set_price(int inp_price)
{price=inp_price;
}
int Phone::get_price(){ return price;}
//=================================================================typedef struct data{
char ibrand[30]; char iname[30]; char iios[30]; char itouchkey[30]; double isize; char iram[30]; int imemory; char iwifi[30]; char icamera[30]; char iradio[30]; char icardslot[30]; int ibattery; int iprice;}sdata;
//===========================================================================void show(Phone showphone){ cout<<"\n-----------------------------------\n\n";cout<<"Brand : "<<showphone.get_brand()<<" "<<showphone.get_name()<<endl;
cout<<"Operating System : "<<showphone.get_os()<<endl; cout<<"Touchscreen/Keypad: "<<showphone.get_touchkey()<<endl;cout<<"Display Size : "<<showphone.get_size()<<" inches"<<endl;
cout<<"RAM : "<<showphone.get_ram()<<endl; cout<<"Internal Memory : "<<showphone.get_memory()<<endl; cout<<"WLAN : "<<showphone.get_wifi()<<endl; cout<<"Secondary Camera : "<<showphone.get_camera()<<endl; cout<<"FM radio : "<<showphone.get_radio()<<endl; cout<<"Memory card slot : "<<showphone.get_cardslot()<<endl;cout<<"Battery : "<<showphone.get_battery()<<" mAh"<<endl;
cout<<"\n-----------------------------------\n\n";cout<<"Price: "<<showphone.get_price()<<" BDT"<<endl;
cout<<"\n-----------------------------------\n\n";}
//===================================================================void finder(sdata datain){Phone list[100];
sdata output;
int num=0; ifstream fileout("data.txt",ios::in);fileout>>output.ibrand;
fileout>>output.iname;
fileout>>output.iios;
fileout>>output.itouchkey;
fileout>>output.isize;
fileout>>output.iram;
fileout>>output.imemory;
fileout>>output.iwifi;
fileout>>output.icamera;
fileout>>output.iradio;
fileout>>output.icardslot;
fileout>>output.ibattery;
fileout>>output.iprice;
while (fileout) {list[num].set_brand(output.ibrand);
list[num].set_name(output.iname);
list[num].set_os(output.iios);
list[num].set_touchkey(output.itouchkey);
list[num].set_ram(output.iram);
list[num].set_memory(output.imemory);
list[num].set_size(output.isize);
list[num].set_wifi(output.iwifi);
list[num].set_camera(output.icamera);
list[num].set_radio(output.iradio);
list[num].set_cardslot(output.icardslot);
list[num].set_battery(output.ibattery);
list[num].set_price(output.iprice);
fileout>>output.ibrand;
fileout>>output.iname;
fileout>>output.iios;
fileout>>output.itouchkey;
fileout>>output.isize;
fileout>>output.iram;
fileout>>output.imemory;
fileout>>output.iwifi;
fileout>>output.icamera;
fileout>>output.iradio;
fileout>>output.icardslot;
fileout>>output.ibattery;
fileout>>output.iprice;
num++;
}
fileout.close();
int check=1;for (int i=0;i<num;i++)
{if (((strcmp(list[i].get_brand(),datain.ibrand)==0)||(strcmp(datain.ibrand,"0")==0))
&& ((strcmp(list[i].get_os(),datain.iios)==0)||(strcmp(datain.iios,"0")==0)) && ((strcmp(list[i].get_touchkey(),datain.itouchkey)==0)||(strcmp(datain.itouchkey,"0")==0))&& ((list[i].get_size()>=datain.isize)||(datain.isize==0))
&& ((strcmp(list[i].get_ram(),datain.iram)>=0)||(strcmp(datain.iram,"0")==0))&& ((list[i].get_memory()>=datain.imemory)||(datain.imemory==0))
&& ((strcmp(list[i].get_wifi(),"0")!=0)||(strcmp(datain.iwifi,"0")==0))
&& ((strcmp(list[i].get_camera(),datain.icamera)==0)||(strcmp(datain.icamera,"0")==0)) && ((strcmp(list[i].get_radio(),datain.iradio)==0)||(strcmp(datain.iradio,"0")==0)) && ((strcmp(list[i].get_cardslot(),datain.icardslot)==0)||(strcmp(datain.icardslot,"0")==0))&& ((list[i].get_battery()>=datain.ibattery)||(datain.ibattery==0)))
{show(list[i]);
check=0;
};
}
if (check==1) cout<<"Sorry, we have no phone with your request!\n\n";
}
//============================================================void getuserdata(){ char check; do{ int key;sdata input;
do { cout<<"\nchoose Brand:\n"; cout<<"[1].Nokia\t[2].Samsung\t[3].Sony\t[4].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.ibrand,"Nokia");break;
case 2:strcpy(input.ibrand,"Samsung");break;
case 3:strcpy(input.ibrand,"Sony");break;
case 4:strcpy(input.ibrand,"0");break;
default: cout<<"\n\nwrong key, please enter again!";
};
} while ((key!=1)&&(key!=2)&&(key!=3)&&(key!=4)); do { cout<<"\nchoose Operating System:\n"; cout<<"[1].Android\t[2].Windows Phone\t[3].Symbian\t[4].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.iios,"Android");break;
case 2:strcpy(input.iios,"Windows_Phone");break;
case 3:strcpy(input.iios,"Symbian");break;
case 4:strcpy(input.iios,"0");break;
default: cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)&&(key!=3)&&(key!=4)); do { cout<<"\nchoose Screen type:\n"; cout<<"[1].Touchscreen\t[2].Keypad\t[3].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.itouchkey,"Touchscreen");break;
case 2:strcpy(input.itouchkey,"Keypad");break;
case 3:strcpy(input.itouchkey,"0");break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)&&(key!=3)); do { cout<<"\nchoose Size: At least:\n"; cout<<"[1].2,0inches\t[2].3,0inches\t[3].4,0inches[4].5,0inches\t[5].It doesn't matter\n";cin>>key;
switch (key) {case 1:input.isize=2.0;break;
case 2:input.isize=3.0;break;
case 3:input.isize=4.0;break;
case 4:input.isize=5.0;break;
case 5:input.isize=0;break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)&&(key!=3)&&(key!=4)&&(key!=5)); do { cout<<"\nchoose RAM: At least:\n"; cout<<"[1].256MB\t[2].512MB\t[3].1GB\t[4].2GB\t[5].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.iram,".256 MB");break;
case 2:strcpy(input.iram,".512 MB");break;
case 3:strcpy(input.iram,"1 GB");break;
case 4:strcpy(input.iram,"2 GB");break;
case 5:strcpy(input.iram,"0");break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)&&(key!=3)&&(key!=4)&&(key!=5)); do{ cout<<"\nchoose memory: At least:\n"; cout<<"[1].1GB\t\t[2].2GB\t\t[3].4GB\t\t[4].8GB\t\t[5].16GB\t[6].It doesn't matter\n";cin>>key;
switch (key) {case 1:input.imemory=1 ;break;
case 2:input.imemory=2 ;break;
case 3:input.imemory=4 ;break;
case 4:input.imemory=8 ;break;
case 5:input.imemory=16;break;
case 6:input.imemory=0;break;
default: cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)&&(key!=3)&&(key!=4)&&(key!=5)&&(key!=6)); do { cout<<"\nchoose Wifi option:\n"; cout<<"[1].Required\t[2].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.iwifi,"1");break;
case 2:strcpy(input.iwifi,"0");break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)); do { cout<<"\nchoose Secondary Camera option:\n"; cout<<"[1].Required\t[2].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.icamera,"Yes");break;
case 2:strcpy(input.icamera,"0");break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)); do { cout<<"\nchoose FM radio option:\n"; cout<<"[1].Required\t[2].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.iradio,"Yes");break;
case 2:strcpy(input.iradio,"0");break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)); do { cout<<"\nchoose Memory card slot option:\n"; cout<<"[1].Required\t[2].It doesn't matter\n";cin>>key;
switch (key) {case 1:strcpy(input.icardslot,"Yes");break;
case 2:strcpy(input.icardslot,"0");break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)); do { cout<<"\nchoose battery option: At least\n"; cout<<"[1].1500mAh\t[2].2500mAh\t[3].3500mAh\t[4].4500mAh\t[5].It doesn't matter\n";cin>>key;
switch (key) {case 1:input.ibattery=1500;break;
case 2:input.ibattery=2500;break;
case 3:input.ibattery=3500;break;
case 4:input.ibattery=4500;break;
case 5:input.ibattery=0;break;
default:cout<<"\n\nwrong key, please enter again!";
}
} while ((key!=1)&&(key!=2)&&(key!=3)&&(key!=4)&&(key!=5)); cout<<"\n=============================================="; cout<<"\n\nYOUR SEARCH RESULT:\n\n";finder(input);
cout<<"\n\nDo you want search continue?\n"; cout<<"[1].yes\t[2].no\n";fflush(stdin);
cin>>check;
} while (check=='1');
}
//===============================================================void input_data(){ ofstream filein("data.txt",ios::out|ios::app);sdata input;
char key;do{cout<<"\nbrand (type Nokia or Samsung or Sony): ";
fflush(stdin);
gets(input.ibrand);
cout<<"\nphone name (e.g: Lumia_920): ";fflush(stdin);
gets(input.iname);
cout<<"\nOperating system (type Android or Windows_Phone or Symbian): ";fflush(stdin);
cin>>input.iios;
cout<<"\nTouchscreen/Keypad: (type Touchsreen or Keypad): ";fflush(stdin);
gets(input.itouchkey);
cout<<"\nsize (e.g: 3.5): ";cin>>input.isize;
cout<<"\nram (e.g: 1GB): ";fflush(stdin);
gets(input.iram);
cout<<"\nMemory (e.g: 8): ";fflush(stdin);
cin>>input.imemory;
cout<<"\nWifi (e.g: Wifi 802.11 a/b/g/n or 0): ";fflush(stdin);
gets(input.iwifi);
cout<<"\nSecondary camera: (type Yes or No): ";fflush(stdin);
gets(input.icamera);
cout<<"\nFM radio: (type Yes or No): ";fflush(stdin);
gets(input.iradio);
cout<<"\nMemory card slot: (type Yes or No): ";fflush(stdin);
gets(input.icardslot);
cout<<"\nbattery (e.g: 2300): ";cin>>input.ibattery;
cout<<"\nPrice (e.g: 5000): ";cin>>input.iprice;
cout<<"\n do you want add more? enter 0 to continue or another number to finish!";fflush(stdin);
cin>>key;
filein<<input.ibrand<<endl;
filein<<input.iname<<endl;
filein<<input.iios<<endl;
filein<<input.itouchkey<<endl;
filein<<input.isize<<endl;
filein<<input.iram<<endl;
filein<<input.imemory<<endl;
filein<<input.iwifi<<endl;
filein<<input.icamera<<endl;
filein<<input.iradio<<endl;
filein<<input.icardslot<<endl;
filein<<input.ibattery<<endl;
filein<<input.iprice;
filein<<endl;
}while (key=='0');
filein.close();
}
//===============================================================//===============================================================int main(){ char choose;do{ cout<<"\n\tMENU: \n\n"; cout<<"[1]. Input Phone Data(admin)\n\n"; cout<<"[2]. Search Phone (user)\n\n"; cout<<"[3]. Exit!\n\n";fflush(stdin);
cin>>choose;
switch (choose) {case '1': input_data();break;
case '2': getuserdata();break;
case '3': exit(0);
default: cout<<"\n\nWrong key! please enter again!";
}
} while((choose!='1')&&(choose!='2'));
}
No comments:
Post a Comment