相关文章推荐:

1、 C语言学生成绩管理系统源代码 ★★★★★

2、 C语言学籍管理系统源代码 ★★

3、C语言学生成绩管理系统设计 《C语言程序设计》实训报告 ★★★

4、C语言学生信息管理系统源代码 ★★★★

扫描上方二维码,回复 999 直接获取作者之前收藏的学习资源,谢谢网友们的分享。

更多管理系统更新中,请注意关注!

大学实训课学习到的一段源代码,职工信息管理系统 c++项目源代码。

#include <string>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <memory.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
using namespace std; class employee
{
public:string m_Code; string m_Name; unsigned short int m_Year; string m_Sex; string m_Post; string m_Department; unsigned int m_Wage; //链表节点的指针域--- employee* Next;
public:employee* Create(employee* Head); void Rel(employee* Head); employee* Add(employee* Head); bool Search(employee* Head); employee* Search_Unique_Front(employee* Head); void Display_List(employee* Head); void Display_Node(employee* pNode); employee* Modify(employee* Head); employee* Del(employee* Head); void Save_ByFile(employee* Head,fstream& ofile); employee* Sort(employee* Head);
};employee* employee::Create(employee* Head)
{//创建一个带头节点的空链表。 Head=new employee; if(!Head) { cout<<"分配内存失败!"<<endl; return NULL; } Head->m_Code=""; Head->m_Name=""; Head->m_Year=0; Head->m_Sex=""; Head->m_Post=""; Head->m_Department=""; Head->m_Wage=0; Head->Next=NULL; return Head;
} void employee::Rel(employee* Head)
{//释放链表。 employee*  ptr;//声明一个操作用的指针。 while(Head!=NULL) { ptr=Head; Head=Head->Next; delete ptr;//释放节点资源。 }
} employee* employee::Add(employee*  Head)
{//前插法添加数据。 employee*  pNew;// 声明一个新节点。 char again; string code,name,sex,post,department; unsigned short int year; unsigned int wage; do { pNew=new employee; //数据域。 cout<<"请输入职工代码:"; cin>>code; cout<<endl<<"请输入职工姓名:"; cin>>name; cout<<endl<<"请输入职工出生年份:"; cin>>year; while(cin.fail()) { cout<<"请输入正确的年份格式。"<<endl; cin.clear(); fflush(stdin); cin>>year; } cout<<endl<<"请输入职工性别:"; cin>>sex; cout<<endl<<"请输入职工职称:"; cin>>post; cout<<endl<<"请输入职工部门:"; cin>>department; cout<<endl<<"请输入职工工资:"; cin>>wage; while(cin.fail()) { cout<<"请输入正确的工资数据。"<<endl; cin.clear(); fflush(stdin); cin>>wage; } cout<<endl; pNew->m_Code=code; pNew->m_Name=name; pNew->m_Year=year; pNew->m_Sex=sex; pNew->m_Post=post; pNew->m_Department=department; pNew->m_Wage=wage; //指针域。 pNew->Next=Head->Next; Head->Next=pNew; cout<<"数据添加成功!是否继续添加?(Y/N)"<<endl; cin>>again; }while(again=='Y'||again=='y'); return Head;
} bool employee::Search(employee*  Head)
{//查询同时满足“姓名”和“部门”的职工信息。 employee*  ptr; string department; string name; ptr=Head->Next; cout<<"请输入部门:"; cin>>department; cout<<endl<<"请输入姓名:"; cin>>name; cout<<endl<<"----------------查询结果------------------"<<endl; while(ptr) { if((ptr->m_Name==name)&&(ptr->m_Department==department)) { Display_Node(ptr);//打印满足条件的节点。 return true; } ptr=ptr->Next;//查询下一节点。 } cout<<"无此职工的信息。"<<endl; return false;
} employee* employee::Search_Unique_Front(employee* Head)
{employee* ptr;string code;ptr= Head->Next;cout<<"请输入职工代码:";cin>>code;cout<<endl<<"----------------查询结果------------------"<<endl; while(ptr){if(ptr->m_Code==code)return ptr;ptr=ptr->Next;}return ptr;
} void employee::Display_List(employee*  Head)
{ employee*  ptr; ptr=Head->Next; cout<<"==================所有职工信息=================="<<endl; while(ptr) { Display_Node(ptr); ptr=ptr->Next; }
} void employee::Display_Node(employee*  pNode)
{//在标准输出设备上输出。 cout<<setw(10)<<left<<pNode->m_Code <<setw(10)<<left<<pNode->m_Name <<setw(10)<<left<<pNode->m_Year <<setw(10)<<left<<pNode->m_Sex <<setw(10)<<left<<pNode->m_Post <<setw(10)<<left<<pNode->m_Department <<setw(10)<<left<<pNode->m_Wage<<endl;//setw(10)表示占10个字符位置。
} employee* employee::Modify(employee*  Head)
{// 修改单一个节点。 employee*  ptr; ptr=Search_Unique_Front(Head); string code,name,sex,post,department; unsigned short int year; unsigned int wage; if(ptr) { cout<<"-------你现在可以修改此职工的信息了-------"<<endl; //数据域。 cout<<"请输入职工代码:"; cin>>code; cout<<endl<<"请输入职工姓名:"; cin>>name; cout<<endl<<"请输入职工出生年份:"; cin>>year; while(cin.fail()) { cout<<"请输入正确的年份格式。"<<endl; cin.clear(); fflush(stdin); cin>>year; } cout<<endl<<"请输入职工性别:"; cin>>sex; cout<<endl<<"请输入职工职称:"; cin>>post; cout<<endl<<"请输入职工部门:"; cin>>department; cout<<endl<<"请输入职工工资:"; cin>>wage; while(cin.fail()) { cout<<"请输入正确的工资数据。"<<endl; cin.clear(); fflush(stdin); cin>>wage; } cout<<endl; ptr->m_Code=code;ptr->m_Name=name; ptr->m_Year=year; ptr->m_Sex=sex; ptr->m_Post=post; ptr->m_Department=department; ptr->m_Wage=wage; } else{cout<<"没找到此职工的记录,无法修改。"<<endl; }return Head;
} employee*  employee::Del(employee*  Head)
{ string code;employee*  parentptr; employee*  ptr_front; //ptr_front=Search_Unique_Front(Head); cout<<"请输入职工代码:";cin>>code;parentptr= Head;ptr_front = Head->Next;while(ptr_front){if(ptr_front->m_Code==code){parentptr->Next = ptr_front->Next;delete ptr_front;return Head;}parentptr = ptr_front;ptr_front = ptr_front->Next;}return Head;
}void employee::Save_ByFile(employee*  Head,fstream& ofile)
{ employee*  pNode; pNode=Head->Next; ofile.clear();//清除文件结束状态。 while(pNode) { ofile<<setw(10)<<left<<pNode->m_Code <<setw(10)<<left<<pNode->m_Name <<setw(10)<<left<<pNode->m_Year <<setw(10)<<left<<pNode->m_Sex <<setw(10)<<left<<pNode->m_Post <<setw(10)<<left<<pNode->m_Department <<setw(10)<<left<<pNode->m_Wage<<endl;//setw(10)表示占10个字符位置。 pNode=pNode->Next; } cout<<"数据文件保存成功!"<<endl;
} employee* employee::Sort(employee*  Head)
{//我创建的是带头节点的链表。用直接插入法。 if((Head->Next==NULL)||(Head->Next->Next==NULL))//此步条件判断非常有价值。 { cout<<"数据节点数少于2个,不用排序!"<<endl; return Head; } //-----------第二步; employee* ptr; employee* ptr_F; employee* ptr_N; ptr=Head->Next->Next; ptr_F=Head; Head->Next->Next=NULL;//到此,分成了两个链表。 //第三步。 while(ptr) { ptr_N=ptr->Next; ptr_F=Head;//ptr_F的归位。 while(ptr_F->Next) { if(ptr->m_Wage>ptr_F->Next->m_Wage) { ptr->Next=ptr_F->Next; ptr_F->Next=ptr; break; }else { ptr_F=ptr_F->Next; } }if(ptr_F->Next==NULL) { ptr->Next=ptr_F->Next; ptr_F->Next=ptr;//表示插到有序链表的最后面了。 } ptr=ptr_N;//归位,准备下一次排序。 }cout<<"从高到低,排序成功!"<<endl; return Head;
} int main()
{ employee* st = new employee();st=st->Create(st); fstream iofile; iofile.open("d:\\iofile.txt",ios_base::in|ios_base::out|ios_base::app);//文件以三种方式打开。 if(!iofile) { cout<<"打开文件失败!"<<endl; return -1; } int menu; while(1) { cout<<"*****************************************************"<<endl; cout<<"*====================菜单选顶=======================*"<<endl; cout<<"*                                                   *"<<endl; cout<<"*    1.注册职工 2.修改信息 3.删除信息 4.信息查询    *"<<endl; cout<<"*    5.保存文件 6.工资排行 7.信息显示 0.退出系统    *"<<endl; cout<<"*                                                   *"<<endl;cout<<"*****************************************************"<<endl; cout<<endl<<"请选择相应操作菜单项:"; cin>>menu; while(cin.fail()) { cout<<"请选择正确的菜单选项。"<<endl; cin.clear(); fflush(stdin); cin>>menu; } switch(menu) { case 0: cout<<"成功退出系统!"<<endl; return 0; case 1: st=st->Add(st); break; case 2: st=st->Modify(st); break; case 3: st=st->Del(st); break; case 4: st->Search(st); break; case 5: st->Save_ByFile(st,iofile); break; case 6: st->Sort(st); break; case 7: st->Display_List(st); break; default: cout<<"请选择正确的菜单项进行操作。多谢合作!"<<endl; } } st->Rel(st); iofile.close(); return 0;
} 

