freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

人員簽到管理系統(tǒng)(已修改)

2025-04-20 08:59 本頁面
 

【正文】 《我的第一個(gè)管理系統(tǒng)》這是我的第一個(gè)人員簽到簽出管理系統(tǒng)。A. 可以實(shí)現(xiàn)的功能1. 用戶注冊(cè)(只要內(nèi)存足夠可以實(shí)現(xiàn)無窮多個(gè)用戶注冊(cè))2. 用戶簽到 記錄用戶員工是否遲到3. 用戶簽退 記錄用戶員工是否早退4. 員工出勤情況查詢(包括總共上班天數(shù),遲到次數(shù),早退次數(shù))B.我認(rèn)為程序比較好的地方1.如果內(nèi)存可以系統(tǒng)可以讓無窮多個(gè)用戶實(shí)現(xiàn)注冊(cè)。2.可以讓用戶在任意時(shí)刻簽到或者簽退,并且如果內(nèi)存足夠可以實(shí)現(xiàn)無窮多次的簽到或者簽退,并且完整記錄信息。3.用戶注冊(cè)時(shí)候提供了注冊(cè)名不會(huì)重復(fù)的功能,如果重復(fù)提示用戶重新確定注冊(cè)名。4.在輸入注冊(cè)密碼時(shí)讓用戶兩次輸入密碼比較是否一樣,如果不一樣則提示用戶密碼不一致請(qǐng)重新輸入。5.所有密碼在輸入時(shí)全部以*回顯,保證密碼不會(huì)泄露。6.每一步都有完整的提示指導(dǎo)用戶操作,對(duì)每一種可能發(fā)生的情況都做了相應(yīng)的處理(當(dāng)然還會(huì)有我沒有想到的情況)。7.本程序是用純C編寫出來的,依靠的是鏈表指針操作,看起來不是很容易。C.程序的主要思想1.不用C++里面的類,完全用結(jié)構(gòu)體來代替。2.先創(chuàng)建一個(gè)用戶emp結(jié)構(gòu)體,用來作為橫向鏈表的節(jié)點(diǎn),存儲(chǔ)用戶名,用戶密碼等基本信息。3.再創(chuàng)建一個(gè)day簽到簽退結(jié)構(gòu)體用來作為豎向節(jié)點(diǎn),用來記錄用戶每天簽到情況。4.總體就是一個(gè)用戶就是一個(gè)鏈表,每注冊(cè)一個(gè)用戶就在橫向鏈表里插入一個(gè)節(jié)點(diǎn)記錄用戶名等基本信息,然后就是每個(gè)橫向節(jié)點(diǎn)又作為每個(gè)用戶簽到鏈表的頭結(jié)點(diǎn),這樣簽到一次就在該用戶對(duì)應(yīng)的橫節(jié)點(diǎn)下插入一個(gè)節(jié)點(diǎn)記錄該用戶簽到情況。D.程序的不足之處1.沒有漂亮的界面,看起來不爽。2.沒有提供開除員工的取消用戶注冊(cè)的操作(其實(shí)也比較好實(shí)現(xiàn),再多加一個(gè)函數(shù)就可以解決)。(以實(shí)現(xiàn))3.程序中用到大量的goto語句,這里不提倡使用。4.記錄數(shù)據(jù)不是十分充分,但是隨時(shí)可以擴(kuò)充。5.如果程序意外停止,那么所有數(shù)據(jù)全部丟失,所以本系統(tǒng)不是用來用的,是用來看的。6.程序重復(fù)代碼有好多,其實(shí)可以精簡。7《此程序最終可以實(shí)現(xiàn)回車重新輸入密碼》《所有功能都實(shí)現(xiàn)了哈哈哈哈哈》includeincludeincludeincludetypedef struct days{ int stime。//上班時(shí)間 int gotime。//下班時(shí)間 char islate。//是否遲到Y(jié)為遲到N為沒有遲到 char isgoearly。//是否早退 days *next。}day。typedef struct emplore{ char join[20]。//用戶名 char sec[20]。//用戶密碼 emplore *next。 day *next1。}emp。int findjoin(emp *head,const char *name)//通過用戶名查找{ char C。while(head!=NULL){ if(int(strcmp(headjoin,name))==0) { printf(請(qǐng)輸入用戶密碼:\n)。 return 1。//查找到對(duì)應(yīng)的用戶名 } else { head=headnext。 }}if(head==NULL){ printf(此用戶名不存在,您現(xiàn)在需要注冊(cè)嗎?Y注冊(cè),N不注冊(cè)\n)。 C=getche()。 //scanf(%c,amp。C)。 if(C==39。Y39。) return 2。//需要注冊(cè) else return 3。//不需要注冊(cè)}return 0。}int insert1(emp *amp。head,char *name,char *mima1)//用戶注冊(cè)時(shí)候需要的鏈表????注意head要用引用哦!{ emp *p。 p=(emp*)malloc(sizeof(emp))。 if(p==NULL) { printf(注冊(cè)失敗\n)。 return 0。 } else printf(\n恭喜您注冊(cè)成功\n)。 strcpy(pjoin,name)。 strcpy(psec,mima1)。 pnext=head。 pnext1=NULL。//重要的一步一定要初始化為NULL方便標(biāo)記 head=p。 return 0。}int findmima(emp *head,const char *name,const char *mima1)//一定是在有用戶名的情況下{ while(head!=NULL) { if(int(strcmp(headjoin,name))==0) { if(strcmp(headsec,mima1)==0) { printf(\n密碼正確請(qǐng)選擇簽到還是簽退:\ne簽到l簽退t退出系統(tǒng)\n)。//提供選項(xiàng)讓用戶選擇簽到還是簽退 return 0。 } else { printf(\n密碼錯(cuò)誤請(qǐng)重新輸入:)。 return 1。 } } else head=headnext。 } return 0。}int etime(day *amp。p)//輸入簽早到信息并且處理信息{ printf(請(qǐng)輸入簽早到時(shí)間,相信你是誠實(shí)的哦\n)。 scanf(%d,amp。(pstime))。//這個(gè)地方一定要注意,這不是C++是純C一定要注意啊 if(pstime8) pisgoearly=39。Y39。 else pisgoearly=39。N39。 pislate=39。N39。//實(shí)現(xiàn)分開處理的必要條件 printf(您已經(jīng)完成簽到\n)。 return 0。}int goouttime(day *amp。p)//輸入簽退信息并且處理信息{ printf(\n請(qǐng)輸入簽退時(shí)間,相信你是誠實(shí)的哦\n)。 scanf(%d,amp。(pgotime))。 if(pgotime18) pislate=39。Y39。 else pislate=39。N39。 pisgoearly=39。N39。//實(shí)現(xiàn)分開處理的必要條件 printf(您已經(jīng)完成簽退\n)。 return 0。}int insert2(emp *head,char *name,day *p)//找到本用戶的頭結(jié)點(diǎn)并插入,這里找到的head就是該用戶的頭結(jié)點(diǎn){ while(head!=NULL) { if(int(strcmp(headjoin,name))==0) { pnext=headnext1。 headnext1=p。 return 0。 } head=headnext。 } return 0。}int findrec(emp *head,char *name)//查找用戶信息{ int rday=0,rlate=0,rearly=0。 day *p=NULL。 while(head!=NULL) { if(int(strcmp(headjoin,name))==0) { p=headnext1。 while(p!=NULL) { rday++。//記錄一共簽到多少次 if(pisgoearly==39。Y39。) rearly++。 if(pislate==39。Y39。) rlate++。 p=pnext。 } printf(總共有記錄的條數(shù):%d\n,rday)。 printf(總共有記錄遲到的次數(shù):%d\n,rlate)。 printf(總共有記錄早退的次數(shù):%d\n,rearly)。 return 0。//這一步是必要的哦 } head=headnext。//這一步不要忘記啊 } return 0。}int findname(emp *head,char *name)//查找用戶信息{ while(head!=NULL) { if(int(strcmp(headjoin,name))==0) return 1。 head=headnext。 } if(head==NULL) return 0。 return 0。}int delete_q(emp *p)//刪除本人還有其所有的記錄{ day *p1,*p2。 if(p==NULL) return 0。 p1=pnext1。 free(p)。 while(p1!=NULL) { p2=p1。 p1=p1next。 free(p2)。 } return 0。}int goout(emp *amp。p,char *name,char *mima)//用戶注銷,返回一注銷成功刪除所有記錄{ emp *p1。 if(p==NULL) { printf(\n用戶名不存在或密碼錯(cuò)誤\n)。 return 0。 } if(pnext==NULL)//一定不是不能操作 { if(strcmp(pjoin,name)==0amp。amp。strcmp(psec,mima)==0) { delete_q(p)。 p=NULL。 printf(注銷成功)。 return 1。 } else { printf(密碼錯(cuò)誤,注銷失敗)。 return 0。 } } if(strcmp(pjoin,name)==0) { if(strcmp(pnextjoin,mima)!=0) { p1=p。 p=pnext。 delete_q(p1)。 //printf(冊(cè)成功yue)。 return 1。 } } p1=p。 while(p1next!=NULL) { if(strcmp(p1nextjoin,name)==0amp。amp。strcmp(p1nextsec,mima)==0) { //printf(%s %s,p1nextsec,mima)。 p1next=p1nextnext。 delete_q(p1next)。 printf(注銷成功)。 return 1。 } p1=p1next。 } printf(注銷失敗\n)。 return 0。 }int change_mima(emp *p,char *name){ char a[20],b[20]。 if(findname(p,name)==0) { printf(\n該用戶名不存在)。 retu
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1