公司雇员管理系统的设计青岛科技大学信息学院课程设计报告_(编辑修改稿)内容摘要:
int index_1() //程序首页面 11) int scan_login() //登陆界面显示 12) int scan() //系统主界面显示 13) int login() //登陆函数 14) int changepass() //密码修改函数 15) void main() //主函数 系统功能结构图 4. 详细设计 数据类型定义 结构体定义 typedef struct LNode //雇员数据结构描述 { double number。 //编号 char name[20]。 //名字 char department[20]。 //部门 double time。 //工作时间 double pay。 //时薪 struct LNode *next。 //指针 } LNode,*LinkedList。 系统主要子函数设计 函数原型: LinkedList SelectSort2(LinkedList L) 函数功能: 对雇员信息进行排序,按照薪资(工作时间 *时薪)升序排列 算法要点: 1) 对链表中的信息以此进行比较,若后面节点信息小于前面节点,则对两个节点的信息进行互换,以此类推 2) 遍历结束以后,返回头结点的地址 主要算法: LinkedList SelectSort2(LinkedList L) //排序函数实现 { LinkedList p,q,small。 double temp,i,j。 char cop[20]。 for(p = Lnext。 pnext != NULL。 p = pnext) { small = p。 for(q = pnext。 q。 q = qnext) { i=(qtime)*(qpay)。 j=(smalltime)*(smallpay)。 if(ij) { small = q。 } } if(small != p) { temp = pnumber。 pnumber = smallnumber。 smallnumber = temp。 temp = ppay。 ppay = smallpay。 smallpay = temp。 temp = ptime。 ptime = smalltime。 smalltime = temp。 strcpy(cop,pname)。 strcpy(pname,smallname)。 strcpy(smallname,cop)。 strcpy(cop,pdepartment)。 strcpy(pdepartment,smalldepartment)。 strcpy(smalldepartment,cop)。 } } return L。 } 函数原型: LinkedList LinkedListInit() 函数功能: 建立一个空链表 算法要点: ( 1) 申请一段空间,并将 L的指针指向 NULL 主要算法: LinkedList LinkedListInit() //线性链表初始化 { LinkedList L。 L=(LinkedList)malloc(sizeof(LNode))。 Lnext=NULL。 return L。 } 函数原型: LinkedList LinkedListInit() 函数功能: 建立一个空链表 算法要点: ( 1) 对存储的雇员信息一一进行遍历,并按照固定格式输出 ( 2) 遍历的判断条件为 p!=NULL 主要算法: void LinkedListTraverse(LinkedList L) //单链表的遍历 { LinkedList p。 p=Lnext。 printf(编号 |姓名 |部门 |工时 |时薪 \n)。 while(p!=NULL) { printf( % %s %s % %\n,pnumber,pname,pdepartment,ptime,ppay)。 p=pnext。 printf(\n)。 } } 函数原型: int LinkedListLength(LinkedList L) 函数功能: 求现有链表的长度 算法要点: 1) 循环判断条件为 p!=NULL 主要算法: int LinkedListLength(LinkedList L) //求链表长度 { LinkedList p。 int j。 p=Lnext。 j=0。 while(p!=NULL) { j++。 p=pnext。 } return j。 } 5. 查询编号为 i的雇员信息 函数原型: LinkedList LinkedListGet(LinkedList L, double i) 函数功能: 查询编号为 i的雇员信息 算法要点: 1) 判断的条件为传过来的形参 i 与判断节点的信息相等并且循环条件为p!=0amp。 amp。 (j=k) 主要算法: LinkedList LinkedListGet(LinkedList L, double i) //查询编号为 i 的雇员信息 { LinkedList p。 double j=1,k。 k=LinkedListLength(L)。 p=Lnext。 while(p!=0amp。 amp。 (j=k)) { if (pnumber==i) return p。 else p=pnext。 j++。 } return 0。 } name的雇员信息 函数原型: LinkedList LinkedListGet_name(LinkedList L, char name[20]) 函数功能: 查询姓名为 name的雇员信息 算法要点: 1) 判断的条件为传过来的形参 name[20]与判断节点的信息相等并且循环条件为 p!=0amp。 amp。 (j=k) 主要算法: LinkedList LinkedListGet_name(LinkedList L, char name[20]) //查询姓名为 name的雇员信息 { LinkedList p。 double j=1,k。 k=LinkedListLength(L)。 p=Lnext。 while(p!=0amp。 amp。 (j=k)) { if (strcmp(pname,name)==0) return p。 else p=pnext。 j++。 } return 0。 } 7. 雇员信息删除 函数原型: int LinkedListDel(LinkedList L,double num) 函数功能: 删除编号为 num的雇员信息 算法要点: 1) 操作完成以后要释放节点 p 主要算法: int LinkedL。公司雇员管理系统的设计青岛科技大学信息学院课程设计报告_(编辑修改稿)
相关推荐
成 90176。 角,并应与切缝线在同一直线上。 开始切缝前,应调整刀片的进刀深度,切割时应随时调整刀片切割方向。 停止切缝时,应先关闭旋扭开关,将刀片提升到混凝土版面上,停止运转。 切缝时刀片冷却用水的压力不应低于 MPa,同时应防止切缝水渗入基层和土层。 当混凝土强度达到设计强度的 25%30%,即可进行切割,当气温突变时,应适当提早切缝时间,或每隔 2040m 先割一条缝
35 K119+000 N1 N2 N1=93176。 58′ 25″ N2=86176。 56′ 53″ 36 K119+ N1 N2 N1=83176。 19′ 50″ N2=86176。 23′ 38″ 23 K104+000— K129+000 固定点栓桩 序号 位 置 简 图 说 明 37 K120+ N2 N1=156176。 54′ 34″ N2=86176。 24′ 35″ 38
以 %开头,标志编写及修改该 M文件的作者和日期等。 ⑦ 函数体:为清晰起见,它与前面的注释以 “ 空 ” 行相隔。 陕西理工学院毕业论文(设计) 第 8 页 共 41 页 函数调用和参数传递 ( 1)局 部变量和全局变量 : ① 局部( Local)变量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。 ② 全局( Global)变量:通过 global
全的安全保密方案。 用 户现实需求 ( 1)实现公司内部资源共享(文件共享,打印机共享)。 ( 2)架设公司 web 服务器,方便发布公司自主网站。 ( 3) 内部网络使用 VLAN 分段,隔离广播,防止内部网络非授权的跨网段访问,如公司其他部门不允许访问财务部。 ( 4)核心网络必须有冗余设计,其中包括链路冗余和设备冗余。 东华理工大学毕业设计( 论文) 需求分析 7 (
n(onlineuser) dimsums=ubound(onlineuser) for i=0 to dimsums siteinfo=onlineuser(i) if siteinfo then if instr(siteinfo,oabusyusernameamp。 $)0 then findok=1 20 exit for end if end if next
名称 VARCHAR 10 NULL 员工号 CHAR 6 NOT NULL( 外键) 婚姻表的结构 字段名 数据类型 长度 约束 员工号 CHAR 6 NOT NULL(外键) 爱人代号 CHAR 6 NOT NULL(主键) 爱人姓名 VARCHAR 10 NULL 爱人籍贯 VARCHAR 8 NULL 爱人民族 VARCHAR 10 NULL 出生日期 DATE NULL 结婚时间