职工信息管理系统实训报告 -

合集下载

职工信息管理系统实验报告

职工信息管理系统实验报告

职工信息管理系统一、课题内容和要求要求对职工信息有增加、查找功能和删除功能。

职工信息包括工号、姓名、性别、年龄。

(1)增加员工记录要求用户输入4项内容,并创建结点链入已存在的链表尾部,如果是第一个记录请创建头结点。

查找员工记录要求用户输入要查找的员工编号完成查找工作并输出该员工信息。

删除员工记录要求用户输入要删除的员工编号完成查找和拆链工作。

(2)在增加和删除完一个员工记录之后应该把所有的员工记录都打印出来。

(3)请将所有职工信息存入文件当中,并在主界面中显示一条“读取文件职工信息”,该功能可将文件中的职工信息打印至屏幕。

二、需求分析菜单函数(表现层):包括主菜单和查询菜单。

对职工信息操作的函数(逻辑层):包括添加职工信息、删除职工信息、修改职工信息、查询职工信息和查询全部职工信息。

对文件操作的函数(数据层):把数据写入文件中,注意是把整条链表的数据都写入。

利用文件指针可以完成:从文件中读取所有数据、从文件中查找符合条件的数据、从文件中删除符合条件的数据和从文件中修改符合条件的数据。

对链表操作的函数(存储结构):新建链表或新建一个结点,插入、删除、修改结点,销毁一个链表。

其它的函数:设计光标位置函数、显示职工信息(属于表现层)、登陆函数(属于表现层)和主函数(主要进行身份识别和管理员登陆)。

三、概要设计职工信息包括以下几点:1.工号2.姓名3.性别4.年龄其中对职工信息的操作包括以下几点:1.增加职工信息2.修改职工信息3.删除职工信息4.查询职工信息四、源程序代码//包含的头文件#include"stdio.h"#include"stdlib.h"#include"string.h"#include"Conio.h"#include"windows.h"#include"math.h"//职工结构体的定义struct employee{char num[30];//职工编号,唯一标识这个职工,不能重复char name[30];//姓名char sex[30];//性别char age[30];//年龄};//链表结点的定义typedef struct node{struct employee e;struct node * next;}ListNode,*LinkList;//函数声明void Gotoxy(int x,int y);int addInfo(LinkList pnode);int delInfo(LinkList pnode);int modInfo(LinkList pnode);LinkList searchInfo(LinkList pnode);void addFile(LinkList head);LinkList getFile();LinkList getByNode(LinkList pnode);int deleteByNode(LinkList pnode);int modifyByNode(LinkList oldNode,LinkList newNode); LinkList creatListOrNode();void addNode(LinkList head,LinkList pnode);int delNode(LinkList head,LinkList pnode);int modNode(LinkList head,LinkList pnode,LinkList newNode); void displayInfo(LinkList head);int login();void mainMenu();void searchMenu();LinkList searchAllInfo();void destroy(LinkList head);/************* 以下是菜单函数(表现层)**************///主菜单void mainMenu(){LinkList pnode=creatListOrNode();LinkList p=creatListOrNode();int nChoice=1;while(nChoice){strcpy(pnode->e.num,"null");strcpy(pnode->,"null");strcpy(pnode->e.sex,"null");system("cls");//清屏Gotoxy(25,3);printf("**********************************");Gotoxy(25,4);printf("** 职工信息管理系统**");Gotoxy(25,5);printf("**********************************");Gotoxy(25,6);printf("** —操作选单—**");Gotoxy(25,7);printf("添加职工信息——————————1");Gotoxy(25,8);printf("删除职工信息——————————2");Gotoxy(25,9);printf("修改职工信息——————————3");Gotoxy(25,10);printf("查询职工信息——————————4");Gotoxy(25,11);printf("返回——————————————0");Gotoxy(25,12);printf("**********************************");Gotoxy(25,13);printf("** 请用数字键选择操作**");Gotoxy(25,14);scanf("%d",&nChoice);Gotoxy(25,15);switch(nChoice){case 1:Gotoxy(25,16);printf("请按顺序输入职工信息\n(职工号姓名性别年龄)");Gotoxy(0,18);scanf("%s%s%s%s" ,pnode->e.num,pnode->,pnode->e.sex,pnode->e.age);if(addInfo(pnode)){Gotoxy(25,19);printf("添加成功! 按任意键后重新选择!");getch();}else{Gotoxy(25,19);printf("此工号已存在,添加失败! 按任意键后重新选择!");getch();}break;case 2:Gotoxy(25,16);printf("请按顺序输入职工号:");Gotoxy(25,18);scanf("%s",pnode->e.num);if(delInfo(pnode)){Gotoxy(25,19);printf("删除成功! 按任意键后重新选择!");getch();}else{Gotoxy(25,19);printf("此工号不存在,删除失败! 按任意键后重新选择!");getch();}break;case 3:Gotoxy(25,16);printf("请按顺序输入职工号:");Gotoxy(25,18);scanf("%s",pnode->e.num);p=searchInfo(pnode)->next;if(p!=NULL){Gotoxy(0,19);printf("%-8s%-8s%-8s%-8s","工号","姓名","性别","年龄");Gotoxy(0,20);printf("%-8s%-8s%-8s%-8s",p->e.num,p->,p->e.sex,p->e.age);Gotoxy(0,21);printf("请按顺序输入职工信息\n(姓名性别年龄)");Gotoxy(0,23);scanf("%s%s%s%s" ,pnode->,pnode->e.sex,pnode->e.age);modInfo(pnode);Gotoxy(25,24);printf("修改成功! 按任意键后重新选择!");getch();}else{Gotoxy(25,19);printf("此工号不存在,修改失败! 按任意键后重新选择!");getch();}break;case 4:searchMenu();break;case 0:nChoice=0;break;default :Gotoxy(25,22);printf("输入错误!请重新输入!");Gotoxy(25,23);printf("按任意键后重新选择!");getch();}}}//查询菜单void searchMenu(){LinkList pnode=creatListOrNode();LinkList p=creatListOrNode();int nChoice=1;while(nChoice){strcpy(pnode->e.num,"null");system("cls");//清屏Gotoxy(25,3);printf("**********************************"); Gotoxy(25,4);printf("** 查询菜单**"); Gotoxy(25,5);printf("**********************************"); Gotoxy(25,6);printf("** —操作选单—**"); Gotoxy(25,7);printf("按工号查找———————————1"); Gotoxy(25,8);printf("显示全部职工信息————————2"); Gotoxy(25,9);printf("返回上一级菜单—————————0"); Gotoxy(25,10);printf("**********************************"); Gotoxy(25,11);printf("** 请用数字键选择操作**"); Gotoxy(25,12);scanf("%d",&nChoice);Gotoxy(25,13);switch(nChoice){case 1:Gotoxy(25,14);printf("请按顺序输入职工工号:");Gotoxy(25,15);scanf("%s",pnode->e.num);p=searchInfo(pnode);displayInfo(p);break;case 2:p=searchAllInfo();displayInfo(p);break;case 0:nChoice=0;break;default :Gotoxy(25,19);printf("输入错误!请重新输入!");Gotoxy(25,20);printf("按任意键后重新选择!");getch();}}}/************* 以上是菜单函数(表现层)**************//************* 以下是对职工信息操作的函数(逻辑层)**************/ //添加职工信息int addInfo(LinkList pnode){LinkList head=getFile();LinkList p=creatListOrNode();strcpy(p->e.num,pnode->e.num);if(getByNode(p)->next!=NULL)//说明此工号已经存在,不能添加{return 0;}else//此工号没记录,可以添加{addNode(head,pnode);addFile(head);return 1;}}//删除职工信息int delInfo(LinkList pnode){return deleteByNode(pnode);}//修改职工信息int modInfo(LinkList pnode){return modifyByNode(getByNode(pnode)->next,pnode);}//查询职工信息LinkList searchInfo(LinkList pnode){return getByNode(pnode);}//查询出全部职工信息LinkList searchAllInfo(){return getFile();}/************* 以上是对职工信息操作的函数(逻辑层)**************//************* 以下是对文件操作的函数(数据层)**************///把数据写入文件中,注意是把整条链表的数据都写入void addFile(LinkList head){//文件指针FILE *fp;LinkList p=head->next;if((fp=fopen("employeeInfo.txt","w"))==NULL){printf("不能打开该文件!\n");exit(0);}while(p!=NULL){fprintf(fp,"%-8s%-8s%-8s%-8s\n",p->e.num,p->,p->e.sex,p->e.age);p=p->next;}if(fclose(fp)){printf("不能关闭文件!\n");exit(0);}}//从文件中读出所有数据LinkList getFile(){LinkList newList=creatListOrNode();FILE *fp;if((fp=fopen("employeeInfo.txt","r"))==NULL){fp=fopen("employeeInfo.txt","a+");}while(!feof(fp)){LinkList pnode=creatListOrNode();fscanf(fp,"%s%s%s%s\n",pnode->e.num,pnode->,pnode->e.sex,pnode->e.age);if(ftell(fp)!=0){addNode(newList,pnode);}}if(fclose(fp)){printf("不能关闭文件!\n");exit(0);}return newList;}//从文件中查找符合条件的数据LinkList getByNode(LinkList pnode){LinkList newList=creatListOrNode();LinkList p=getFile();p=p->next;while(p!=NULL){LinkList q=creatListOrNode();if(strcmp(p->e.num,pnode->e.num)==0 || strcmp(p->,pnode->)==0 || strcmp(p->e.sex,pnode->e.sex)==0 ){q->e=p->e;addNode(newList,q);}p=p->next;}return newList;}//从文件中删除符合条件的数据int deleteByNode(LinkList pnode){int f=0;LinkList head=getFile();LinkList p=head->next;while(p!=NULL){if(strcmp(p->e.num,pnode->e.num)==0){delNode(head,p);f=1;break;}p=p->next;}if(f==1){addFile(head);return 1;}elsereturn 0;}//从文件中修改符合条件的数据int modifyByNode(LinkList oldNode,LinkList newNode){int f=0;LinkList head=getFile();LinkList p=head->next;while(p!=NULL){if(strcmp(p->e.num,oldNode->e.num)==0){modNode(head,p,newNode);f=1;break;}p=p->next;}if(f==1){addFile(head);return 1;}elsereturn 0;}/************* 以上是对文件操作的函数(数据层)**************//************* 以下是对链表操作的函数(存储结构)**************/ //新建链表或新建一个结点LinkList creatListOrNode(){LinkList head=(LinkList)malloc(sizeof(ListNode));head->next=NULL;return head;}//往链表中插入一个结点void addNode(LinkList head,LinkList pnode){if(head->next==NULL){head->next=pnode;pnode->next=NULL;}else{pnode->next=head->next;head->next=pnode;}}//删除一个结点int delNode(LinkList head,LinkList pnode){LinkList p,q;p=head->next;q=head;while(p!=NULL){if(p==pnode){break;}q=p;p=p->next;}if(p!=NULL){q->next=p->next;free(p);return 1;}elsereturn 0;}//修改一个结点int modNode(LinkList head,LinkList pnode,LinkList newNode) {LinkList p;p=head->next;while(p!=NULL){if(p==pnode){break;}p=p->next;}if(p!=NULL){p->e=newNode->e;return 1;}elsereturn 0;}//销毁一个链表void destroy(LinkList head){LinkList p=creatListOrNode();p=head->next;while(p!=NULL){free(p);p=p->next;}}/************* 以上是对链表操作的函数(存储结构)**************//************* 以下是其它的函数**************///设置光标位置函数void Gotoxy(int x,int y){COORD c;//坐标结构体c.X=x;c.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);//设置光标位置}//显示职工信息(属于表现层)void displayInfo(LinkList head){int i=21;LinkList p=head->next;if(p==NULL){Gotoxy(25,20);printf("没有记录!");}else{Gotoxy(0,20);printf("%-8s%-8s%-8s%-8s","工号","姓名","性别","年龄");while(p!=NULL){Gotoxy(0,i);printf("%-8s%-8s%-8s%-8s",p->e.num,p->,p->e.sex,p->e.age);p=p->next;i++;}}Gotoxy(25,i);printf("按任意键继续!");getch();}//登陆函数(属于表现层)int login(){char username[50];char password[50];Gotoxy(25,10);printf("请输入用户名:");Gotoxy(25,11);scanf("%s",username);Gotoxy(25,12);printf("请输入密码:");Gotoxy(25,13);scanf("%s",password);if((strcmp(username,"caofei")==0)&&(strcmp(password,"10002732")==0)){return 1;}else{return 0;}}//主函数(主要进行身份识别和管理员登陆)void main(){int m;int nChoice=1;while(nChoice){system("cls");//清屏Gotoxy(25,2);printf("_____________________________");Gotoxy(25,3);printf("欢迎进入职工信息管理系统!");Gotoxy(25,4);printf(" 学号:10002732 姓名:曹飞");Gotoxy(25,5);printf("-----------------------------");Gotoxy(25,7);printf("请按数字键选择你的身份:");Gotoxy(25,8);printf("管理员—1,普通员工—2,退出—0");Gotoxy(25,9);scanf("%d",&m);if(m==1){if(login()){mainMenu();}else{Gotoxy(25,14);printf("输入的用户名或密码错误!请重新输入!");Gotoxy(25,15);printf("按任意键后重新选择!");getch();}}else if(m==2){searchMenu();}else if(m==0){nChoice=0;Gotoxy(25,10);printf("谢谢使用!");Gotoxy(25,11);}else{Gotoxy(25,10);printf("输入错误!请重新输入!");Gotoxy(25,11);printf("按任意键后重新选择!");getch();}}}/************* 以上是其它的函数**************/五、测试数据及其结果分析首次打开程序的欢迎界面,包括管理员、普通职工和退出三个选项。

管理信息化实训总结报告

管理信息化实训总结报告

一、前言随着信息技术的飞速发展,管理信息化已成为现代企业提高管理效率、降低运营成本、增强企业竞争力的重要手段。

为了提高自身对管理信息化的认识,提升实际操作能力,我参加了为期一个月的管理信息化实训。

现将实训情况及心得体会总结如下。

一、实训内容与过程1. 实训内容本次实训主要围绕管理信息系统的设计、开发、实施与维护等方面展开,主要包括以下内容:(1)管理信息系统概述:学习管理信息系统的基本概念、发展历程、特点及应用领域。

(2)系统分析:掌握需求分析、系统分析、可行性分析等方法,为系统设计提供依据。

(3)系统设计:学习系统架构设计、数据库设计、界面设计等,提高系统设计能力。

(4)系统开发:学习Java、C#、Python等编程语言,掌握数据库技术、Web技术等,提高系统开发能力。

(5)系统实施与维护:了解系统实施流程、方法及注意事项,提高系统维护能力。

2. 实训过程实训过程分为三个阶段:(1)理论学习:通过查阅资料、听课等方式,掌握管理信息化相关理论知识。

(2)实践操作:根据实训要求,分组进行系统设计、开发、实施与维护等实践操作。

(3)成果展示与总结:各小组完成实训项目后,进行成果展示,并进行总结与反思。

二、实训收获与体会1. 理论与实践相结合通过本次实训,我深刻体会到理论与实践相结合的重要性。

在理论学习过程中,我了解了管理信息化的基本概念、原理和方法,但在实际操作过程中,才能真正掌握其应用技巧。

2. 提高系统设计能力在实训过程中,我学会了如何进行系统分析、设计,提高了自己的系统设计能力。

同时,也认识到系统设计要遵循实用性、可扩展性、易用性等原则。

3. 增强团队协作能力实训过程中,我与小组成员共同完成项目,学会了如何与他人沟通、协作,提高了自己的团队协作能力。

4. 拓宽视野,提升综合素质通过实训,我了解了管理信息化在不同领域的应用,拓宽了自己的视野。

同时,在实训过程中,我还学会了时间管理、项目管理等技能,提高了自己的综合素质。