也希望能帮到正在做实训报告的你,欢迎留言区讨论。

分享:C语言学生成绩管理系统设计 《C语言程序设计》实训报告

扫描下方公众号,发送 成绩系统 4个字,获取下载实训源码

感谢关注,共同进步!

职工信息管理系统C++代码相关推荐

  1. 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx

    C语言程序设计职工信息管理系统.docx 1 数信学院数信学院 课程设计报告课程设计报告 课程名称课程名称C C 语言程序设计语言程序设计_ _ 题目名称题目名称职工信息管理系统职工信息管理系统 学生 ...

  2. python课题设计职工信息管理系统_用Python实现职工信息管理系统

    想要实现一个职工管理系统 首先我们看一下想要实现什么功能 最基础的增删改查肯定要实现的 然后增加一下数据显示.数据排序.数据统计功能 下面直接上代码 增加职工数据 # 接收用户收入 id = inpu ...

  3. 职工系统c语言链表,C语言职工信息管理系统(链表)..doc

    <程序设计综合训练> 设 计 报 告 专 业: 数字媒体技术 班 级: 11媒体Z 学 号: 姓 名: 朱毅 指导教师: 陈湘军 陈明霞 成 绩: 计算机工程学院 2012年10月 第一部 ...

  4. 数据结构课程设计报告-职工信息管理系统

    "数据结构"课程设计报告 系 (院):           信息工程学院 设计题目:           员工管理系统 专业班级:          计算机科学与技术1401B 小 ...

  5. 简单的职工信息管理系统(运用了存储过程,和datagridview,dataset的设置)

    1.问题描述: 对职工信息进行管理,包括:职工信息的录入.显示.查询.修改.删除,要求有用户登录等windows窗口,用户数据存在数据库里.要求有用户登录等windows窗口,用户数据存在数据库里,并 ...

  6. 职工信息管理系统c语言报告,职工信息管理系统(c语言实现)

    功能实现: (1)系统以菜单方式工作 (2)职工信息录入功能(职工信息用文件保存)--输入 (3)职工信息浏览功能--输出 (4)职工信息查询功能--算法 查询方式:按姓名查询/按职工号查询 (5)职 ...

  7. c语言课程设计 职工信息管理系统,C语言课程设计-职工信息管理系统程序设计.doc...

    C语言课程设计-职工信息管理系统程序设计 C语言课程设计报告 设计题目:职工信息管理系统程序设计 课程设计评语2 目 录3 1.课程论文题目4 2.程序设计思路4 3.功能模块图5 4.数据结构设计5 ...

  8. C语言 课程设计——职工信息管理系统

    C语言 课程设计--职工信息管理系统 提示:该课程设计是本人第一次制作,有诸多不足之处,希望王对你有些许帮助!!! 文章目录 C语言 课程设计--职工信息管理系统 前言 一.首先定义一个结构体数组 二 ...

  9. C语言模拟实现职工信息管理系统

    代码实现如下: #include <stdio.h>//输入.输出指令 #include <malloc.h>//在内存中动态的分配size字节的存储区 #include &l ...

  10. C语言期末大作业15个(附源码)成绩管理系统、图书馆管理系统、学生打卡系统、超市信息管理系统、学生考勤系统、职工信息管理系统源码、歌曲信息管理系统、超市收款系统等等

    C语言期末作业15个(上) 1.C语言学生成绩管理系统 2.C语言图书馆管理系统(复杂版) 3.C语言图书馆管理系统(简洁版) 4.C语言停车管理系统(两个版本) 5.C语言学生考勤系统 6.C语言班 ...

