#include <iostream>
#include <mysql.h>//数据库
#include <string>
#include <fstream>
#include <algorithm>//算法
using namespace std;
MYSQL *mysql;//创建一个指向数据库的全局指针
//定义全局的属性
int id;//职工号
int age;//年龄
int postcode;//邮编
int salary;//工资
string name;//姓名
string sex;//性别
string department;//部门
void set_meg()//注册信息
{
cout <<"请输入职工号:" <<endl;
cin >> id;
cout <<"请输入职工的年龄:"<<endl;
cin >> age;
cout <<"请输入员工的邮编:"<<endl;
cin >> postcode;
cout <<"请输入职工的工资:"<<endl;
cin >> salary;
cout <<"请输入职工的名字:"<< endl;
cin >> name;
cout <<"请输入职工的性别:"<<endl;
cin >> sex;
cout <<"请输入职工的部门:"<< endl;
cin >> department;
char str[1024];
//name.c_str() 是为了把字符串转换成字符,因为数据建表用的类型是char
sprintf(str, "insert into worker_manage.manage (id , age , postcode , salary , name , sex , department ) values(%d, %d, %d, %d, '%s', '%s', '%s')",
id, age, postcode, salary, name.c_str(), sex.c_str(), department.c_str() );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"增加职工信息成功"<< endl;
}
void updata_meg()//修改信息
{
cout<<"请输入你要修改信息的职工号:"<<endl;
cin >> id;
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;
int num;
do
{
cout <<"********************************"<< endl;
cout <<"请输入你的选择: " << endl;
cin >> num;
} while (num < 1 || num > 7 );
switch(num)
{
case 1:
{
cout <<"请输入你要更改的年龄:"<<endl;
cin >> age;
char str[1024];
sprintf(str, "update worker_manage.manage set age = %d where id = %d",age, id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 2:
{
cout <<"请输入你要更改的邮编:"<<endl;
cin >> postcode;
char str[1024];
sprintf(str, "update worker_manage.manage set postcode = %d where id = %d",postcode, id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 3:
{
cout <<"请输入你要更改的工资:"<<endl;
cin >> salary;
char str[1024];
sprintf(str, "update worker_manage.manage set salary = %d where id = %d",salary, id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 4:
{
cout <<"请输入你要更改的姓名:"<<endl;
cin >> name;
char str[1024];
sprintf(str, "update worker_manage.manage set name = '%s' where id = %d",name.c_str(), id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 5:
{
cout <<"请输入你要更改的性别:"<<endl;
cin >> sex;
char str[1024];
sprintf(str, "update worker_manage.manage set sex = '%s' where id = %d",sex.c_str(), id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 6:
{
cout <<"请输入你要更改的部门:"<<endl;
cin >> department;
char str[1024];
sprintf(str, "update worker_manage.manage set department = '%s' where id = %d",department.c_str(), id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 7:
{
return;
}
}
}
void printf_meg()
{
int ret = mysql_query(mysql,"select * from worker_manage.manage");
if (0!= ret)
{
//cout<<"打开数据库失败"<<mysql_error(mysql)<< endl;
}
MYSQL_RES* mysql_res;
MYSQL_FIELD* mysql_filed;
mysql_res = mysql_store_result(mysql);
MYSQL_ROW mysql_row;
if (!mysql_res)
{
cout<<"error1"<<mysql_error(mysql)<< endl;
}
else
{
cout <<"职工号\t"<<"年龄\t"<<"邮编\t"<<"工资\t"<<"姓名\t"<<"性别\t"<<"部门\t"<<endl;
int col = mysql_num_rows(mysql_res);
//cout << col << endl;
int row = mysql_num_rows(mysql_res);
//cout << row << endl;
while((mysql_row = mysql_fetch_row(mysql_res)))
{
for (int i = 0; i < 7 ;i++)
{
cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"\t";
}
cout << endl;
}
mysql_free_result(mysql_res);
}
}
void query_meg()//查询职工信息
{
int num;
cout <<"-------------------------------"<< endl;
cout <<"| 1.按照名字查询信息 |"<< endl;
cout <<"| 2.按照部门查询信息 |"<< endl;
cout <<"| 3.返回菜单 |"<< endl;
cout <<"-------------------------------"<< endl;
do
{
cout <<"********************************"<< endl;
cout <<"请输入你的选择: " << endl;
cin >> num;
} while (num < 1 || num > 3 );
switch (num)
{
case 1:
{
cout <<"请输入你要查询的名字:"<<endl;
cin >> name;
char str[1024];
sprintf(str, "select * from worker_manage.manage where name = '%s'",name.c_str() );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
MYSQL_RES* mysql_res;
MYSQL_FIELD* mysql_filed;
mysql_res = mysql_store_result(mysql);
MYSQL_ROW mysql_row;
if (!mysql_res)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
else
{
cout <<"职工号\t"<<"年龄\t"<<"邮编\t"<<"工资\t"<<"姓名\t"<<"性别\t"<<"部门\t"<<endl;
int col = mysql_num_rows(mysql_res);
//cout << col << endl;
int row = mysql_num_rows(mysql_res);
//cout << row << endl;
while((mysql_row = mysql_fetch_row(mysql_res)))
{
for (int i = 0; i < 7 ;i++)
{
cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"\t";
}
cout << endl;
}
}
break;
}
case 2:
{
cout <<"请输入你要查询的部门:"<<endl;
cin >> department;
char str[1024];
sprintf(str, "select * from worker_manage.manage where department = '%s'",department.c_str() );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
MYSQL_RES* mysql_res;
MYSQL_FIELD* mysql_filed;
mysql_res = mysql_store_result(mysql);
MYSQL_ROW mysql_row;
if (!mysql_res)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
else
{
cout <<"职工号\t"<<"年龄\t"<<"邮编\t"<<"工资\t"<<"姓名\t"<<"性别\t"<<"部门\t"<<endl;
int col = mysql_num_rows(mysql_res);
//cout << col << endl;
int row = mysql_num_rows(mysql_res);
//cout << row << endl;
while((mysql_row = mysql_fetch_row(mysql_res)))
{
for (int i = 0; i < 7 ;i++)
{
cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"\t";
}
cout << endl;
}
}
break;
}
case 3:
{
return;
}
}
}
void delete_meg()//删除信息
{
cout << "请输入你要删除的职工号"<<endl;
cin >> id;
char str[1024];
//name.c_str() 是为了把字符串转换成字符,因为数据建表用的类型是char
sprintf(str, "delete from worker_manage.manage where id = %d ", id );
int ret = mysql_query(mysql,str);
if (0 != ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"删除职工信息成功"<<endl;
}
void ranksalary_msg()//按工资排序
{
char str[1024];
sprintf(str, "select * from worker_manage.manage order by salary" );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
printf_meg();
}
int menu_select();
int main()
{
system("color 09");
system("mode con cols=80 lines=30");
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");
if(!mysql_real_connect(mysql, "localhost", "root", "123456", "worker_manage", 3306, NULL, 0))
{
cout <<"连接数据库失败..."<<mysql_error(mysql) << endl;
}
cout <<"连接数据库成功..."<<endl;;
while(1)
{
switch(menu_select())
{
case 1:
{
system("cls");
set_meg();
break;
}
case 2:
{
system("cls");
updata_meg();
break;
}
case 3:
{
system("cls");
delete_meg();
break;
}
case 4:
{
system("cls");
query_meg();
break;
}
case 5:
{
system("cls");
ranksalary_msg();
break;
}
case 6:
{
system("cls");
printf_meg();
break;
}
case 7 :
{
mysql_close(mysql);
exit(1);
}
}
}
return 0;
}
//按姓名查询职工信息 按部门查询职工信息
int menu_select()
{
int c;
char str[30] = {0};
//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 <<"-------------------------------"<< endl;
do
{
cout <<"********************************"<< endl;
cout <<"请输入你的选择: " << endl;
cin >> str ;
c = atoi(str);
} while (c < 1 || c > 7 );
return c;
}
#include <mysql.h>//数据库
#include <string>
#include <fstream>
#include <algorithm>//算法
using namespace std;
MYSQL *mysql;//创建一个指向数据库的全局指针
//定义全局的属性
int id;//职工号
int age;//年龄
int postcode;//邮编
int salary;//工资
string name;//姓名
string sex;//性别
string department;//部门
void set_meg()//注册信息
{
cout <<"请输入职工号:" <<endl;
cin >> id;
cout <<"请输入职工的年龄:"<<endl;
cin >> age;
cout <<"请输入员工的邮编:"<<endl;
cin >> postcode;
cout <<"请输入职工的工资:"<<endl;
cin >> salary;
cout <<"请输入职工的名字:"<< endl;
cin >> name;
cout <<"请输入职工的性别:"<<endl;
cin >> sex;
cout <<"请输入职工的部门:"<< endl;
cin >> department;
char str[1024];
//name.c_str() 是为了把字符串转换成字符,因为数据建表用的类型是char
sprintf(str, "insert into worker_manage.manage (id , age , postcode , salary , name , sex , department ) values(%d, %d, %d, %d, '%s', '%s', '%s')",
id, age, postcode, salary, name.c_str(), sex.c_str(), department.c_str() );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"增加职工信息成功"<< endl;
}
void updata_meg()//修改信息
{
cout<<"请输入你要修改信息的职工号:"<<endl;
cin >> id;
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;
int num;
do
{
cout <<"********************************"<< endl;
cout <<"请输入你的选择: " << endl;
cin >> num;
} while (num < 1 || num > 7 );
switch(num)
{
case 1:
{
cout <<"请输入你要更改的年龄:"<<endl;
cin >> age;
char str[1024];
sprintf(str, "update worker_manage.manage set age = %d where id = %d",age, id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 2:
{
cout <<"请输入你要更改的邮编:"<<endl;
cin >> postcode;
char str[1024];
sprintf(str, "update worker_manage.manage set postcode = %d where id = %d",postcode, id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 3:
{
cout <<"请输入你要更改的工资:"<<endl;
cin >> salary;
char str[1024];
sprintf(str, "update worker_manage.manage set salary = %d where id = %d",salary, id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 4:
{
cout <<"请输入你要更改的姓名:"<<endl;
cin >> name;
char str[1024];
sprintf(str, "update worker_manage.manage set name = '%s' where id = %d",name.c_str(), id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 5:
{
cout <<"请输入你要更改的性别:"<<endl;
cin >> sex;
char str[1024];
sprintf(str, "update worker_manage.manage set sex = '%s' where id = %d",sex.c_str(), id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 6:
{
cout <<"请输入你要更改的部门:"<<endl;
cin >> department;
char str[1024];
sprintf(str, "update worker_manage.manage set department = '%s' where id = %d",department.c_str(), id);
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"修改信息成功"<<endl;
break;
}
case 7:
{
return;
}
}
}
void printf_meg()
{
int ret = mysql_query(mysql,"select * from worker_manage.manage");
if (0!= ret)
{
//cout<<"打开数据库失败"<<mysql_error(mysql)<< endl;
}
MYSQL_RES* mysql_res;
MYSQL_FIELD* mysql_filed;
mysql_res = mysql_store_result(mysql);
MYSQL_ROW mysql_row;
if (!mysql_res)
{
cout<<"error1"<<mysql_error(mysql)<< endl;
}
else
{
cout <<"职工号\t"<<"年龄\t"<<"邮编\t"<<"工资\t"<<"姓名\t"<<"性别\t"<<"部门\t"<<endl;
int col = mysql_num_rows(mysql_res);
//cout << col << endl;
int row = mysql_num_rows(mysql_res);
//cout << row << endl;
while((mysql_row = mysql_fetch_row(mysql_res)))
{
for (int i = 0; i < 7 ;i++)
{
cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"\t";
}
cout << endl;
}
mysql_free_result(mysql_res);
}
}
void query_meg()//查询职工信息
{
int num;
cout <<"-------------------------------"<< endl;
cout <<"| 1.按照名字查询信息 |"<< endl;
cout <<"| 2.按照部门查询信息 |"<< endl;
cout <<"| 3.返回菜单 |"<< endl;
cout <<"-------------------------------"<< endl;
do
{
cout <<"********************************"<< endl;
cout <<"请输入你的选择: " << endl;
cin >> num;
} while (num < 1 || num > 3 );
switch (num)
{
case 1:
{
cout <<"请输入你要查询的名字:"<<endl;
cin >> name;
char str[1024];
sprintf(str, "select * from worker_manage.manage where name = '%s'",name.c_str() );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
MYSQL_RES* mysql_res;
MYSQL_FIELD* mysql_filed;
mysql_res = mysql_store_result(mysql);
MYSQL_ROW mysql_row;
if (!mysql_res)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
else
{
cout <<"职工号\t"<<"年龄\t"<<"邮编\t"<<"工资\t"<<"姓名\t"<<"性别\t"<<"部门\t"<<endl;
int col = mysql_num_rows(mysql_res);
//cout << col << endl;
int row = mysql_num_rows(mysql_res);
//cout << row << endl;
while((mysql_row = mysql_fetch_row(mysql_res)))
{
for (int i = 0; i < 7 ;i++)
{
cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"\t";
}
cout << endl;
}
}
break;
}
case 2:
{
cout <<"请输入你要查询的部门:"<<endl;
cin >> department;
char str[1024];
sprintf(str, "select * from worker_manage.manage where department = '%s'",department.c_str() );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
MYSQL_RES* mysql_res;
MYSQL_FIELD* mysql_filed;
mysql_res = mysql_store_result(mysql);
MYSQL_ROW mysql_row;
if (!mysql_res)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
else
{
cout <<"职工号\t"<<"年龄\t"<<"邮编\t"<<"工资\t"<<"姓名\t"<<"性别\t"<<"部门\t"<<endl;
int col = mysql_num_rows(mysql_res);
//cout << col << endl;
int row = mysql_num_rows(mysql_res);
//cout << row << endl;
while((mysql_row = mysql_fetch_row(mysql_res)))
{
for (int i = 0; i < 7 ;i++)
{
cout << ( mysql_row[i] ? mysql_row[i] : "NULL") <<"\t";
}
cout << endl;
}
}
break;
}
case 3:
{
return;
}
}
}
void delete_meg()//删除信息
{
cout << "请输入你要删除的职工号"<<endl;
cin >> id;
char str[1024];
//name.c_str() 是为了把字符串转换成字符,因为数据建表用的类型是char
sprintf(str, "delete from worker_manage.manage where id = %d ", id );
int ret = mysql_query(mysql,str);
if (0 != ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
cout <<"删除职工信息成功"<<endl;
}
void ranksalary_msg()//按工资排序
{
char str[1024];
sprintf(str, "select * from worker_manage.manage order by salary" );
int ret = mysql_query(mysql,str);
if (0!= ret)
{
cout<<"error"<<mysql_error(mysql)<< endl;
}
printf_meg();
}
int menu_select();
int main()
{
system("color 09");
system("mode con cols=80 lines=30");
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");
if(!mysql_real_connect(mysql, "localhost", "root", "123456", "worker_manage", 3306, NULL, 0))
{
cout <<"连接数据库失败..."<<mysql_error(mysql) << endl;
}
cout <<"连接数据库成功..."<<endl;;
while(1)
{
switch(menu_select())
{
case 1:
{
system("cls");
set_meg();
break;
}
case 2:
{
system("cls");
updata_meg();
break;
}
case 3:
{
system("cls");
delete_meg();
break;
}
case 4:
{
system("cls");
query_meg();
break;
}
case 5:
{
system("cls");
ranksalary_msg();
break;
}
case 6:
{
system("cls");
printf_meg();
break;
}
case 7 :
{
mysql_close(mysql);
exit(1);
}
}
}
return 0;
}
//按姓名查询职工信息 按部门查询职工信息
int menu_select()
{
int c;
char str[30] = {0};
//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 <<"-------------------------------"<< endl;
do
{
cout <<"********************************"<< endl;
cout <<"请输入你的选择: " << endl;
cin >> str ;
c = atoi(str);
} while (c < 1 || c > 7 );
return c;
}