简单的职工信息管理系统报告

简单的职工信息管理系统报告

淮阴工学院算法设计技能训练实习报告题目:简单的职工管理系统系(院):计算机工程学院专业: 计算机科学与技术(微软合作)班级: 计算机 1137学号:姓名指导教师: 周海岩学年学期:2014 ~2015 学年第1 学期2014年12月31日算法设计技能训练任务书指导教师(签章):年月日摘要在当今社会,互联网的发展,给人的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本提高工作效率的首选。

随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度已经远远跟不上公司的需求。

而且,人工方式来管理职工信息,存在着许多缺点,如:效率低、保密性差,对信息的查找、更新和维护不便。

计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识。

本文对职工管理系统进行设计,主要为了企业职工的信息进行集中管理和快捷查询。

本职工信息管理系统包括新增、删除、查询、修改、排序等常用功能.整个系统用C++语言设计,用户可轻松管理企业员工信息.关键词职工管理系统职工信息管理 C++ 数据结构目录1 引言 (5)1。

1 设计目的 (5)1.2 设计意义 (5)2 需求分析............................................. (6)2。

1 设计题目描述 (6)2。

2 设计要求 (6)2.3 实现提示 (6)2。

4 选做内容 (6)2。

5 软硬件运行环境及开发工具 (6)3 课程设计报告内容............................................................ (6)3.1 系统设计思想 (7)3.2 系统概要设计 (7)3.3 系统详细设计 (9)3.3。

1 结构体设计...................................................... (9)3.3。

职工管理系统报告

职工管理系统报告

实验题目:职工信息管理系统班级﹕11科技1班学号﹕201124131109 姓名﹕陈灿明需求分析1、程序的功能﹕对职工的信息进行管理。

2、输入和输出的要求﹕具备职工信息录入功能和具备职工信息浏览功能。

3、测试数据: ﹕文本“personnel.txt”里面的数据。

一、详细介绍1、C语言定义相关的数据类型:整型、字符型、结构体。

2、各模块的算法流程图:二、调试分析1、按学历查询时,要用字符串操作函数的strcmp。

2、在修改职工信息时,要用字符串操作的strcpy。

3、修改后的信息,要用文本来保存。

#include <stdio.h>#include <stdlib.h>#include<string.h>struct data_information{int number;char name[20];char sex[10];char education [20];double wages[10];char address[100];int phone[20];int year;int count=0;data_input(struct data_information data[]);data_output(struct data_information data[]);data_dispose_refer(struct data_information data[]);data_dispose_a(struct data_information data[]);data_dispose_b(struct data_information data[]);int main(){int n;struct data_information data[200];do{printf("-----------------------------------------------------------------\n");printf("\n");printf("1: 输入数据2:输出数据3:查询数据4:退出系统\n");printf("\n");printf("-----------------------------------------------------------------\n");printf("请选择需要进行的操作(1~4):");scanf("%d",&n);printf("\n");switch(n){case 1:data_input(data);break;case 2:data_output(data);break;case 3:data_dispose_refer(data);break;case 4:printf("谢谢使用!\n");break;default :printf("输入错误\n");break;}}while (n!=4);return 0;}data_input(struct data_information data[])FILE *fp;fp=fopen("personnel.txt","r");struct data_information a;int b=1;while(!feof(fp)){fscanf(fp,"%d",&a.number);printf("请输入第%d个职工的工号:",b);printf("%d\n",a.number);fscanf(fp,"%s",&);printf("输入第%d个职工的姓名:",b);printf("%s\n",);fscanf(fp,"%s",a.sex);printf("输入第%d个职工的性别:",b);printf("%s\n",a.sex);fscanf(fp,"%d",&a.year);printf("输入第%d个职工的年龄:",b);printf("%d\n",a.year);fscanf(fp,"%s",cation);printf("输入第%d个职工的学历:",b);printf("%s\n",cation);fscanf(fp,"%d",&a.wages);printf("输入第%d个职工的工资:",b);printf("%d\n",a.wages);fscanf(fp,"%s",a.address);printf("输入第%d个职工的住址:",b);printf("%s\n",a.address);fscanf(fp,"%d",&a.phone);printf("输入第%d个职工的电话:",b);printf("%d\n",a.phone);data[count]=a;b++;count++;}}data_dispose_refer(struct data_information data[]){int s;do{printf("---------------------------------------------------\n");printf(" \n");printf("1:按职工号查找2:按学历查找3:退出查询\n");printf(" \n");printf("---------------------------------------------------\n");scanf("%d",&s);switch(s){case 1:data_dispose_a(data);break;case 2:data_dispose_b(data);break;case 3:printf("退出查询!\n");break;default :printf("输入错误!\n");break;}}while(s!=3);}data_dispose_a(struct data_information data[]){int i,j;printf("请输入要查询的职工的工号:");scanf("%d",&j);printf("\n");for(i=0;i<count;i++)if(j==data[i].number){printf("----------------------------------------------------------------------------\n");printf("\n");printf("职工号姓名性别年龄学历工资住址电话\n");printf("\n");printf("%-8d%-9s%-9s%-9d%-9s%-9d%-9s%-10d%\n",data[i].number,data[i].na me,data[i].sex,data[i].year,data[i].education,data[i].wages,data[i].address,data[i].phone);break;}if(i>=count)printf("无该职工记录!\n");}data_dispose_b(struct data_information data[]){int i;char ch[20];printf("请输入要查询的职工的学历:");scanf("%s",ch);printf("\n");for(i=0;i<count;i++)if(strcmp(data[i].education,ch)==0){printf("----------------------------------------------------------------------------\n");printf("\n");printf("职工号姓名性别年龄学历工资住址电话\n");printf("\n");printf("%-8d%-9s%-9s%-9d%-9s%-9d%-9s%-10d%\n",data[i].number,data[i].na me,data[i].sex,data[i].year,data[i].education,data[i].wages,data[i].address,data[i].phone);break;}if(i==count)printf("无该职工记录!\n");}data_output(struct data_information data[]){int i;printf("职工号姓名性别年龄学历工资住址电话\n");printf("--------------------------------------------------------------------\n");for(i=0;i<count;i++){printf("%-8d%-9s%-9s%-9d%-9s%-9d%-9s%-10d%\n",data[i].number,data[i].na me,data[i].sex,data[i].year,data[i].education,data[i].wages,data[i].address,data[i].phone);}}。

员工管理系统实训报告书

员工管理系统实训报告书

一、实训背景随着我国经济的快速发展,企业对员工管理的要求越来越高,传统的手工管理模式已经无法满足现代企业的需求。

为了提高企业员工管理效率,降低管理成本,我国许多企业开始采用员工管理系统。

为了使同学们更好地了解和掌握员工管理系统的开发过程,提高实际操作能力,我们选择了员工管理系统作为实训项目。

二、实训目的1. 使学生了解员工管理系统的基本概念、功能和开发流程;2. 掌握数据库设计、界面设计、功能实现等基本技能;3. 提高学生团队协作和项目开发能力;4. 培养学生严谨的工作态度和良好的职业素养。

三、实训内容1. 系统需求分析在实训过程中,我们首先对员工管理系统进行了需求分析,明确了系统的功能模块和业务流程。

主要功能模块包括:员工信息管理、部门管理、薪资管理、考勤管理、权限管理等。

2. 系统设计根据需求分析,我们设计了员工管理系统的整体架构,包括数据库设计、界面设计、功能模块设计等。

(1)数据库设计:采用MySQL数据库,设计员工信息表、部门信息表、薪资信息表、考勤信息表等。

(2)界面设计:采用Java Swing进行界面设计,实现系统美观、易用。

(3)功能模块设计:1)员工信息管理:实现员工的添加、修改、删除、查询等功能;2)部门管理:实现部门的添加、修改、删除、查询等功能;3)薪资管理:实现员工的薪资录入、查询、修改等功能;4)考勤管理:实现员工的考勤打卡、查询、修改等功能;5)权限管理:实现不同角色的权限分配。

3. 系统实现在系统实现阶段,我们按照设计要求,编写了相应的代码,实现了员工管理系统的各项功能。

4. 系统测试在系统实现完成后,我们对系统进行了全面测试,确保系统稳定、可靠、易用。

四、实训成果经过为期两周的实训,我们成功完成了员工管理系统的开发。

系统功能完善,界面美观,操作便捷,能够满足企业员工管理的需求。

五、实训心得1. 团队协作的重要性:在实训过程中,我们深刻体会到团队协作的重要性。

只有团结协作,才能确保项目顺利进行。

信息培训实训报告

信息培训实训报告

一、前言随着信息技术的飞速发展,信息素养已成为现代社会人才必备的基本素质。

为了提高我单位信息工作人员的业务能力和综合素质,增强信息系统的应用水平,我们于近期组织开展了信息培训实训活动。

本次培训实训旨在提升信息工作人员对信息系统的操作能力、信息处理能力以及团队协作能力,现将培训实训情况报告如下。

二、培训实训内容1. 信息系统操作培训本次培训邀请了专业讲师,针对我单位使用的各类信息系统进行了详细讲解。

培训内容包括系统功能、操作流程、数据维护、安全管理等方面。

通过培训,参训人员对信息系统的操作有了更加深入的了解,能够熟练掌握系统操作技能。

2. 信息处理能力培训培训过程中,讲师结合实际案例,对信息收集、整理、分析、发布等环节进行了详细讲解。

同时,通过实际操作练习,使参训人员掌握了信息处理的基本方法,提高了信息处理能力。

3. 团队协作能力培训为了提升团队协作能力,培训安排了小组讨论、案例分析、角色扮演等环节。

通过这些活动,参训人员学会了如何在团队中有效沟通、协作,提高了团队协作能力。

4. 安全意识培训信息安全管理是信息工作的重要组成部分。

本次培训对信息安全法律法规、安全防护措施、应急预案等内容进行了详细讲解,使参训人员提高了安全意识,增强了信息安全防护能力。

三、培训实训效果1. 提升了信息工作人员的业务能力通过本次培训实训,参训人员对信息系统的操作、信息处理、团队协作等方面有了更加深入的了解,提高了业务能力。

2. 增强了信息安全意识培训过程中,参训人员对信息安全法律法规、安全防护措施、应急预案等内容有了更加全面的认识,增强了信息安全意识。

3. 提高了团队协作能力通过小组讨论、案例分析、角色扮演等活动,参训人员学会了如何在团队中有效沟通、协作,提高了团队协作能力。

4. 为今后工作奠定了基础本次培训实训为参训人员今后从事信息工作打下了坚实基础,有助于提高工作效率,为单位的各项工作提供有力支持。

四、总结与展望本次信息培训实训取得了圆满成功,达到了预期目标。

信息管理系统实训报告心得

信息管理系统实训报告心得

信息管理系统实训报告心得引言信息管理系统实训是我大学期间的一次重要实践环节,通过该实训我对信息管理系统的开发与管理有了更深入的了解和实际操作经验。

在这次实训中,我担任了项目组的一员,并参与了系统的设计、开发和测试工作。

下面我将就这次实训的过程和心得进行总结和分享。

实训过程在实训开始之前,我们小组进行了项目的规划和分工工作。

我负责系统的前端设计与开发,主要是搭建用户界面,实现页面交互和数据展示等功能。

我们小组采用了敏捷开发的方式,将整个项目分为多个迭代周期,每个迭代周期内完成一个可运行版本的功能模块。

这样的做法使得我们能够更加灵活地面对需求变化,并及时修正和调整开发计划。

在实际开发中,我首先进行了需求分析,并与组员们讨论确认了系统的功能和界面设计。

然后我开始使用HTML、CSS和JavaScript等技术来搭建用户界面。

我借助了一些开源工具和框架,如Bootstrap和jQuery,来加快开发效率和提升用户体验。

在开发过程中,我还遵循了一些前端开发的最佳实践,如模块化、代码重用和性能优化等,以确保系统的可维护性和可拓展性。

在开发完成后,我们小组进行了系统测试和调试工作。

我们利用了一些自动化测试工具和手动测试方法,对系统进行了全面的测试和验证。

针对测试中发现的问题和漏洞,我们不断进行调整和修复,确保系统的稳定性和功能完整性。

最后,在整个开发过程结束后,我们小组进行了系统的部署和上线。

我们将系统部署到一个服务器上,并完成了域名配置和数据迁移等工作。

通过这个过程,我对服务器配置和系统发布流程有了更加深刻的了解。

心得体会通过这次信息管理系统实训,我深刻体会到了软件开发的复杂性和需求变化的影响。

在实际开发中,我们不仅要有扎实的开发技术,还需要具备良好的沟通和协作能力。

只有通过与团队成员的密切配合和合理分工,才能够高效地完成项目目标。

同时,我也意识到了信息管理系统的重要性。

现代社会信息爆炸,各种数据和信息需要被统一管理和利用,信息管理系统的开发和应用变得越来越重要。

系统管理的实训报告总结

系统管理的实训报告总结

一、实训背景随着信息技术的飞速发展,企业对系统管理人才的需求日益增长。

为了提高自身的实践能力,更好地适应未来的职业发展,我参加了为期一个月的系统管理实训。

本次实训旨在通过实际操作,掌握系统管理的基本技能,熟悉系统架构,提高解决实际问题的能力。

二、实训目的1. 熟悉系统管理的基本概念和原理。

2. 掌握Linux操作系统的安装、配置与维护。

3. 学会使用各种系统管理工具,如Nginx、Apache、MySQL等。

4. 提高网络配置、故障排除和安全管理等方面的技能。

5. 培养团队合作和沟通能力。

三、实训内容1. Linux操作系统安装与配置实训过程中,我学习了Linux操作系统的安装过程,包括分区、格式化、安装软件包等。

同时,掌握了Linux的基本操作,如文件系统、用户管理、进程管理等。

此外,还学习了系统配置,如网络配置、内核参数调整等。

2. 系统管理工具的使用实训中,我学习了Nginx、Apache、MySQL等常见系统管理工具的使用。

通过实际操作,掌握了这些工具的安装、配置、优化和故障排除方法。

例如,在配置Nginx 时,学会了设置虚拟主机、反向代理、负载均衡等功能。

3. 网络配置与故障排除实训期间,我学习了网络配置的基本原理,如IP地址规划、子网划分、路由配置等。

通过实际操作,掌握了网络故障的排查方法,如ping命令、traceroute命令、netstat命令等。

4. 安全管理实训中,我学习了系统安全的基本知识,如用户权限管理、安全策略配置、日志管理等。

通过实际操作,掌握了安全漏洞的检测与修复方法,如使用Nmap扫描、漏洞扫描工具等。

5. 团队合作与沟通在实训过程中,我与其他学员进行了密切的沟通与协作。

通过共同解决实际问题,提高了团队协作和沟通能力。

四、实训成果1. 掌握了Linux操作系统的安装、配置与维护技能。

2. 熟悉了Nginx、Apache、MySQL等系统管理工具的使用。

3. 学会了网络配置、故障排除和安全管理等方面的技能。

管理系统实训报告

管理系统实训报告

管理系统实训报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如述职报告、调研报告、合同协议、条据文书、演讲致辞、口号大全、规章制度、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as job reports, research reports, contract agreements, documents, speeches, slogans, rules and regulations, teaching materials, essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!管理系统实训报告管理系统实训报告(通用11篇)管理系统实训报告篇1这个学期新学了管理信息系统这门学科。

C语言职工信息管理系统实训报告

C语言职工信息管理系统实训报告

程序设计工程训练报告职工信息管理系统课程名称C语言程序设计工程训练姓名院(系)专业班级学号指导教师目录1 需求分析 (1)2 系统总框图和功能模块说明 (1)2.1 系统总框图 (1)2.2 功能模块说明 (2)3 系统设计 (2)3.1 主要结构体 (2)3.2主要功能函数 (3)3.3 关键函数的流程图 (4)4 系统调试 (4)5 总结 (9)6 源程序清单 (10)1 需求分析职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话(职工号不重复)。

试设计职工信息管理系统,使之能提供以下功能:●系统以菜单方式工作●职工信息录入功能(职工信息用文件保存)--输入●职工信息浏览功能--输出●职工信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等)●职工信息删除、修改功能2 系统总框图和功能模块说明2.1 系统总框图图1 系统总框图2.2 功能模块说明1.菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。

2.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。

3.保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。

4.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。

5.删除模块:删除需要删除的职工的所有信息,通过自己定义的void del()函数来实现。

6.添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。

7.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。

8.按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定义的void search_tel函数来实现。

员工管理系统实习报告

员工管理系统实习报告

员工管理系统实习报告员工管理系统实习报告员工管理系统实习报告该怎么写呢?下面小编整理了相关范文,欢迎大家参考借鉴!员工管理系统实习报告1.1系统开发目的由于现有公司的规模不断扩大,管理员对现有员工的工作安排,工资统计,新增员工信息等一系列员工信息的统计,需要付出大量的工作时间,而且工作效率很低。

为提高工作效率,减轻管理人员的工作负担,我们开发了员工信息管理系统软件,本系统提供了一套员工综合信息管理的平台,使得系统管理人员对公司的工种进行分类,进而确定各个工种所对应的部门信息,在已有部门信息基础上能够对所有的员工信息进行分类管理。

可以消除以前大量的人工劳动,大大节省了公司人力资源,另外,计算机的存储与快速查询功能大大提高了员工管理的效率,提高了信息学管理的精确度。

方便快捷的操作,可减少因工作冗余出现的错误,并且操作非常简单,可使管理人员拥有一个可操作的业务平台,从而使管理人员对员工管理工作更加系统化、规范化、自动化。

1.2背景说明目前,公司的员工信息管理工作已不再局限于对员工基本信息数据库的维护,而是越来越多的参与到为其他部门提供一些必要的协调与服务。

员工信息管理的现状主要为:缺乏统一的管理模式,员工数据较为分散,随着员工的改变,需要经常对数据进行变更,而且对于变动的数据不能做到及时统一与修正。

相关部门之间很难建立一套机制来确保数据的完整性,因而需要大量的人力资源来弥补这个空缺。

1.3可行性研究(1)技术可行性本系统属于一个普通的MIS信息系统,组织关系比较简单,对系统的.操作也只是简单的添加、删除、统计等,没有复杂的技术要求,而且采用Access 作为该系统数据库,可以满足数据量的要求。

且系统有友好的用户界面、良好的安全性设置、易于操作,使用户很快掌握系统的使用方法,因此本系统在技术操作上是可行的。

(2)经济可行性本系统所用的开发工具和软件都差不多是免费的。

而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于企业的办公自动化管理,节省企业的人力、物力资源等都有很大的帮助,由此可见开发此系统在经济上是完全可行的。

管理信息系统的实训报告

管理信息系统的实训报告

一、实训目的随着我国信息技术的快速发展,管理信息系统(MIS)在企业中的应用越来越广泛。

为了提高我们的实际操作能力和对管理信息系统理论知识的理解,本次实训旨在让我们深入了解管理信息系统的基本原理、功能及实际应用,掌握系统开发的方法和步骤,提高我们的实践能力。

二、实训内容1. 管理信息系统概述首先,我们学习了管理信息系统的概念、特点、组成及分类。

通过学习,我们了解到管理信息系统是利用计算机技术对企业管理活动进行有效组织、指挥、协调和控制的系统,具有高度集成、实时性、动态性等特点。

2. 系统分析系统分析是管理信息系统开发过程中的重要环节。

我们学习了系统分析的基本方法,包括需求分析、可行性分析、系统设计等。

通过实际案例分析,我们掌握了如何进行系统需求调研、系统功能设计、系统性能评估等。

3. 系统设计系统设计是管理信息系统开发的核心环节。

我们学习了系统设计的基本方法,包括系统架构设计、数据库设计、界面设计等。

通过实际案例设计,我们掌握了如何进行系统架构设计、数据库设计、界面设计等。

4. 系统实现系统实现是管理信息系统开发的关键环节。

我们学习了系统实现的基本方法,包括编程、调试、测试等。

通过实际案例编程,我们掌握了如何进行系统编程、调试、测试等。

5. 系统维护系统维护是管理信息系统运行过程中的重要环节。

我们学习了系统维护的基本方法,包括系统更新、故障排除、性能优化等。

通过实际案例维护,我们掌握了如何进行系统更新、故障排除、性能优化等。

三、实训过程1. 需求分析我们选取了一个企业作为案例,对该企业进行需求分析。

通过访谈、问卷调查等方式,我们了解了企业的业务流程、组织结构、信息需求等,为系统设计奠定了基础。

2. 系统设计根据需求分析的结果,我们进行了系统设计。

首先,我们设计了系统架构,包括系统模块、数据库结构、界面布局等。

然后,我们进行了数据库设计,包括数据表、字段、索引等。

最后,我们进行了界面设计,确保系统易用、美观。

职工考勤管理信息系统实训报告

职工考勤管理信息系统实训报告

职工考勤管理信息系统实训报告班级:10网工三班学生姓名:谢昊天学号:1215134046项目实训目的:锻炼学生的分析解决实际问题的能力;培养学生的数据库基础系统的分析、设计和开发能力。

项目实训题目:职工考勤管理信息系统项目实训内容和要求:基本要求16) 《数据库原理及应用》课程设计采用以“项目小组”为单位进行,项目小组根据选定的项目,按计划进度完成项目的分析与设计及实现任务。

17) 每个班级分成两个大组,每组选出组长一名,负责考勤、作业的收集上交。

18) 题目自定或采用附录中的参考题目,每人选择一个题目19) 数据库工具:Access 或者SQLServer 20) 程序开发工具可以根据所学自行选择,或者采用ACCESS实现开发 3. 创新要求在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同三、信息描述系统基本信息描述,如:学号、姓名、系别、班级和所选科目及各科成绩等。

四、功能描述(教学管理为例)系统功能基本要求职工信息,包括职工编号、职工姓名、性别、年龄、职称等;出勤记录信息,包括上班打卡时间,下班打开时间,缺勤记录等;出差信息,包括出差起始时间、结束时间、统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间、结束时间、统计加班总时间。

需求分析描述:需求分析阶段:随着企业人事管理的日趋复杂和企业人员的增多企业的考勤管理变得越来越复杂。

规范的考勤管理是现代企业提高管理效益的重要保证而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端已经无法适应现代企业的需求。

随着计算机技术和通信技术的迅速发展将传统的人工考勤管理计算机化建立一个高效率的、无差错的考勤管理系统能够有效的帮助企业实现“公正考勤高效薪资”使企业的管理水平登上一个新的台阶。

企业考勤管理经过如下的业务流程:1、员工基本信息管理,添加,删除,更改2、员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作采用手动方式或者使用划卡机。

员工管理系统实习报告

员工管理系统实习报告

一、实习背景随着企业规模的不断扩大,人力资源管理的重要性日益凸显。

为了提高人力资源管理效率,降低管理成本,许多企业开始引入员工管理系统。

员工管理系统可以帮助企业实现员工信息管理、考勤管理、薪酬管理、绩效管理等功能。

为了深入了解员工管理系统的实际应用,提高自己的实践能力,我选择了在XX公司进行员工管理系统实习。

二、实习目的1. 了解员工管理系统的基本功能和操作流程;2. 熟悉企业人力资源管理的实际情况;3. 提高自己的实际操作能力和团队协作能力;4. 为今后从事相关工作积累实践经验。

三、实习时间2021年7月1日至2021年8月31日四、实习地点XX公司五、实习内容1. 系统安装与配置首先,我协助技术部门完成了员工管理系统的安装与配置。

在这个过程中,我学习了系统的基本架构、数据库设计、系统配置等知识。

同时,我还了解了不同模块之间的关联和依赖关系。

2. 员工信息管理在员工信息管理模块,我学习了如何录入、修改、删除员工信息,以及如何进行员工查询。

此外,我还了解了员工档案、合同、离职、调岗等操作流程。

3. 考勤管理在考勤管理模块,我学习了如何设置考勤规则、班次、排班,以及如何进行考勤打卡、请假、加班等操作。

同时,我还了解了考勤统计和分析方法。

4. 薪酬管理在薪酬管理模块,我学习了如何设置薪酬体系、工资标准、绩效奖金等。

此外,我还了解了工资计算、发放、查询等操作流程。

5. 绩效管理在绩效管理模块,我学习了如何设置绩效指标、考核周期、考核方式等。

同时,我还了解了绩效评分、绩效分析、绩效反馈等操作流程。

6. 系统维护与优化在实习过程中,我参与了系统维护与优化工作。

这包括数据备份、数据恢复、系统升级、故障排除等。

通过这些工作,我提高了自己的系统运维能力。

六、实习收获1. 实践能力得到提升:通过实习,我对员工管理系统的实际应用有了更加深入的了解,提高了自己的实践能力。

2. 团队协作能力得到提高:在实习过程中,我学会了与同事沟通、协作,共同完成任务。

职工信息管理系统实验报告

职工信息管理系统实验报告

职工信息管理系统一、课题内容和要求要求对职工信息有增加、查找功能和删除功能。

职工信息包括工号、姓名、性别、年龄。

(1)增加员工记录要求用户输入4项内容,并创建结点链入已存在的链表尾部,如果是第一个记录请创建头结点。

查找员工记录要求用户输入要查找的员工编号完成查找工作并输出该员工信息。

删除员工记录要求用户输入要删除的员工编号完成查找和拆链工作。

(2)在增加和删除完一个员工记录之后应该把所有的员工记录都打印出来。

(3)请将所有职工信息存入文件当中,并在主界面中显示一条“读取文件职工信息”,该功能可将文件中的职工信息打印至屏幕。

二、需求分析菜单函数(表现层):包括主菜单和查询菜单。

对职工信息操作的函数(逻辑层):包括添加职工信息、删除职工信息、修改职工信息、查询职工信息和查询全部职工信息。

对文件操作的函数(数据层):把数据写入文件中,注意是把整条链表的数据都写入。

利用文件指针可以完成:从文件中读取所有数据、从文件中查找符合条件的数据、从文件中删除符合条件的数据和从文件中修改符合条件的数据。

对链表操作的函数(存储结构):新建链表或新建一个结点,插入、删除、修改结点,销毁一个链表。

其它的函数:设计光标位置函数、显示职工信息(属于表现层)、登陆函数(属于表现层)和主函数(主要进行身份识别和管理员登陆)。

