Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <iomanip>
- #include <vector>
- using namespace std;
- struct Acc {
- vector<string> user;
- vector<string> pass;
- };
- struct Product {
- vector<string> id;
- vector<string> ten;
- vector<string> nsx;
- vector<string> hsd;
- vector<int> soluong;
- vector<int> gia;
- };
- struct Buy_Product {
- vector<string> kh;
- vector<string> id;
- vector<string> ten;
- vector<string> hsd;
- vector<int> soluong;
- vector<int> tongtien;
- };
- void productinfo(Product &pro);
- void accinfo(Acc &adm, Acc &man, Acc &cus);
- bool login(string &user,string &pass, Acc &acc, int &x);
- void main_admin(Acc &ad, Acc &ma, Acc &cu,int &z,Product &pro, Buy_Product &giohang);
- void main_customer(Acc &ad,Acc &ma, Acc &cu,int &z,Product &pro,Buy_Product &giohang);
- void main_manager(Acc &ad, Acc &ma, Acc &cu, int &z, Product &pro, Buy_Product &giohang);
- bool del(Acc &acc);
- void list(Acc &acc);
- bool add(Acc &acc);
- void reset(Acc &acc,int &z);
- void start(Acc &adm, Acc &man, Acc &cus, Product &pro, Buy_Product &giohang);
- bool search_acc(Acc &acc, string &s);
- bool search_pro(Product &pro, string &s, int &m);
- int main(){
- Acc adm, man, cus;
- Product pro;
- Buy_Product giohang;
- accinfo(adm, man, cus);
- productinfo(pro);
- start(adm,man,cus,pro,giohang);
- system("pause");
- }
- void start(Acc &adm,Acc &man, Acc &cus,Product &pro,Buy_Product &giohang) {
- string u, p;
- int n, z;
- int a;
- cout << "1.Dang nhap 2.Tim kiemn 3.Thoat\n";
- do { cin >> a; } while (a > 3 || a < 1);
- if (a == 2) {
- cout << "1.Tim kiem tai khoan 2.Tim kiem san pham\n";
- int b;
- do {
- cin >> b;
- } while (b > 2 || b < 1);
- if (b == 1) {
- string s;
- cout << "Ban muon tim: \n";
- cout << "1.Admin 2.Manager 3.Customer\n";
- int c;
- do { cin >> c; } while (c > 3 || c < 1);
- if (c == 1) {
- do {
- cout << "Nhap username can tim: ";
- cin >> s;
- } while (search_acc(adm, s) == 0);
- cout << setw(25)<< "Quan tri vien"<<endl;
- int d;
- cout << "Nhan 1 de tro ve!\n";
- do { cin >> d; } while (d != 1);
- if (d == 1)
- start(adm, man, cus, pro, giohang);
- }
- if (c == 2) {
- do {
- cout << "Nhap username can tim: ";
- cin >> s;
- } while (search_acc(man, s) == 0);
- cout << setw(25) << "Nhan vien" << endl;
- int d;
- cout << "Nhan 1 de tro ve!\n";
- do { cin >> d; } while (d != 1);
- if (d == 1)
- start(adm, man, cus, pro, giohang);
- }
- if (c == 3) {
- do {
- cout << "Nhap username can tim: ";
- cin >> s;
- } while (search_acc(cus, s) == 0);
- cout << setw(25) << "Khach hang" << endl;
- int d;
- cout << "Nhan 1 de tro ve!\n";
- do { cin >> d; } while (d != 1);
- if (d == 1)
- start(adm, man, cus, pro,giohang);
- }
- }
- if (b == 2) {
- string p;
- int m;
- do {
- cout << "Nhap id san pham can tim: ";
- cin >> p;
- } while (search_pro(pro, p, m) == 0);
- int c;
- cout << "Nhan 1 de tro ve!\n";
- do { cin >> c; } while (c != 1);
- if (c == 1)
- start(adm, man, cus, pro, giohang);
- }
- }
- if (a == 1) {
- cout << "Nhap tai khoan ban muon dang nhap!\n";
- cout << "1.admin 2.manager 3.customer\n";
- do { cin >> n; } while (n > 3 || n < 1);
- if (n == 1) {
- do {
- cout << "nhap user: ";
- cin >> u;
- cout << "nhap pass: ";
- cin >> p;
- login(u, p, adm, z);
- } while (login(u, p, adm, z) == false);
- cout << "Ban dang nhap thanh cong!\n";
- main_admin(adm, man, cus, z, pro, giohang);
- }
- if (n == 2) {
- do {
- cout << "nhap user: ";
- cin >> u;
- cout << "nhap pass: ";
- cin >> p;
- login(u, p, man, z);
- } while (login(u, p, man, z) == false);
- cout << "Ban dang nhap thanh cong!\n";
- main_manager(adm, man, cus, z, pro, giohang);
- }
- if (n == 3) {
- do {
- cout << "nhap user: ";
- cin >> u;
- cout << "nhap pass: ";
- cin >> p;
- login(u, p, cus, z);
- } while (login(u, p, cus, z) == false);
- cout << "Ban dang nhap thanh cong!\n";
- main_customer(adm, man, cus, z, pro, giohang);
- }
- }
- if (a == 3) {}
- }
- bool login(string &user, string &pass, Acc &acc,int &z) {
- for (int i = 0; i <acc.user.size(); i++) {
- if (user == acc.user[i] && pass == acc.pass[i])
- {
- z = i;
- return true;
- break;
- }
- else if (i == acc.user.size() - 1)
- return false;
- }
- }
- void accinfo(Acc &adm, Acc &man, Acc &cus) {
- adm.user.push_back("admin");
- adm.pass.push_back("12345");
- man.user.push_back("manager_1");
- man.pass.push_back("12345");
- man.user.push_back("manager_2");
- man.pass.push_back("12345");
- cus.user.push_back("customer_1");
- cus.pass.push_back("12345");
- cus.user.push_back("customer_2");
- cus.pass.push_back("12345");
- }
- void productinfo(Product &pro) {
- pro.id.push_back("1432");
- pro.ten.push_back("Bia Tiger");
- pro.nsx.push_back("23/02/2016");
- pro.hsd.push_back("23/02/2017");
- pro.soluong.push_back(30);
- pro.gia.push_back(270000);
- pro.id.push_back("1433");
- pro.ten.push_back("Bia 333");
- pro.nsx.push_back("11/04/2016");
- pro.hsd.push_back("11/04/2017");
- pro.soluong.push_back(24);
- pro.gia.push_back(240000);
- }
- void main_admin(Acc &ad, Acc &ma, Acc &cu,int &z, Product &pro, Buy_Product &giohang) {
- cout << setw(50) << "-------------------------------------------------"<<endl;
- cout << setw(45) << left << "-1. Danh sanh tai khoan" << setw(5) << right << "-"<<endl;
- cout << setw(45) << left << "-2. Xoa tai khoan" << setw(5) << right << "-"<<endl;
- cout << setw(45) << left << "-3. Them tai khoan" << setw(5) << right << "-"<<endl;
- cout << setw(45) << left << "-4. Cai lai mat khau" << setw(5) << right << "-"<<endl;
- cout << setw(45) << left << "-5. Dang xuat" << setw(5) << right << "-"<<endl;
- cout << setw(50) << "-------------------------------------------------"<<endl;
- int n;
- do {
- cin >> n;
- } while (n > 5 || n < 1);
- if (n == 1) {
- cout << "Danh sach nhan vien: \n";
- list(ma);
- cout << "Danh sach khach hang: \n";
- list(cu);
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_admin(ad, ma, cu,z,pro,giohang);
- }
- if (n == 2) {
- int m;
- cout << "Nhap loai tai khoan ban muon xoa: \n";
- cout << "1.Manager 2.Customer\n";
- do { cin >> m; } while (m > 2 || m < 1);
- if (m == 1) {
- del(ma);
- }
- else if (m == 2)
- {
- del(cu);
- }
- int o;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> o; } while(o!=1);
- if (o == 1)
- main_admin(ad, ma, cu,z,pro,giohang);
- }
- if(n==3) {
- int m;
- cout << "Nhap loai tai khoan ban muon them: \n";
- cout << "1.Manager 2.Customer\n";
- do {
- cin >> m;
- }while(m>2||m<1);
- if (m == 1) {
- add(ma);
- }
- else if (m == 2) {
- add(cu);
- }
- cout << "Them tai khoan thanh cong!\n";
- int o;
- cout << "Nhan 1 de tro lai!\n";
- do {
- cin >> o;
- }while(o!=1);
- if (o == 1)
- main_admin(ad, ma, cu,z,pro,giohang);
- }
- if (n == 4) {
- reset(ad, z);
- int m;
- cout << "Nhan 1 de tro ve!\n";
- do {
- cin >> m;
- } while (m != 1);
- if (m == 1)
- main_admin(ad, ma, cu, z, pro,giohang);
- }
- if (n == 5) {
- cout << "Ban dang xuat thanh cong!\n";
- start(ad, ma, cu, pro,giohang);
- }
- }
- void main_manager(Acc &ad, Acc &ma, Acc &cu, int &z,Product &pro, Buy_Product &giohang){
- cout << setw(50) << "-------------------------------------------------" << endl;
- cout << setw(45) << left << "-1. Danh sanh khach hang" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-2. Danh sach hang hoa" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-3. Them hang hoa" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-4. Xoa hang hoa" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-5. Cai lai mat khau" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-6. Quan li gio hang" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-7. Dang xuat" << setw(5) << right << "-" << endl;
- cout << setw(50) << "-------------------------------------------------" << endl;
- int n;
- do { cin >> n; } while (n > 7 || n < 1);
- if (n == 1) {
- cout << "Danh sach khach hang: \n";
- list(cu);
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while(m!=1);
- if (m == 1)
- main_manager(ad, ma, cu, z, pro,giohang);
- }
- if (n == 2) {
- cout << "Danh sach hang hoa: \n";
- cout << setw(10) << left << "ID" <<
- setw(40) << left << "Ten SP" <<
- setw(20) << left << "NSX" <<
- setw(20) << left << "HSD" <<
- setw(10) << left << "SL" <<
- setw(20) << left << "Gia" << endl;
- for (int i = 0; i < pro.id.size(); i++) {
- cout << setw(10) << left << pro.id[i] <<
- setw(40) << left << pro.ten[i] <<
- setw(20) << left << pro.nsx[i] <<
- setw(20) << left << pro.hsd[i] <<
- setw(10) << left << pro.soluong[i] <<
- setw(20) << left << pro.gia[i] << endl;
- }
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_manager(ad, ma, cu, z, pro,giohang);
- }
- if (n == 3) {
- string ID, name, NSX, HSD;
- bool x;
- do {
- cout << "Nhap id san pham ban muon them: ";
- cin >> ID;
- for (int i = 0; i < pro.id.size(); i++) {
- if (ID == pro.id[i]) {
- cout << "ID da ton tai!\n";
- x = false;
- break;
- }
- else if (i == pro.id.size() - 1)
- x = true;
- }
- } while (x == false);
- cout << "Nhap ten san pham: ";
- cin.ignore(1);
- getline(cin, name);
- cout << "Nhap ngay san xuat: ";
- cin.ignore(1);
- getline(cin, NSX);
- cout << "Nhap han su dung: ";
- cin.ignore(1);
- getline(cin, HSD);
- int SL;
- cout << "Nhap so luong san pham: ";
- cin >> SL;
- int GIA;
- cout << "Nhap gia san pham: ";
- cin >> GIA;
- pro.id.push_back(ID);
- pro.ten.push_back(name);
- pro.nsx.push_back(NSX);
- pro.hsd.push_back(HSD);
- pro.soluong.push_back(SL);
- pro.gia.push_back(GIA);
- cout << "Them san pham thanh cong!\n";
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_manager(ad, ma, cu, z, pro,giohang);
- }
- if (n == 4) {
- string id;
- int y;
- bool x;
- do {
- cout << "Nhap id cua san pham ma ban muon xoa: ";
- cin >> id;
- for (int i = 0; i < pro.id.size(); i++) {
- if (id == pro.id[i]) {
- y = i;
- x = true;
- break;
- }
- else if (i == pro.id.size() - 1) {
- x = false;
- cout << "id khong ton tai!\n";
- }
- }
- } while (x == false);
- pro.id.erase(pro.id.begin() + y);
- pro.ten.erase(pro.ten.begin() + y);
- pro.nsx.erase(pro.nsx.begin() + y);
- pro.hsd.erase(pro.hsd.begin() + y);
- pro.soluong.erase(pro.soluong.begin() + y);
- pro.gia.erase(pro.gia.begin() + y);
- cout << "Ban xoa san pham thanh cong!\n";
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_manager(ad, ma, cu, z, pro, giohang);
- }
- if (n == 5) {
- reset(ma, z);
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_manager(ad, ma, cu, z, pro, giohang);
- }
- if (n == 6) {
- if (giohang.id.size() == 0)
- cout << "Chua co khach mua hang!\n";
- else
- {
- cout << setw(20) << left << "Khach hang" <<
- setw(10) << left << "ID" <<
- setw(40) << left << "Ten SP" <<
- setw(20) << left << "HSD" <<
- setw(10) << left << "SL" <<
- setw(20) << left << "Tong Tien" << endl;
- for (int i = 0; i < giohang.id.size(); i++) {
- cout << setw(20) << left << giohang.kh[i] <<
- setw(10) << left << giohang.id[i] <<
- setw(40) << left << giohang.ten[i] <<
- setw(20) << left << giohang.hsd[i] <<
- setw(10) << left << giohang.soluong[i] <<
- setw(20) << left << giohang.tongtien[i] << endl;
- }
- }
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_manager(ad, ma, cu, z, pro, giohang);
- }
- if (n == 7) {
- cout << "Ban dang xuat thanh cong!\n";
- start(ad, ma, cu, pro,giohang);
- }
- }
- void main_customer(Acc &ad, Acc &ma, Acc &cu, int &z, Product &pro, Buy_Product &giohang) {
- cout << setw(50) << "-------------------------------------------------" << endl;
- cout << setw(45) << left << "-1. Xem gio hang" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-2. Tim kiem san pham" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-3. Danh sach san pham" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-4. Thay doi mat khau" << setw(5) << right << "-" << endl;
- cout << setw(45) << left << "-5. Dang xuat" << setw(5) << right << "-" << endl;
- cout << setw(50) << "-------------------------------------------------" << endl;
- int n;
- do {
- cin >> n;
- } while (n > 5 || n < 1);
- if (n == 1) {
- if (giohang.id.size() == 0)
- cout << "Ban chua mua hang, moi ban them san pham vao gio hang!\n";
- else {
- cout << setw(10) << left << "ID" <<
- setw(40) << left << "Ten SP" <<
- setw(20) << left << "HSD" <<
- setw(10) << left << "SL" <<
- setw(20) << left << "Tong Tien" << endl;
- for (int i = 0; i < giohang.id.size(); i++) {
- if (giohang.kh[i] == cu.user[z]) {
- cout << setw(10) << left << giohang.id[i] <<
- setw(40) << left << giohang.ten[i] <<
- setw(20) << left << giohang.hsd[i] <<
- setw(10) << left << giohang.soluong[i] <<
- setw(20) << left << giohang.tongtien[i] << endl;
- }
- else if (i == giohang.id.size() - 1)
- cout << "Ban chua mua hang, moi ban them san pham vao gio hang!\n";
- }
- }
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_customer(ad, ma, cu, z, pro,giohang);
- }
- if (n == 2) {
- string p;
- int m;
- do {
- cout << "Nhap id san pham can tim: ";
- cin >> p;
- } while (search_pro(pro, p, m) == 0);
- int x;
- cout << "Ban co muon them san pham nay vao gio hang khong?\n";
- cout << "1. Them vao gio hang 2.Thoat\n";
- cin >> x;
- if (x == 1) {
- int y;
- cout << "Nhap so luong muon mua: ";
- cin >> y;
- while (y > pro.soluong[m]) {
- cout << "San pham con it hon so ban nhap, vui long nhap lai :";
- cin >> y;
- };
- giohang.kh.push_back(cu.user[z]);
- giohang.id.push_back(pro.id[m]);
- giohang.ten.push_back(pro.ten[m]);
- giohang.hsd.push_back(pro.hsd[m]);
- giohang.soluong.push_back(y);
- pro.soluong[m] = pro.soluong[m] - y;
- giohang.tongtien.push_back(y*pro.gia[m]);
- int a;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> a; } while (a != 1);
- if (a == 1)
- main_customer(ad, ma, cu, z, pro, giohang);
- }
- else if (x == 2) {
- main_customer(ad, ma, cu, z, pro, giohang);
- }
- }
- if (n == 3) {
- cout << "Danh sach san pham: \n";
- cout << setw(10) << left << "ID" <<
- setw(40) << left << "Ten SP" <<
- setw(20) << left << "NSX" <<
- setw(20) << left << "HSD" <<
- setw(10) << left << "SL" <<
- setw(20) << left << "Gia" << endl;
- for (int i = 0; i < pro.id.size(); i++) {
- cout << setw(10) << left << pro.id[i] <<
- setw(40) << left << pro.ten[i] <<
- setw(20) << left << pro.nsx[i] <<
- setw(20) << left << pro.hsd[i] <<
- setw(10) << left << pro.soluong[i] <<
- setw(20) << left << pro.gia[i] << endl;
- }
- string a;
- int b;
- bool c;
- do {
- cout << "Nhap id san pham ban muon mua(them vao gio hang): ";
- cin >> a;
- for (int i = 0; i < pro.id.size(); i++) {
- if (a == pro.id[i]) {
- cout << "Nhap so luong muon mua: ";
- cin >> b;
- while (b > pro.soluong[i]) {
- cout << "San pham con it hon so ban nhap, vui long nhap lai :";
- cin >> b;
- }
- giohang.kh.push_back(cu.user[z]);
- giohang.id.push_back(pro.id[i]);
- giohang.ten.push_back(pro.ten[i]);
- giohang.hsd.push_back(pro.hsd[i]);
- giohang.soluong.push_back(b);
- pro.soluong[i] = pro.soluong[i] - b;
- giohang.tongtien.push_back(b*pro.gia[i]);
- cout << "San pham da them vao gio hang!\n";
- c = true;
- break;
- }
- else if (i == pro.id.size() - 1)
- cout << "ID khong ton tai!\n";
- c = false;
- }
- } while (c == false);
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_customer(ad, ma, cu, z, pro,giohang);
- }
- if (n == 4) {
- reset(cu, z);
- int m;
- cout << "Nhan 1 de tro lai!\n";
- do { cin >> m; } while (m != 1);
- if (m == 1)
- main_customer(ad, ma, cu, z, pro,giohang);
- }
- if (n == 5) {
- cout << "Ban dang xuat thanh cong!\n";
- start(ad, ma, cu, pro, giohang);
- }
- }
- void list(Acc &acc) {
- cout << setw(25) << left << "Username" << setw(25) << right << "Password\n";
- for (int i = 0; i < acc.user.size(); i++) {
- cout << setw(25) << left<< acc.user[i] << setw(25) << right << acc.pass[i]<<endl;
- }
- }
- bool del(Acc &acc) {
- string us;
- int y;
- bool x;
- do {
- cout << "Nhap user cua nhan vien ma ban muon xoa: ";
- cin >> us;
- for (int i = 0; i < acc.user.size(); i++) {
- if (us == acc.user[i]) {
- y = i;
- x = true;
- break;
- }
- else if (i == acc.user.size() - 1) {
- x = false;
- cout << "user khong ton tai!\n";
- }
- }
- } while (x == false);
- acc.user.erase(acc.user.begin() + y);
- acc.pass.erase(acc.pass.begin() + y);
- cout << "Ban xoa tai khoan thanh cong!\n";
- return 1;
- }
- bool add(Acc &acc) {
- string us,pa;
- bool x;
- do {
- cout << "Nhap username ban muon them: ";
- cin >> us;
- for (int i = 0; i < acc.user.size(); i++) {
- if (us == acc.user[i]) {
- cout << "Account da ton tai!\n";
- break;
- x = false;
- }
- else if (i == acc.user.size() - 1)
- x = true;
- }
- } while (x == false);
- cout << "Nhap password: ";
- cin >> pa;
- acc.user.push_back(us);
- acc.pass.push_back(pa);
- return 1;
- }
- void reset(Acc &acc,int &z) {
- string p_old, p_new;
- cout << "Nhap mat khau cu: ";
- cin >> p_old;
- while (p_old != acc.pass[z]) {
- cout << "Nhap sai. Nhap lai mat khau cu: ";
- cin >> p_old;
- }
- cout << "Nhap mat khau moi: ";
- cin >> p_new;
- acc.pass[z] = p_new;
- cout << "Doi mat khau thanh cong!\n";
- cout << endl << acc.pass[z] << endl;
- }
- bool search_acc(Acc &acc, string &s) {
- for (int i = 0; i < acc.user.size(); i++) {
- if (s == acc.user[i]) {
- cout << setw(25) << left << "Username" <<
- setw(25) << left << "Password" <<
- setw(25) <<"Loai tai khoan"<<endl;
- cout << setw(25) << left << acc.user[i] <<
- setw(25) << left << acc.pass[i];
- return 1;
- break;
- }
- else if (i == acc.user.size() - 1)
- {
- cout << "Khong tim thay tai khoan!\n";
- return 0;
- }
- }
- }
- bool search_pro(Product &pro, string &s, int &m) {
- for (int i = 0; i < pro.id.size(); i++) {
- if (s == pro.id[i]) {
- cout << setw(10) << left << "ID" <<
- setw(40) << left << "Ten SP" <<
- setw(20) << left << "NSX" <<
- setw(20) << left << "HSD" <<
- setw(10) << left << "SL" <<
- setw(20) << left << "Gia" << endl;
- cout << setw(10) << left << pro.id[i] <<
- setw(40) << left << pro.ten[i] <<
- setw(20) << left << pro.nsx[i] <<
- setw(20) << left << pro.hsd[i] <<
- setw(10) << left << pro.soluong[i] <<
- setw(20) << left << pro.gia[i] << endl;
- m = i;
- return 1;
- break;
- }
- else if (i == pro.id.size() - 1) {
- cout << "Khong tim thay san pham!\n";
- return 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement