链表:
#include <iostream>#include <string>#include <fstream>using namespace std;class Worker //职工基本信息类{PRivate:int id; //职工号int age;//年龄int postcode;//邮编int salary;//工资string name;//姓名string sex;//性别string department;//部门public:void setid(int id);void setage(int age);void setpostcode(int postcode);void setsalary(int salary);void setname(string name);void setsex(string sex);void setdepartment(string department);int getid();int getage();int getpostcode();int getsalary();string getname();string getsex();string getdepartment();};//赋值操作void Worker :: setid(int id){this->id = id;}void Worker :: setage(int age){this->age = age;}void Worker :: setpostcode(int postcode){this->postcode = postcode;}void Worker :: setsalary(int salary){this->salary = salary;}void Worker :: setname(string name){this->name = name;}void Worker :: setsex(string sex){this->sex = sex;}void Worker :: setdepartment(string department){this->department = department;}//取值操作int Worker :: getid(){return id;}int Worker :: getage(){return age;}int Worker :: getpostcode(){return postcode;}int Worker :: getsalary(){return salary;}string Worker :: getname(){return name;}string Worker :: getsex(){return sex;}string Worker :: getdepartment(){return department;}class WorkerList //职工系统功能实现类{private:Worker worker; class WorkerList *next; //定义指针域class WorkerList *head; //定义头结点public:void create(); //创建头结点void add();//职工信息录入void sal_sort();//职工信息排序(根据月薪排序)void search();//职工信息查找void dele();//职工信息删除 void change();//职工信息修改void save();//职工信息以文件形式保存void visitworker();//显示职工信息在屏幕上};typedef class WorkerList Node;typedef class WorkerList *w_Node; //定义一个指向WorkerList类的指针void WorkerList :: create(){head = new Node[sizeof(Node)];if (head == NULL){cout << "初始化失败" << endl;exit(1);}head -> next = NULL;}void WorkerList :: add() //增加{w_Node w_new = new Node[sizeof(Node)];if (w_new == NULL){cout << "申请结点失败" << endl;exit(2);}int id; //职工号int age;//年龄int postcode;//邮编int salary;//工资string name;//姓名string sex;//性别string department;//部门cout <<"请输入职工的职工号 :"<< endl;cin >> id;w_new -> worker.setid(id);cout <<"请输入职工的年龄 :"<< endl;cin >> age;w_new -> worker.setage(age);cout <<"请输入职工的邮编 :"<< endl;cin >> postcode;w_new -> worker.setpostcode(postcode);cout <<"请输入职工的工资 :"<< endl;cin >> salary;w_new -> worker.setsalary(salary);cout <<"请输入职工的姓名 :"<< endl;cin >> name;w_new -> worker.setname(name);cout <<"请输入职工的性别 :"<< endl;cin >> sex;w_new -> worker.setsex(sex);cout <<"请输入职工的部门 :"<< endl;cin >> department;w_new -> worker.setdepartment(department);//使用头插法if (head -> next == NULL){head -> next = w_new;w_new -> next = NULL;}else{w_new -> next = head -> next;head -> next = w_new;}}void WorkerList :: dele() //删除{int w_id;int flag = 0;cout << "请输入你要删除的职工id :" << endl;cin >> w_id; //输入你要删除的职工id; w_Node temp = head;while (temp -> next != NULL){//temp -> next -> worker.getid();if (w_id == temp -> next -> worker.getid()){w_Node tmp = temp -> next;temp -> next = temp -> next -> next;flag = 1;delete[] tmp;}else{temp = temp -> next;}}if (flag == 0){cout << "不存在此职工号,请重新输入id" << endl;}}void WorkerList :: search() //查找{//int id; //职工号//int age;//年龄//int postcode;//邮编//int salary;//工资//string name;//姓名//string sex;//性别//string department;//部门string w_name; //定义要查询的名字string w_department; //定义要查询的部门int flag = 0;int num; //功能选项cout << "** 1.通过名字查询 **" << endl;cout << "** 2.通过部门查询 **" << endl;do {cout <<"********************************"<< endl;cout <<"请输入你的选择: " << endl;cin >> num;} while (num < 1 || num > 2 );w_Node temp = head;switch(num){case 1:{cout << "请输入名字 : " << endl;cin >> w_name;while (temp -> next != NULL){if (temp -> next -> worker.getname() == w_name){temp -> next -> worker.getid();temp -> next -> worker.getage();temp -> next -> worker.getpostcode();temp -> next -> worker.getsalary();temp -> next -> worker.getname();temp -> next -> worker.getsex();temp -> next -> worker.getdepartment();cout <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; cout <<temp -> next -> worker.getid()<<"/t"<<temp -> next -> worker.getage()<<"/t"<<temp -> next -> worker.getpostcode()<<"/t"<<temp -> next -> worker.getsalary()<<"/t"<<temp -> next -> worker.getname()<<"/t"<<temp -> next -> worker.getsex()<<"/t"<<temp -> next -> worker.getdepartment()<< endl;flag++;}temp = temp -> next;}if (flag == 0){cout << "没有此职工名字,请重新输入" << endl;}break;}case 2:{cout << "请输入部门 : " << endl;cin >> w_department;while (temp -> next != NULL){if (temp -> next -> worker.getdepartment() == w_department){temp -> next -> worker.getid();temp -> next -> worker.getage();temp -> next -> worker.getpostcode();temp -> next -> worker.getsalary();temp -> next -> worker.getname();temp -> next -> worker.getsex();temp -> next -> worker.getdepartment();cout <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; cout <<temp -> next -> worker.getid()<<"/t"<<temp -> next -> worker.getage()<<"/t"<<temp -> next -> worker.getpostcode()<<"/t"<<temp -> next -> worker.getsalary()<<"/t"<<temp -> next -> worker.getname()<<"/t"<<temp -> next -> worker.getsex()<<"/t"<<temp -> next -> worker.getdepartment()<< endl;flag++;}temp = temp -> next;}if (flag == 0){cout << "没有此职工部门,请重新输入" << endl;}break;} }}void WorkerList :: change() //根据ID修改职工信息{/*int id;*/int w_id; //职工号int w_age;//年龄int w_postcode;//邮编int w_salary;//工资string w_name;//姓名string w_sex;//性别string w_department;//部门int num;int flag = 0;cout <<"请输入职工号:"<<endl;cin >> w_id;w_Node temp = head -> next;while (temp != NULL){if (temp -> worker.getid() == w_id){flag = 1;cout <<"--------------------------"<< endl;cout <<"| 1.修改年龄 |"<< endl;cout <<"| 2.修改邮编 |"<< endl; cout <<"| 3.修改工资 |"<< endl;cout <<"| 4.修改姓名 |"<< endl;cout <<"| 5.修改性别 |"<< endl;cout <<"| 6.修改部门 |"<< endl;cout <<"| 7.返回菜单 |"<< endl;cout <<"--------------------------"<< endl;cout << endl;do {cout << "请输入你要选择的操作(1-7) :" << endl;cin >> num;} while (num < 1 || num > 7 );switch(num){case 1:{cout <<"请输入你要修改的年龄:"<<endl;cin >> w_age;temp -> worker.setage(w_age);break;}case 2:{cout << "请输入你要修改的邮编:"<<endl;cin >> w_postcode;temp->worker.setpostcode(w_postcode);break;}case 3:{cout <<"请输入你要更改的工资:"<<endl;cin >> w_salary;temp -> worker.setsalary(w_salary);break;}case 4:{cout <<"请输入你要更改的姓名:"<<endl;cin >> w_name;temp -> worker.setname(w_name);break;}case 5:{cout <<"请输入你要更改的性别:"<<endl;cin >> w_sex;temp -> worker.setsex(w_sex);break;}case 6:{cout <<"请输入你要更改的部门:"<<endl;cin >> w_department;temp -> worker.setdepartment(w_department);break;}case 7:{return;}}}temp = temp -> next;}if (flag == 0){cout << "不存在此职工ID,请重新输入!" << endl;}}void WorkerList :: visitworker() //显示职工信息{//int id; //职工号//int age;//年龄//int postcode;//邮编//int salary;//工资//string name;//姓名//string sex;//性别//string department;//部门w_Node tmp = head -> next;if(tmp == NULL){return ;}while (tmp != NULL){tmp -> worker.getid();tmp -> worker.getage();tmp -> worker.getpostcode();tmp -> worker.getsalary();tmp -> worker.getname();tmp -> worker.getsex();tmp -> worker.getdepartment();cout <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; cout <<tmp -> worker.getid()<<"/t"<<tmp -> worker.getage()<<"/t"<<tmp -> worker.getpostcode()<<"/t"<<tmp -> worker.getsalary()<<"/t"<<tmp -> worker.getname()<<"/t"<<tmp -> worker.getsex()<<"/t"<<tmp -> worker.getdepartment()<< endl;tmp = tmp->next;}}void WorkerList :: save(){ofstream outfile("C://Users//Administrator//Desktop//1.txt", ios::app);if (!outfile){cerr<<"open erro"<<endl;exit(1);}//int id; //职工号//int age;//年龄//int postcode;//邮编//int salary;//工资//string name;//姓名//string sex;//性别//string department;//部门w_Node tmp = head -> next;while (tmp != NULL){tmp -> worker.getid();tmp -> worker.getage();tmp -> worker.getpostcode();tmp -> worker.getsalary();tmp -> worker.getname();tmp -> worker.getsex();tmp -> worker.getdepartment();outfile <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; outfile <<tmp -> worker.getid()<<"/t"<<tmp -> worker.getage()<<"/t"<<tmp -> worker.getpostcode()<<"/t"<<tmp -> worker.getsalary()<<"/t"<<tmp -> worker.getname()<<"/t"<<tmp -> worker.getsex()<<"/t"<<tmp -> worker.getdepartment()<< endl;tmp = tmp->next;}outfile.close();}void WorkerList :: sal_sort(){w_Node temp = NULL;int small;int max;string small2;string max2;if(head -> next == NULL){cout << "没有职工信息!" << endl;exit(3);}while (head -> next != NULL){temp = head -> next;while (temp -> next != NULL){ if (temp -> worker.getsalary() > temp -> next -> worker.getsalary()){ small = temp -> next -> worker.getid();max = temp -> worker.getid();temp -> next -> worker.setid(max);temp -> worker.setid(small);small = temp -> next -> worker.getage();max = temp -> worker.getage();temp -> next -> worker.setage(max);temp -> worker.setage(small);small = temp -> next -> worker.getpostcode();max = temp -> worker.getpostcode();temp -> next -> worker.setpostcode(max);temp -> worker.setpostcode(small);small = temp -> next -> worker.getsalary();max = temp -> worker.getsalary();temp -> next -> worker.setsalary(max);temp -> worker.setsalary(small);small2 = temp -> next -> worker.getname();max2 = temp -> worker.getname();temp -> next -> worker.setname(max2);temp -> worker.setname(small2);small2 = temp -> next -> worker.getsex();max2 = temp -> worker.getsex();temp -> next -> worker.setsex(max2);temp -> worker.setsex(small2);small2 = temp -> next -> worker.getdepartment();max2 = temp -> worker.getdepartment();temp -> next -> worker.setdepartment(max2);temp -> worker.setdepartment(small2);}temp = temp -> next;}head = head -> next;}}void menu();int main(){Node head;//创建一个类head.create();int num;while (1){menu();cout << "请输入你要选择的功能选项(0-7):" << endl;cin >> num;switch(num){case 1:{head.add(); break;}case 2:{head.change();break;}case 3:{head.dele();break;}case 4:{head.sal_sort();break;}case 5:{head.search();break;}case 6:{head.visitworker();break;}case 7:{head.save();break;}case 0:{exit(1);}default:{cout << "输入值无效,请重新输入" << endl;}}}return 0;}void menu() //菜单{cout<<endl;cout<<endl;cout<<"***********************************************"<<endl;cout<<"** **"<<endl;cout<<"** 职工信息管理系统主菜单 **"<<endl;cout<<"** **"<<endl;cout<<"** 1.职工信息添加 **"<<endl;cout<<"** 2.职工信息修改 **"<<endl;cout<<"** 3.职工信息删除 **"<<endl;cout<<"** 4.职工薪资排序 **"<<endl;cout<<"** 5.职工信息查找 **"<<endl;cout<<"** 6.职工信息显示 **"<<endl;cout<<"** 7.职工信息保存 **"<<endl;cout<<"** 0.退出 **"<<endl;cout<<"** **"<<endl;cout<<"***********************************************"<<endl;cout<<endl;}向量容器:
#include <iostream>#include <string>#include <fstream>#include <vector>#include <algorithm>using namespace std;class Worker //职工基本信息类{private:int id; //职工号int age;//年龄int postcode;//邮编int salary;//工资string name;//姓名string sex;//性别string department;//部门public:void setid(int id);void setage(int age);void setpostcode(int postcode);void setsalary(int salary);void setname(string name);void setsex(string sex);void setdepartment(string department);int getid();int getage();int getpostcode();int getsalary();string getname();string getsex();string getdepartment();friend ostream &Operator <<(ostream &out, Worker &worker);//重载输出bool operator==(Worker &worker);//重载等于bool operator<(Worker &worker);//重载小于};ostream &operator <<(ostream &out, Worker &worker){out <<worker.getid()<<"/t"<<worker.getage()<<"/t"<<worker.getpostcode()<<"/t"<<worker.getsalary()<<"/t"<<worker.getname()<<"/t"<<worker.getsex()<<"/t"<<worker.getdepartment();return out;}bool Worker :: operator==(Worker &worker){return this->salary == worker.salary;}bool Worker :: operator<(Worker &worker){return this->salary > worker.salary;}//赋值操作void Worker :: setid(int id){this->id = id;}void Worker :: setage(int age){this->age = age;}void Worker :: setpostcode(int postcode){this->postcode = postcode;}void Worker :: setsalary(int salary){this->salary = salary;}void Worker :: setname(string name){this->name = name;}void Worker :: setsex(string sex){this->sex = sex;}void Worker :: setdepartment(string department){this->department = department;}//取值操作int Worker :: getid(){return id;}int Worker :: getage(){return age;}int Worker :: getpostcode(){return postcode;}int Worker :: getsalary(){return salary;}string Worker :: getname(){return name;}string Worker :: getsex(){return sex;}string Worker :: getdepartment(){return department;}vector<Worker> s; //创建一个名为s的链表容器Worker worker;//定义一个对象void add() //注册职工信息{int id; //职工号int age;//年龄int postcode;//邮编int salary;//工资string name;//姓名string sex;//性别string department;//部门cout <<"请输入职工的职工号 :"<< endl;cin >> id;worker.setid(id);cout <<"请输入职工的年龄 :"<< endl;cin >> age;worker.setage(age);cout <<"请输入职工的邮编 :"<< endl;cin >> postcode;worker.setpostcode(postcode);cout <<"请输入职工的工资 :"<< endl;cin >> salary;worker.setsalary(salary);cout <<"请输入职工的姓名 :"<< endl;cin >> name;worker.setname(name);cout <<"请输入职工的性别 :"<< endl;cin >> sex;worker.setsex(sex);cout <<"请输入职工的部门 :"<< endl;cin >> department;worker.setdepartment(department);s.push_back(worker); //将信息插入容器内}void dele() //删除职工信息(通过id删除){int w_id;int flag = 0;int i;cout << "请输入你要删除的职工id :" << endl;cin >> w_id; //输入你要删除的职工id;for (i = 0; i < s.size(); i++){if (w_id == s[i].getid()){s.erase(s.begin() + i);cout << "删除成功" << endl;flag = 1;}}if (flag == 0){cout << "不存在此职工号,请重新输入id" << endl;}}void search(){string w_name; //定义要查询的名字string w_department; //定义要查询的部门int flag = 0;int i;int num; //功能选项cout << "** 1.通过名字查询 **" << endl;cout << "** 2.通过部门查询 **" << endl;do {cout <<"********************************"<< endl;cout <<"请输入你的选择: " << endl;cin >> num;} while (num < 1 || num > 2 );switch(num){case 1:{cout << "请输入名字 : " << endl;cin >> w_name; cout <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; for (i = 0; i < s.size(); i++){if (w_name == s.at(i).getname()){ cout << s[i] << endl;flag = 1;}}if (flag == 0){cout << "没有此职工名字,请重新输入" << endl;}break;}case 2:{cout << "请输入部门 : " << endl;cin >> w_department; cout <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; for (i = 0; i < s.size(); i++){if (w_name == s.at(i).getdepartment()){ cout << s[i] << endl;flag = 1;}}if (flag == 0){cout << "没有此职工部门,请重新输入" << endl;}break;}}}void change()//根据ID修改职工信息{int w_id; //职工号int w_age;//年龄int w_postcode;//邮编int w_salary;//工资string w_name;//姓名string w_sex;//性别string w_department;//部门int num;int i;int flag = 0;cout <<"请输入职工号:"<<endl;cin >> w_id;for (i = 0; i < s.size(); i++){if (w_id == s.at(i).getid()){flag = 1;cout <<"--------------------------"<< endl;cout <<"| 1.修改年龄 |"<< endl;cout <<"| 2.修改邮编 |"<< endl; cout <<"| 3.修改工资 |"<< endl;cout <<"| 4.修改姓名 |"<< endl;cout <<"| 5.修改性别 |"<< endl;cout <<"| 6.修改部门 |"<< endl;cout <<"| 7.返回菜单 |"<< endl;cout <<"--------------------------"<< endl;cout << endl;do {cout << "请输入你要选择的操作(1-7) :" << endl;cin >> num;} while (num < 1 || num > 7 );switch(num){case 1:{cout <<"请输入你要修改的年龄:"<<endl;cin >> w_age;s[i].setage(w_age);break;}case 2:{cout << "请输入你要修改的邮编:"<<endl;cin >> w_postcode; s[i].setpostcode(w_postcode);break;}case 3:{cout <<"请输入你要更改的工资:"<<endl;cin >> w_salary;s[i].setsalary(w_salary);break;}case 4:{cout <<"请输入你要更改的姓名:"<<endl;cin >> w_name;s[i].setname(w_name);break;}case 5:{cout <<"请输入你要更改的性别:"<<endl;cin >> w_sex;s[i].setsex(w_sex);break;}case 6:{cout <<"请输入你要更改的部门:"<<endl;cin >> w_department;s[i].setdepartment(w_department);break;}case 7:{return;}}}}if (flag == 0){cout << "不存在此职工ID,请重新输入!" << endl;}}void visitworker() //显示职工信息{int i;cout << endl;cout <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; for (i = 0; i < s.size(); i++){cout << s[i] << endl;}}void save() //写入文件{ofstream outfile("C://Users//周键钧//Desktop//1.txt", ios::app);if (!outfile){cerr<<"open erro"<<endl;exit(1);}int i;outfile <<"职工号/t"<<"年龄/t"<<"邮编/t"<<"工资/t"<<"姓名/t"<<"性别/t"<<"部门"<< endl; for (i = 0; i < s.size(); i++){ outfile << s[i] << endl;}outfile.close();}void sal_sort()//按工资排序{int i;sort(s.begin(), s.end());for (i = 0; i < s.size(); i++){cout << s[i] << endl;}}void menu() //菜单{cout<<endl;cout<<endl;cout<<"***********************************************"<<endl;cout<<"** **"<<endl;cout<<"** 职工信息管理系统主菜单 **"<<endl;cout<<"** **"<<endl;cout<<"** 1.职工信息添加 **"<<endl;cout<<"** 2.职工信息修改 **"<<endl;cout<<"** 3.职工信息删除 **"<<endl;cout<<"** 4.职工薪资排序 **"<<endl;cout<<"** 5.职工信息查找 **"<<endl;cout<<"** 6.职工信息显示 **"<<endl;cout<<"** 7.职工信息保存 **"<<endl;cout<<"** 0.退出 **"<<endl;cout<<"** **"<<endl;cout<<"***********************************************"<<endl;cout<<endl;}int main(){int num;while (1){menu();cout << "请输入你要选择的功能选项(0-7):" << endl;cin >> num;switch(num){case 1:{add(); break;}case 2:{change();break;}case 3:{dele();break;}case 4:{sal_sort();break;}case 5:{search();break;}case 6:{visitworker();break;}case 7:{save();break;}case 0:{exit(1);}default:{cout << "输入值无效,请重新输入" << endl;}}}return 0;}MySQL:#include <mysql.h>#include <iostream>#include <string>using namespace std;MYSQL *mysql;int id; //职工号int age;//年龄int postcode;//邮编int salary;//工资string name;//姓名string sex;//性别string department;//部门int w_id; //职工号int w_age;//年龄int w_postcode;//邮编int w_salary;//工资string w_name;//姓名string w_sex;//性别string w_department;//部门 int num;void menu();void add();void dele();void search();void change();void sal_sort();void visitworker();int main() {mysql = mysql_init(NULL);if (NULL == mysql){cout<<"error..."<<mysql_error(mysql)<< endl;}my_bool reconnect = true;mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect);mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "gbk");mysql_real_connect(mysql, "localhost", "root", "123456", "work", 3306, NULL, 0);int num;while (1){menu();cout << "请输入你要选择的功能选项(0-7):" << endl;cin >> num;switch(num){case 1:{add(); break;}case 2:{change();break;}case 3:{dele();break;}case 4:{sal_sort();break;}case 5:{search();break;}case 6:{visitworker();break;}case 0:{exit(1);}default:{cout << "输入值无效,请重新输入" << endl;}}}mysql_close(mysql);return 0;}void add() //注册职工信息{cout <<"请输入职工的职工号 :"<< endl;cin >> w_id;cout <<"请输入职工的年龄 :"<< endl;cin >> w_age;cout <<"请输入职工的邮编 :"<< endl;cin >> w_postcode;cout <<"请输入职工的工资 :"<< endl;cin >> w_salary;cout <<"请输入职工的姓名 :"<< endl;cin >> w_name;cout <<"请输入职工的性别 :"<< endl;cin >> w_sex; cout <<"请输入职工的部门 :"<< endl;cin >> w_department;//int ret = mysql_query(mysql, "insert into values (id, age, postcode, salary, 'name', 'sex', 'department'");char *insert_str = "insert into workers (id, age, postcode, salary, name, sex, department) values (%d, %d, %d, %d, '%s', '%s', '%s')";char str[1024];int ret;//插入注册信息到workers表sprintf(str, insert_str, w_id, w_age, w_postcode, w_salary, w_name.c_str(), w_sex.c_str(), w_department.c_str());ret = mysql_query(mysql, str);if (0 != ret){ cout<<"error---"<<mysql_error(mysql)<< endl;}else{cout << "** 信息注册成功 **" << endl;}}void dele()//删除职工信息(通过id删除){int w_id;cout << "请输入你要删除的职工id :" << endl;cin >> w_id; //输入你要删除的职工id;char *dele_str = "delete from workers where id = %d";char str[1024];sprintf(str, dele_str, w_id);int ret = mysql_query(mysql, str);if (0!= ret){cout<<"error+++"<<mysql_error(mysql)<< endl;}else{cout << "** 信息删除成功 **" << endl;}}void search(){string w_name; //定义要查询的名字string w_department; //定义要查询的部门char str[1024];char *search_str = "select * from work.workers where name = '%s'";char *search_str2 = "select * from work.workers where department = '%s'";int num; //功能选项cout << "** 1.通过名字查询 **" << endl;cout << "** 2.通过部门查询 **" << endl;do {cout <<"********************************"<< endl;cout <<"请输入你的选择: " << endl;cin >> num;} while (num < 1 || num > 2 );switch(num){case 1:{cout << "请输入名字 : " << endl;cin >> w_name;sprintf(str, search_str, w_name.c_str());// cout << "22222" << endl;MYSQL_RES *mysql_res;MYSQL_ROW mysql_row;int ret = mysql_query(mysql, str);if (0!= ret){cout<<"error***"<<mysql_error(mysql)<< endl;}else{ mysql_res = mysql_store_result(mysql);//获取字段个数int col = mysql_num_fields(mysql_res);//cout << col << endl;//获取返回结果的行数int row = mysql_num_rows(mysql_res);cout << "共查询到" << row << "条信息:" << endl;cout << endl;cout << "工号" << "/t" << "年龄" << "/t" << "邮编" << "/t" << "工资" << "/t" << "名字" << "/t" << "性别" << "/t" << "部门" << endl;while((mysql_row = mysql_fetch_row(mysql_res))){for (int i = 0; i < col ;i++){cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"/t";}cout << endl;}}break;}case 2:{cout << "请输入部门 : " << endl;cin >> w_department;sprintf(str, search_str2, w_department.c_str());MYSQL_RES *mysql_res;MYSQL_ROW mysql_row;int ret = mysql_query(mysql, str);if (0!= ret){cout<<"error///"<<mysql_error(mysql)<< endl;}else{ mysql_res = mysql_store_result(mysql);//获取字段个数int col = mysql_num_fields(mysql_res);//cout << col << endl;//获取返回结果的行数int row = mysql_num_rows(mysql_res);cout << "共查询到" << row << "条信息:" << endl;cout << endl;cout << "工号" << "/t" << "年龄" << "/t" << "邮编" << "/t" << "工资" << "/t" << "名字" << "/t" << "性别" << "/t" << "部门" << endl;while((mysql_row = mysql_fetch_row(mysql_res))){for (int i = 0; i < col ;i++){cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"/t";}cout << endl;}}break;}}}void change()//根据ID修改职工信息{int w_id; //职工号int w_age;//年龄int w_postcode;//邮编int w_salary;//工资string w_name;//姓名string w_sex;//性别string w_department;//部门int num;int flag = 1;cout <<"请输入职工号:"<<endl;cin >> w_id;if (flag == 1){cout <<"--------------------------"<< endl;cout <<"| 1.修改年龄 |"<< endl;cout <<"| 2.修改邮编 |"<< endl; cout <<"| 3.修改工资 |"<< endl;cout <<"| 4.修改姓名 |"<< endl;cout <<"| 5.修改性别 |"<< endl;cout <<"| 6.修改部门 |"<< endl;cout <<"| 7.返回菜单 |"<< endl;cout <<"--------------------------"<< endl;cout << endl;do {cout << "请输入你要选择的操作(1-7) :" << endl;cin >> num;} while (num < 1 || num > 7 );switch(num){case 1:{cout << "请输入你要修改的年龄:" << endl;cin >> w_age;char str[1024];char *up_str = "update work.workers set age = %d where id = %d";sprintf(str, up_str, w_age, w_id);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error : update" << endl;}else{cout << " 修改成功!" << endl;}break;}case 2:{cout << "请输入你要修改的邮编:" << endl;cin >> w_postcode;char str[1024];char *up_str = "update work.workers set postcode = %d where id = %d";sprintf(str, up_str, w_postcode, w_id);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error : update" << endl;}else{cout << "修改成功!" << endl;}break;}case 3:{cout << "请输入你要修改的工资:" << endl;cin >> w_salary;char str[1024];char *up_str = "update work.workers set salary = %d where id = %d";sprintf(str, up_str, w_salary, w_id);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error : update" << endl;}else{cout << "修改成功!" << endl;}break;}case 4:{cout << "请输入你要修改的姓名:" << endl;cin >> w_name;char str[1024];char *up_str = "update work.workers set name = '%s' where id = %d";sprintf(str, up_str, w_name.c_str(), w_id);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error : update" << endl;}else{cout << "修改成功!" << endl;}break;}case 5:{cout << "请输入你要修改的性别:" << endl;cin >> w_sex;char str[1024];char *up_str = "update work.workers set sex = '%s' where id = %d";sprintf(str, up_str, w_sex.c_str(), w_id);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error : update" << endl;}else{cout << "修改成功!" << endl;}break;break;}case 6:{cout << "请输入你要修改的部门:" << endl;cin >> w_department;char str[1024];char *up_str = "update work.workers set department = '%s' where id = %d";sprintf(str, up_str, w_department.c_str(), w_id);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error : update" << endl;}else{cout << "修改成功!" << endl;}break;break;}case 7:{return ;break;}}}}void sal_sort()//按照工资排序{char *sort_str = "select * from work.workers order by salary";char str[1024];sprintf(str, sort_str);MYSQL_RES *mysql_res;MYSQL_ROW mysql_row;int ret = mysql_query(mysql, str);if (0!= ret){cout<<"error***"<<mysql_error(mysql)<< endl;}else{ cout << "工号" << "/t" << "年龄" << "/t" << "邮编" << "/t" << "工资" << "/t" << "名字" << "/t" << "性别" << "/t" << "部门" << endl;mysql_res = mysql_store_result(mysql);//获取字段个数int col = mysql_num_fields(mysql_res);//cout << col << endl;//获取返回结果的行数int row = mysql_num_rows(mysql_res);while((mysql_row = mysql_fetch_row(mysql_res))){for (int i = 0; i < col ;i++){cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"/t";}cout << endl;}}}void visitworker()//职工信息显示{char *sel_str = "select * from work.workers";char str[1024];sprintf(str, sel_str);int ret = mysql_query(mysql, str);if (ret != 0){cout << "error :" << endl;}else{MYSQL_RES *mysql_res;MYSQL_ROW mysql_row;cout << "工号" << "/t" << "年龄" << "/t" << "邮编" << "/t" << "工资" << "/t" << "名字" << "/t" << "性别" << "/t" << "部门" << endl;mysql_res = mysql_store_result(mysql);//获取字段个数int col = mysql_num_fields(mysql_res);//cout << col << endl;//获取返回结果的行数int row = mysql_num_rows(mysql_res);while((mysql_row = mysql_fetch_row(mysql_res))){for (int i = 0; i < col ;i++){cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"/t";}cout << endl;}}}void menu() //菜单{cout<<endl;cout<<endl;cout<<"***********************************************"<<endl;cout<<"** **"<<endl;cout<<"** 职工信息管理系统主菜单 **"<<endl;cout<<"** **"<<endl;cout<<"** 1.职工信息添加 **"<<endl;cout<<"** 2.职工信息修改 **"<<endl;cout<<"** 3.职工信息删除 **"<<endl;cout<<"** 4.职工薪资排序 **"<<endl;cout<<"** 5.职工信息查找 **"<<endl;cout<<"** 6.职工信息显示 **"<<endl;cout<<"** 0.退出 **"<<endl;cout<<"** **"<<endl;cout<<"***********************************************"<<endl;cout<<endl;}
新闻热点
疑难解答
图片精选