三、概要设计职工信息包括以下几点:1.工号2.姓名3.性别4.年龄其中对职工信息的操作包括以下几点:1.增加职工信息2.修改职工信息3.删除职工信息4.查询职工信息四、源程序代码//包含的头文件#include"stdio.h"#include"stdlib.h"#include"string.h"#include"Conio.h"#include"windows.h"#include"math.h"//职工结构体的定义struct employee{char num[30];//职工编号,唯一标识这个职工,不能重复char name[30];//姓名char sex[30];//性别char age[30];//年龄};//链表结点的定义typedef struct node{struct employee e;struct node * next;}ListNode,*LinkList;//函数声明void Gotoxy(int x,int y);int addInfo(LinkList pnode);int delInfo(LinkList pnode);int modInfo(LinkList pnode);LinkList searchInfo(LinkList pnode);void addFile(LinkList head);LinkList getFile();LinkList getByNode(LinkList pnode);int deleteByNode(LinkList pnode);int modifyByNode(LinkList oldNode,LinkList newNode); LinkList creatListOrNode();void addNode(LinkList head,LinkList pnode);int delNode(LinkList head,LinkList pnode);int modNode(LinkList head,LinkList pnode,LinkList newNode); void displayInfo(LinkList head);int login();void mainMenu();void searchMenu();LinkList searchAllInfo();void destroy(LinkList head);/************* 以下是菜单函数(表现层)**************///主菜单void mainMenu(){LinkList pnode=creatListOrNode();LinkList p=creatListOrNode();int nChoice=1;while(nChoice){strcpy(pnode->e.num,"null");strcpy(pnode->,"null");strcpy(pnode->e.sex,"null");system("cls");//清屏Gotoxy(25,3);printf("**********************************");Gotoxy(25,4);printf("** 职工信息管理系统**");Gotoxy(25,5);printf("**********************************");Gotoxy(25,6);printf("** —操作选单—**");Gotoxy(25,7);printf("添加职工信息——————————1");Gotoxy(25,8);printf("删除职工信息——————————2");Gotoxy(25,9);printf("修改职工信息——————————3");Gotoxy(25,10);printf("查询职工信息——————————4");Gotoxy(25,11);printf("返回——————————————0");Gotoxy(25,12);printf("**********************************");Gotoxy(25,13);printf("** 请用数字键选择操作**");Gotoxy(25,14);scanf("%d",&nChoice);Gotoxy(25,15);switch(nChoice){case 1:Gotoxy(25,16);printf("请按顺序输入职工信息\n(职工号姓名性别年龄)");Gotoxy(0,18);scanf("%s%s%s%s" ,pnode->e.num,pnode->,pnode->e.sex,pnode->e.age);if(addInfo(pnode)){Gotoxy(25,19);printf("添加成功! 按任意键后重新选择!");getch();}else{Gotoxy(25,19);printf("此工号已存在,添加失败! 按任意键后重新选择!");getch();}break;case 2:Gotoxy(25,16);printf("请按顺序输入职工号:");Gotoxy(25,18);scanf("%s",pnode->e.num);if(delInfo(pnode)){Gotoxy(25,19);printf("删除成功! 按任意键后重新选择!");getch();}else{Gotoxy(25,19);printf("此工号不存在,删除失败! 按任意键后重新选择!");getch();}break;case 3:Gotoxy(25,16);printf("请按顺序输入职工号:");Gotoxy(25,18);scanf("%s",pnode->e.num);p=searchInfo(pnode)->next;if(p!=NULL){Gotoxy(0,19);printf("%-8s%-8s%-8s%-8s","工号","姓名","性别","年龄");Gotoxy(0,20);printf("%-8s%-8s%-8s%-8s",p->e.num,p->,p->e.sex,p->e.age);Gotoxy(0,21);printf("请按顺序输入职工信息\n(姓名性别年龄)");Gotoxy(0,23);scanf("%s%s%s%s" ,pnode->,pnode->e.sex,pnode->e.age);modInfo(pnode);Gotoxy(25,24);printf("修改成功! 按任意键后重新选择!");getch();}else{Gotoxy(25,19);printf("此工号不存在,修改失败! 按任意键后重新选择!");getch();}break;case 4:searchMenu();break;case 0:nChoice=0;break;default :Gotoxy(25,22);printf("输入错误!请重新输入!");Gotoxy(25,23);printf("按任意键后重新选择!");getch();}}}//查询菜单void searchMenu(){LinkList pnode=creatListOrNode();LinkList p=creatListOrNode();int nChoice=1;while(nChoice){strcpy(pnode->e.num,"null");system("cls");//清屏Gotoxy(25,3);printf("**********************************"); Gotoxy(25,4);printf("** 查询菜单**"); Gotoxy(25,5);printf("**********************************"); Gotoxy(25,6);printf("** —操作选单—**"); Gotoxy(25,7);printf("按工号查找———————————1"); Gotoxy(25,8);printf("显示全部职工信息————————2"); Gotoxy(25,9);printf("返回上一级菜单—————————0"); Gotoxy(25,10);printf("**********************************"); Gotoxy(25,11);printf("** 请用数字键选择操作**"); Gotoxy(25,12);scanf("%d",&nChoice);Gotoxy(25,13);switch(nChoice){case 1:Gotoxy(25,14);printf("请按顺序输入职工工号:");Gotoxy(25,15);scanf("%s",pnode->e.num);p=searchInfo(pnode);displayInfo(p);break;case 2:p=searchAllInfo();displayInfo(p);break;case 0:nChoice=0;break;default :Gotoxy(25,19);printf("输入错误!请重新输入!");Gotoxy(25,20);printf("按任意键后重新选择!");getch();}}}/************* 以上是菜单函数(表现层)**************//************* 以下是对职工信息操作的函数(逻辑层)**************/ //添加职工信息int addInfo(LinkList pnode){LinkList head=getFile();LinkList p=creatListOrNode();strcpy(p->e.num,pnode->e.num);if(getByNode(p)->next!=NULL)//说明此工号已经存在,不能添加{return 0;}else//此工号没记录,可以添加{addNode(head,pnode);addFile(head);return 1;}}//删除职工信息int delInfo(LinkList pnode){return deleteByNode(pnode);}//修改职工信息int modInfo(LinkList pnode){return modifyByNode(getByNode(pnode)->next,pnode);}//查询职工信息LinkList searchInfo(LinkList pnode){return getByNode(pnode);}//查询出全部职工信息LinkList searchAllInfo(){return getFile();}/************* 以上是对职工信息操作的函数(逻辑层)**************//************* 以下是对文件操作的函数(数据层)**************///把数据写入文件中,注意是把整条链表的数据都写入void addFile(LinkList head){//文件指针FILE *fp;LinkList p=head->next;if((fp=fopen("employeeInfo.txt","w"))==NULL){printf("不能打开该文件!\n");exit(0);}while(p!=NULL){fprintf(fp,"%-8s%-8s%-8s%-8s\n",p->e.num,p->,p->e.sex,p->e.age);p=p->next;}if(fclose(fp)){printf("不能关闭文件!\n");exit(0);}}//从文件中读出所有数据LinkList getFile(){LinkList newList=creatListOrNode();FILE *fp;if((fp=fopen("employeeInfo.txt","r"))==NULL){fp=fopen("employeeInfo.txt","a+");}while(!feof(fp)){LinkList pnode=creatListOrNode();fscanf(fp,"%s%s%s%s\n",pnode->e.num,pnode->,pnode->e.sex,pnode->e.age);if(ftell(fp)!=0){addNode(newList,pnode);}}if(fclose(fp)){printf("不能关闭文件!\n");exit(0);}return newList;}//从文件中查找符合条件的数据LinkList getByNode(LinkList pnode){LinkList newList=creatListOrNode();LinkList p=getFile();p=p->next;while(p!=NULL){LinkList q=creatListOrNode();if(strcmp(p->e.num,pnode->e.num)==0 || strcmp(p->,pnode->)==0 || strcmp(p->e.sex,pnode->e.sex)==0 ){q->e=p->e;addNode(newList,q);}p=p->next;}return newList;}//从文件中删除符合条件的数据int deleteByNode(LinkList pnode){int f=0;LinkList head=getFile();LinkList p=head->next;while(p!=NULL){if(strcmp(p->e.num,pnode->e.num)==0){delNode(head,p);f=1;break;}p=p->next;}if(f==1){addFile(head);return 1;}elsereturn 0;}//从文件中修改符合条件的数据int modifyByNode(LinkList oldNode,LinkList newNode){int f=0;LinkList head=getFile();LinkList p=head->next;while(p!=NULL){if(strcmp(p->e.num,oldNode->e.num)==0){modNode(head,p,newNode);f=1;break;}p=p->next;}if(f==1){addFile(head);return 1;}elsereturn 0;}/************* 以上是对文件操作的函数(数据层)**************//************* 以下是对链表操作的函数(存储结构)**************/ //新建链表或新建一个结点LinkList creatListOrNode(){LinkList head=(LinkList)malloc(sizeof(ListNode));head->next=NULL;return head;}//往链表中插入一个结点void addNode(LinkList head,LinkList pnode){if(head->next==NULL){head->next=pnode;pnode->next=NULL;}else{pnode->next=head->next;head->next=pnode;}}//删除一个结点int delNode(LinkList head,LinkList pnode){LinkList p,q;p=head->next;q=head;while(p!=NULL){if(p==pnode){break;}q=p;p=p->next;}if(p!=NULL){q->next=p->next;free(p);return 1;}elsereturn 0;}//修改一个结点int modNode(LinkList head,LinkList pnode,LinkList newNode) {LinkList p;p=head->next;while(p!=NULL){if(p==pnode){break;}p=p->next;}if(p!=NULL){p->e=newNode->e;return 1;}elsereturn 0;}//销毁一个链表void destroy(LinkList head){LinkList p=creatListOrNode();p=head->next;while(p!=NULL){free(p);p=p->next;}}/************* 以上是对链表操作的函数(存储结构)**************//************* 以下是其它的函数**************///设置光标位置函数void Gotoxy(int x,int y){COORD c;//坐标结构体c.X=x;c.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);//设置光标位置}//显示职工信息(属于表现层)void displayInfo(LinkList head){int i=21;LinkList p=head->next;if(p==NULL){Gotoxy(25,20);printf("没有记录!");}else{Gotoxy(0,20);printf("%-8s%-8s%-8s%-8s","工号","姓名","性别","年龄");while(p!=NULL){Gotoxy(0,i);printf("%-8s%-8s%-8s%-8s",p->e.num,p->,p->e.sex,p->e.age);p=p->next;i++;}}Gotoxy(25,i);printf("按任意键继续!");getch();}//登陆函数(属于表现层)int login(){char username[50];char password[50];Gotoxy(25,10);printf("请输入用户名:");Gotoxy(25,11);scanf("%s",username);Gotoxy(25,12);printf("请输入密码:");Gotoxy(25,13);scanf("%s",password);if((strcmp(username,"caofei")==0)&&(strcmp(password,"10002732")==0)){return 1;}else{return 0;}}//主函数(主要进行身份识别和管理员登陆)void main(){int m;int nChoice=1;while(nChoice){system("cls");//清屏Gotoxy(25,2);printf("_____________________________");Gotoxy(25,3);printf("欢迎进入职工信息管理系统!");Gotoxy(25,4);printf(" 学号:10002732 姓名:曹飞");Gotoxy(25,5);printf("-----------------------------");Gotoxy(25,7);printf("请按数字键选择你的身份:");Gotoxy(25,8);printf("管理员—1,普通员工—2,退出—0");Gotoxy(25,9);scanf("%d",&m);if(m==1){if(login()){mainMenu();}else{Gotoxy(25,14);printf("输入的用户名或密码错误!请重新输入!");Gotoxy(25,15);printf("按任意键后重新选择!");getch();}}else if(m==2){searchMenu();}else if(m==0){nChoice=0;Gotoxy(25,10);printf("谢谢使用!");Gotoxy(25,11);}else{Gotoxy(25,10);printf("输入错误!请重新输入!");Gotoxy(25,11);printf("按任意键后重新选择!");getch();}}}/************* 以上是其它的函数**************/五、测试数据及其结果分析首次打开程序的欢迎界面,包括管理员、普通职工和退出三个选项。

简单的职工信息管理系统报告

简单的职工信息管理系统报告

算法设计技能训练实习报告淮阴工学院算法设计技能训练实习报告题目:简单的职工管理系统系(院):计算机工程学院专业:计算机科学与技术(微软合作)班学姓级:号:名计算机 1137指导教师:周海岩学年学期:2014~ 2015学年第1学期2014 年12 月31日算法设计技能训练任务书指导教师(签章):年月日摘要在当今社会,互联网的发展,给人的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本提高工作效率的首选。

随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度已经远远跟不上公司的需求。

而且,人工方式来管理职工信息,存在着许多缺点,如:效率低、保密性差,对信息的查找、更新和维护不便。

计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识。

本文对职工管理系统进行设计,主要为了企业职工的信息进行集中管理和快捷查询。

本职工信息管理系统包括新增、删除、查询、修改、排序等常用功能。

整个系统用C++语言设计,用户可轻松管理企业员工信息。

