员工管理系统之 STL(容器)的vector

v#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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值