最新文章

  1. CSS溢出-x:可见; 和溢出-y:隐藏; 导致滚动条问题
  2. php开启path_info,Nginx + php-fpm 开启 PATH_INFO 模式
  3. python中二维数组的建立,输入和输出
  4. 论文解读 | 基于递归联合注意力的句子匹配模型
  5. [转载]acm进阶之路
  6. 排列组合十一个性质公式及证明,错排数公式及证明
  7. Nginx系列--01基本架构及其安装
  8. java演练0920 我们9203班 02 随机点名功能实现
  9. RTT时钟管理篇——软硬定时器理解(一)
  10. 公司绝不会告诉你的20大秘密 转载
  11. 3D目标检测-二阶段方法(region proposal-based Methods)之基于语义分割的方法(Segmentation based)解读
  12. 「魔窗」问题终于解决了
  13. 机房教学管理系统/机房管理系统
  14. ps cc2019版为什么做图一复制图层就卡死_你所不知道的十个被藏起来的PS功能,超级实用!...
  15. 利用递归查询部门表,以树(tree)的结构展示返回给前端出来,一般都要有这种需求的
  16. GitHub入门之一:使用github下载项目
  17. Flink stream load 方式写入doris
  18. Fine-Grained Representation Learning and Recognition by Exploiting Hierarchical Semantic Embedding
  19. Python 与神奇的数学之汉诺塔
  20. 如何提高沟通表达能力

热门文章

  1. Linux 修改 Tomcat 编码
  2. 服务器bios界面usb无线网卡,修改BIOS添加网卡白名单问题
  3. android纯净版输入法,百度输入法纯净版
  4. .pem和.pk8是什么文件?(转载)
  5. 计算机3级数据库技术考哪些内容,计算机考试三级数据库技术考试大纲
  6. 全国计算机等级考试三级数据库技术考试大纲(2018 年版)
  7. Unity3D脚本编程——使用C#语言开发跨平台游戏
  8. 数据挖掘与python实践心得体会_数据挖掘心得体会
  9. 国内在线查看Java源码(支持下载)
  10. 使用Java中面向对象的思想来实现两个人的一场战斗