关键词职工管理系统职工信息管理 C++数据结构目录1引言 (5)1.1 设计目的 (5)1.2 设计意义 (5)2需求分析 (6)2.1 设计题目描述 (6)2.2 设计要求 (6)2.3 实现提示 (6)2.4 选做内容 (6)2.5 软硬件运行环境及开发工具 (6)3课程设计报告内容 (6)3.1 系统设计思想 (7)3.2 系统概要设计 (7)3.3 系统详细设计 (9)3.3.1 结构体设计 (9)3.3.2 主函数设计 (9)3.3.3 查找算法设计 (11)3.3.4 排序算法设计 (11)3.4 运行与测试 (13)总结 (16)致谢 (17)参考文献 (18)附录程序代码 (19)指导教师评语 (32)图1图2表1图3图4图5图6系统流程图 (7)系统功能结构图 (8)函数功能表 (8)模块调用关系图 (9)主函数程序流程图 (10)排序算法程序流程图 (13)主菜单选择界面 (13)图7 新增并查询职工信息界面 (14)图8 修改职工信息界面 (14)图9 按工资排序职工信息显示图 (15)图10 退出职工管理系统 (15)1算法设计技能训练实习报告引言通过大一一学年对C++语言的学习,了解到了很多C++语言的相关知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书名称职工信息管理系统实训报告院系 .班级 .姓名 .学号 .指导教师 .目录一、课程设计的目的与要求 (3)1.1目的 (3)1.2 要求 (3)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1总体思想 (5)3.2软件模块结构图 (5)3.3系统流程图 (6)3.3.1主函数 (6)3.3.2显示函数 (7)3.3.3录入函数 (7)3.3.4查询函数 (8)3.3.5删除函数 (9)3.3.6排序函数 (10)四、详细设计和系统实施 (11)4.1数据结构设计 (11)4.1.1定义数组 (11)4.1.2定义结构体 (11)4.1.3函数功能描述 (11)4.2界面设计 (12)4.2.1用户登录界面 (12)4.2.2 主界面 (13)4.2.3显示界面 (15)4.2.4录入界面 (16)4.2.5信息查询界面 (17)4.2.6删除界面 (19)五、遇到的问题及解决办法 (20)六、课程设计总结 (21)七、参考文献 (22)附录(源程序代码) (23)一、课程设计的目的与要求1.1目的1.掌握C语言编程的基础知识较熟练的编写C语言应用程序。

2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。

3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

1.2 要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3.画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言对文件的各种操作。

二、题目说明1.职工信息管理系统设计,使之包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

2.使这个管理系统具有以下功能:可以使系统以菜单方式工作、能够录入、查询、删除、排序职工的信息。

3.可以按学历、按工号查询职工信息。

使查询职工信息变得方便、简单。

2.1程序开发背景现在随着社会的进步和人民生活水平的逐渐提升,大学生数量越来越多,相应的所需要处理的的信息也越来越复杂,而凭借人力不可能准确及时地处理所有信息,因此,编写此程序是极为必要的。

但由于各个学校的情况不同,所以难以编写一个通用的成绩管理程序。

此程序是根据本校情况和老师指导所编写,用以解决教师对学生成绩的添加、修改、删除以及学生对其成绩的查询等工作。

2.2开发工具介绍Visual C++ Visual C++是一个功能强大的可视化软件开发工具。

自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了Visual C++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。

所以实际中,更多的是以Visual C++6.0为平台。

Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境。

Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。

这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

Visual C++它大概可以分成三个主要的部分: 1. Developer Studio。

2. MFC。

3. Platform SDK。

[1]三、总体设计3.1总体思想本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。

职工信息以文件的形式存储。

系统的人机接口采用简单的字符界面进行交互。

系统的设计方法是结构化设计方法,采用C语言进行开发。

软件开发平台采用Visual C++6.0,主要考虑在VC中可以使用中文,用户交互界面设计比较美观清晰。

3.2软件模块结构图根据需求分析结果,职工信息管理系统可以分为显示员工资料、录入员工资料、员工信息查询、删除员工信息、员工信息排序、退出信息系统。

如图3-1所示。

图3-13.3系统流程图3.3.1主函数3.3.3录入函数四、详细设计和系统实施4.1数据结构设计4.1.1定义数组定义一维数组struct worker work[50];用于定义员工的总人数,当员工总人数超过50后便不能再录入员工资料。

4.1.2定义结构体结构体struct worker用于存放存放员工的资料,包括员工的基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。

struct worker{int num; 工号char name[15]; 名字char xingbie; 性别int age; 年龄char exp[6]; 学历int wage; 工资char address[20]; 住址char tel[12]; 电话号码};int count=0; 当前工人个数int sort_type=0; 当前排序类型4.1.3函数功能描述函数主界面:void homepage();显示职工成绩信息:void display();录入职工信息信息:void input();删除职工信息:void del();查询职工信息:void find();排序职工信息:void sort();用户等待函数:void waiting();退出系统函数: void quit();4.2界面设计4.2.1用户登录界面此模块用于欢迎界面,同时要求用户输入用户名和密码,只有当两者都正确时,才能进入到系统,当有三次错误,系统就会自动退出,如图4-1所示。

图4-1代码实现:void main(){ int i=0,k=0;char username[15],pwd[6];for(i=0;i<3;i++){printf("\n请输入用户名:");gets(username);printf("\n请输入6位密码:");gets(pwd);if((strcmp(username,"admin")==0)&&(strcmp(pwd,"123456")==0)){printf("\n您已经成功登录");k=1;for(i=0;i<20;i++){printf(".");Sleep(100);}system("cls");homepage();break;}elseprintf("\n用户名或密码无效请重新输入:\n");continue;}if(k==0)printf("\n连续输入错误3次将退出程序\n");Sleep(2000);quit();}在此模块中,if((strcmp(username,"Admin")==0)&&(strcmp(pwd,"123456")==0)),用于检测用户名和密码是否正确。

for(i=0;i<3;i++){printf("\n请输入用户名:");gets(username);printf("\n请输入6位密码:");gets(pwd);此段代码用于获取账户名和密码并计数是否超过三次,超过三次,则有Sleep(2000);实现退出程序。

4.2.2 主界面此模块主要实现进入主界面和根据用户需要进入相应界面,包括显示界面,录入界面,删除界面,排序界面并可以选择退出,如图4-2所示:图4-2代码实现void homepage(){char n;while ((n!='1')&&(n!='2')&&(n!='3')&&(n!='4')&&(n!='5')&&(n!='0')) {printf("\n请选择:");fflush(stdin);scanf("%c",&n);switch(n){case '1':display();break;case '2':if(count<50) input();else{printf("记录数已满\n");Sleep(2000);system("cls");homepage();}break;……此模块中,switch(n),case()用于判定主界面的选项,根据选项进行设置。

其中if(count<50)用于限制录入员工的人数,超过50名员工就无法再进行录入,并且直接通过sleep(2000);homepage()回到主界面上。

4.2.3显示界面此模块是用来显示员工的资料信息的,包括工号,姓名,性别,年龄,学历,工资,住址,电话等基本信息,一边管理员能够及时的掌握到所要员工的资料。

如图4-3所示。

图4-3代码实现void display(){int i;char c;printf("备注:学历(1=中专,2=大专,3=本科,4=硕士,5=博士,6=其它):\n\n\n");switch(sort_type){case 0: printf("\t\t未排序:\n\n"); break;case 1:printf("\t\t按工号排序:\n\n"); //sort();break;case 2:printf("\t\t按工资排序:\n\n");//sort();break;}printf("\t工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");……此模块中有三种显示方式,第一种是无序显示,就是按照录入时的顺序显示,,还有两种分别是是按照工号和工资来排序。

后两种显示方式主要是有switch(sort_type)语句来实现的,它相当于一个开关,与下面的case()相对应,相括号中的数字相对应时,就会执行相应的语句。

4.2.4录入界面这个模块主要是录入员工资料,录入的顺序如图所示,当录入的员工人数满到50后,便不能再进行录入员工资料,此时已经达到了录入人数的最大值。

相关文档
最新文档