您的位置:首页 > 其它

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

2017-02-26 16:15 246 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: