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

员工管理系统之MYSQL相关推荐

  1. jsp员工管理系统mysql_简单的员工管理系统(Mysql+jdbc+Servlet+JSP)

    员工管理系统 因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作), ...

  2. mysql员工管理系统_简单的员工管理系统(Mysql+jdbc+Servlet+JSP)

    java java8 java开发 简单的员工管理系统(Mysql+jdbc+Servlet+JSP) 员工管理系统 因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用my ...

  3. 员工管理系统之mysql_简单的员工管理系统(Mysql+jdbc+Servlet+JSP)

    员工管理系统 由于学业要求,须要完成一个过关检测,可是由于检测以前没有作好准备,且想到以前用mysql+jdbc+Struts2+bootstrap作成了一个ATM系统(主要有对数据的增删改查操做), ...

  4. 基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开 ...

  5. SpringBoot员工管理系统(整合Mybatis+mysql)

    SpringBoot员工管理系统(整合Mybatis+mysql) 前部分:https://blog.csdn.net/weixin_43501359/article/details/11271466 ...

  6. jsp员工管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一.源码特点   jsp 员工管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发.开发环境为TOMCAT7.0,M ...

  7. 利用Python对接MySQL实现员工管理系统

    博主这个摩的师傅,前两天在国道飙摩托的时候灵光一闪突然想到 我上学期期末考试的时候用Python写了个员工管理系统(别的班考这个,我以为我们班也考这个,结果不是,就放着没管了) 唉,那我能不能把员工系 ...

  8. php+mysql 员工管理系统 学生课设源码

    .php+mysql员工管理系统 2.员工信息增删改查.部门信息增删改查,按ID.部门.姓名.出生日期.入职日期等排序. 3.共含2个数据表 4.建议运行环境版本:PHP7.3  MYSQL:5.7 ...

  9. java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语 ...

最新文章

  1. 枚举的定义枚举类型定义
  2. 波士顿动力机器狗入驻庞贝古城,还要钻盗洞打击违法犯罪
  3. ios 底部用定位 fixed。在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去。解决方法...
  4. k8s部署nginx集群
  5. 教你玩4款最新族视频摄像头
  6. html制作彩虹_制作彩虹
  7. Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用
  8. 诸葛io的技术架构图_阿里P8总结三面四轮技术面试:Tomcat+Redis+线程池锁+悲观锁+NIO...
  9. 大数据技术原理与应用-林子雨课后(部分习题答案)
  10. linux内核无法识别声卡,伪输出,检测不到集成声卡
  11. Linux服务器间信任关系建立方法
  12. Word打开目录导航、多页视图显示文章的方法
  13. Linu中的网络配置(设置ip,网关(路由功能),dns),虚拟机上网
  14. P02014158 马帅(信息论课程作业)
  15. 作为米粉,我不得不说一说小米11全系,小米还是最初的小米呀
  16. 数字化高程模型的表达方法
  17. [技术发展-21]:网络与通信技术的应用与发展快速概览-1- 互联网网络技术
  18. python-爬虫:获取163邮箱的收件箱信息列表
  19. 后端接口返回一张图片
  20. 韩信点兵问题,即使没有学过数论也能看得懂

热门文章

  1. Seventh season nineteenth episode,what did Ross do to his cousin ?????so sick
  2. 损失函数(交叉熵误差)
  3. Python升级打怪小游戏
  4. 华林科纳 湿法清洗中的金属杂质分离
  5. javascript中让人懵逼的类型转换
  6. a||b和ab的陷阱
  7. Android studio来调试小米盒子和百度影棒
  8. 驰为平板装Android,驰为VX8 3G Win8刷安卓固件教程
  9. 蓝桥杯之单片机设计与开发
  10. 压敏电阻的参数、选型及应用