企业管理系统

企业管理系统做了接近4天,能够明显感觉到自己的能力提升了,很多以前根本想不到的代码,在这次项目里都自主地用上了。

在这里我要记录一下这个项目哪些地方对我自身知识库的更新:

1、在数据库造表的时候,需要添加default charset=utf8,才能够在表中正确显示中文信息。e.g.:table xxx1(name char(20))default charset=utf8;

2、在基类函数person中,首先在基类的构造函数中对每个私有成员进行初始化(拷贝函数是赋值),然后写了4个纯虚函数:

           a、计算工资 calssalary

           b、从数据库下载得到工资后对容器进行初始化工资setsalary

           c、奖罚员工使用的函数,在四个分类中 “ 重写 ” 实现award

           d、在查询员工信息时使用的output

最后对company “友元”,使company能够访问person中的所有成员和函数。

3、在company类中写了一个私有成员向量容器vector<person *> worker; 并在类中定义了11个成员函数,分别用于数据的增删改查。

           a、 包含头文件<iostream>

                  cin.clear(); //改变cin的状态标识符 

                  cin.ignore(10,'\n'); //忽略10个字符,遇到\n结束忽略。 cin.sync()每次只忽略一个字符。

           b、在建立每一个vector成员时,首先需要明白vector的成员是一个person型的指针变量,所以vector里的每一个成员装的是不同类的但是继承于person类的子类成员。先创建一个类person *per;再根据duty的不同new一个与duty吻合的子类:per = new manage(……)。创建成功后计算相应工资,用worker.push_back(per)装入容器中。

           c、在删除成员时,for(int i = 0; i < worker.size(); i++)循环遍历容器进行id的匹配,用worker.erase(worker.begin()+i)进行成员删除。在删除一个员工时他的编号会被保存,此时容器的size就会变少,当遍历时就会少一个人,此刻就需要查找编号最大的那一个,然后进行添加成员(在最大编号的基础上)。

           d、在对员工信息进行修改时,涉及到文件的操作,包含头文件<fstream>,举个例子                   

                 ofstream("text.txt",ios::app)    // 对文件进行追加写入       

                 fout << "……";    //即可讲……输入到text.txt文件中

补充:ios::app 添加到文件尾

           ios::ate 把文件标志放在末尾而非起始。

           ios::trunc 默认. 截断并覆写文件。

           ios::nocreate 文件不存在也不创建。

          ios::noreplace 文件存在则失败。 

详情见http://www.cnblogs.com/yingying0907/archive/2012/08/17/2643489.html

             e、修改级别的时候,需要创建一个新的与级别对应的空间保存到容器中,把当前的数据放倒新的new中,然后删除当前空间。

             f、查询信息:按编号顺序查询,用for循环i++与id进行匹配,使员工按编号输出。按级别查询,用了四次for循环一一输出每个级别信息。还可以按级别查询……

            g、用迭代器把容器中的信息保存到数据库中,关键代码如下:

```

vector::iterator i = worker.begin();

while(i != worker.end())

{

sprintf(buff,"%s%d,'%s', '%s' , %d, %lf)",buf,

(*i)->Id,

(*i)->Name,

(*i)->Passwd,

(*i)->Duty,

(*i)->Earning

);

mysql_query(conn,buff);

i++;

}

```

          h、把mysql的信息保存到容器中,关键代码如下:

while( (row = mysql_fetch_row(res)) != NULL )

{

id++;

switch(atoi(row[3]))

{

case 1:per = new Manage(atoi(row[0]), row[1], row[2], atoi(row[3]));

per->SetSalary(atoi(row[4]));

break;

case 2:per = new SaleManager(atoi(row[0]), row[1], row[2], atoi(row[3]),0);

per->SetSalary(atoi(row[4]));

break;

case 3:per = new Technician(atoi(row[0]), row[1], row[2], atoi(row[3]),0);

per->SetSalary(atoi(row[4]));

break;

case 4:per = new Sales(atoi(row[0]), row[1], row[2], atoi(row[3]),0);

per->SetSalary(atoi(row[4]));

break;

}

worker.push_back(per);

}

      i、在登陆界面,也需要下载数据库,判断员工编号和密码进行登录,完成三次错误登录退出登录并等待6秒,这里用到<ctime>数据库中的clock()函数,关键代码如下:

void delay_msec(int msec) 

 clock_t now = clock(); 

 clock_t d; cout << "6秒后重新登陆……" << endl; 

 while(clock() - now < msec) {}

 }

在调用此函数时,delay_msec(6000000) 可完成延时6秒。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容

  • 运用到的知识点:三层架构,mvc,easyui工具:vs2010(此处有少许与教程有不同的地方),SqlServe...
    张中华阅读 2,462评论 3 28
  • 一、中小型上海MES 企业管理系统 项目实施中要注意的问题 (1)项目有不可压缩的最短周期,一味追求速度,极有可能...
    dw456阅读 96评论 0 0
  • 纷繁世界里 有那么一种爱 对你毫无条件、毫无保留 熙攘人群中 有那么一双手 为你指明方向、保架护航 是的 有这么一...
    安晓世阅读 177评论 1 5
  • 这是第一个夜晚。 我要清理工作,扩展人生。 我有了一个儿子,我越来越爱他。这一点对我的生命来说很重要。 他让了前几...
    也真阅读 281评论 0 1
  • Welcome to StackEdit! Hey! I'm your first Markdown docume...
    SunStart阅读 793评论 0 0