C語言實(shí)現(xiàn)簡單職工信息管理系統(tǒng)
更新時(shí)間:2022年07月22日 17:06:22 作者:Deng笨蛋
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單職工信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)職工信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
代碼實(shí)現(xiàn)如下:
#include <stdio.h>//輸入、輸出指令 #include <malloc.h>//在內(nèi)存中動(dòng)態(tài)的分配size字節(jié)的存儲(chǔ)區(qū) #include <string.h>//字符串相關(guān)操作指令 #include <stdlib.h>//五種類型、一些宏和通用工具函數(shù) #include<conio.h>//通過鍵盤產(chǎn)生的對應(yīng)操作 #include <MEMORY.H>//存儲(chǔ)訪問頭文件 typedef struct node { ? ? ? ? ?char ? name[20]; ? ? ?int ? ?age; ? ? ?int ? ?worktime; ? ? ?char ? sex[20]; ? ? ?char ? marrige[20]; ? ? ?int ? ?grade; ? ? ?char ? tired[20]; ? ? struct ?node *next; }STU; void output(STU *head); STU *Create(); STU *findByName(STU *head,char *name); STU *findByWorktime(STU *head,int worktime); STU *findByGrade(STU *head,int grade); void find(STU *head); STU *insert(STU *head); STU *findByNumEx(STU *head,char num[],STU **ppbefore); STU *del(STU *head); void update(STU *head); void sort(STU *head); void save_info(STU *head); void copy(); STU *load_info(); char *password(); void main() { ? ? ? ? ? char *p; ? ? ?int i,n=0;? ? ? ? ?char a[40]; ? ? ? ? printf(" ? ? ? ?\t\t*******歡迎使用職工信息管理系統(tǒng)********\n\n"); ? ? ? ? ? printf(" ? ? ? ?\t\t請輸入口令:\n"); ? ? ? ? printf(" ? ? ? ?\t\t----------:\n"); ? ? for(i=0;i<3;i++) ? ? { ?? ? ? ? ? n=n+1; ? ? ? ? printf(" ? ? ? ?\t\t第%d次輸入:",i+1); ? ? ? ? p=password(); ? ? ? ?if(p!=NULL) ? ? ? ?{ ? ? ? ? ? ?STU *head; ? ? ? ? ? ? int choice; ? ? ? ? ? ? int n; ? ? ? ? ? ? head=NULL; ? ? ? ? ? ? ?printf("\n ? ? ? ?\t\t你是合法用戶!\n\n"); ? ? ? ? for (i = 0; i < 0x7FFFFFF; i++); ? ? ? ? for (i = 0; i < 0x7FFFFFF; i++); ? ? ? ? for (i = 0; i < 0x7FFFFFF; i++); ? ? ? ? system("cls"); ? ? ? ? for(;;) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t*******職工信息管理系統(tǒng)********\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 1.輸入職工信息 ? ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 2.顯示全部職工信息 ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 3.查詢職工信息 ? ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 4.新增職工信息 ? ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 5.刪除職工信息 ? ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 6.修改職工信息 ? ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 7.對職工信息排序 ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 8.保存當(dāng)前信息到文件 ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 9.備份信息資料到文件 ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 10.從文件加載職工信息 ? ? ? *\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t* 0.退出系統(tǒng) ? ? ? ? ? ? ? ? ?*\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t*******************************\n"); ? ? ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t請選擇(0-9):"); ? ? ? ? ? ? ? ? scanf("%d",&choice); ? ? ? ? ? ? ? ? if(choice==0) break; ? ? ? ? ? ? ? ? switch(choice) ? ? ? ? ? ? ? ? { ?? ? ? ? ? ? ? ? ? ? ? case 1: head=Create(); break; ? ? ? ? ? ? ? ? ? ? case 2: output(head);break; ? ? ? ? ? ? ? ? ? ? case 3:find(head);break; ? ? ? ? ? ? ? ? ? ? case 4: head=insert(head); break; ? ? ? ? ? ? ? ? ? ? case 5: head=del(head); break; ? ? ? ? ? ? ? ? ? ? case 6: update(head);break; ? ? ? ? ? ? ? ? ? ? case 7: sort(head);break; ? ? ? ? ? ? ? ? ? ? case 8: save_info(head);break; ? ? ? ? ? ? ? ? ? ? case 9: copy();break; ? ? ? ? ? ? ? ? ? ? case 10:head=load_info();break; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? printf("按任意鍵繼續(xù)...."); ? ? ? ? ? ? getch(); ? ? ? ? } ? ? ? ? printf(" ? ? ? ? ? \t\t感謝您的使用,再見!\n"); ? ? ? ? break; ? ? ? ? } ? ? ? ?else ? ? ? ?{? ? ? ? ? ? ?printf("\n ? ? ? ?\t\t你是非法用戶!\n\n"); ? ? ? ? ? ?if(n==3) ? ? ? ? ? ? printf(" ? ? ? ? ? \t\t你的錯(cuò)誤口令次數(shù)超過3次,程序關(guān)閉!\n"); ? ? ? ?} ? ? } } STU *Create() { ? ? STU *head,*pnew,*pend; ? ? head=NULL; ? ? printf("輸入職工信息:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? for(;;)? ? ? { ? ? ? ? pnew=(STU *)malloc(sizeof(STU)); ? ? ? ? scanf("%s",pnew->name); ? ? ? ? if(strcmp(pnew->name,"0")==0) ? ? ? ? { ? ? ? ? ? ? printf("員工信息錄入完畢\n"); ? ? ? ? ? ? break; ? ? ? ? } ? ? ? ? scanf("%d%d%s%s%d%s",&pnew->age,&pnew->worktime,pnew->sex,pnew->marrige,&pnew->grade,pnew->tired); ? ? ? ? pnew->next=NULL;? ? ? ? ? if(head==NULL){ ? ? ? ? ? ? head=pnew; ? ? ? ? ? ? pend=pnew; ? ? ? ? } ? ? ? ? else{ ? ? ? ? ? ? pend->next=pnew; ? ? ? ? ? ? pend=pend->next; ? ? ? ? } ? ? } ? ? return head; } void output(STU *head) { ? ? STU *p; ? ? printf("職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? printf("%s\t%d\t%d\t%s\t%s\t%d\t%s\n",p->name,p->age,p->worktime,p->sex,p->marrige,p->grade,p->tired); } void find(STU *head) { ? ? STU *p; ? ? char name[20]; ? ? int worktime,grade,i; ? ? int choice; ? ? system("cls"); for(;;) ? ? { ? ? ? ? system("cls"); ? ? ? ? printf(" ? ? ? ? ? \t\t*******職工信息查詢系統(tǒng)********\n"); ? ? ? ? printf(" ? ? ? ? ? \t\t* 1.按職工姓名查找 ? ? ? ? ? ?*\n"); ? ? ? ? printf(" ? ? ? ? ? \t\t* 2.按職工工齡查找 ? ? ? ? ? ?*\n"); ? ? ? ? printf(" ? ? ? ? ? \t\t* 3.按職工級(jí)別查找 ? ? ? ? ? ?*\n"); ? ? ? ? printf(" ? ? ? ? ? \t\t* 0.退出系統(tǒng) ? ? ? ? ? ? ? ? ?*\n"); ? ? ? ? printf(" ? ? ? ? ? \t\t*******************************\n"); ? ? ? ? printf(" ? ? ? ? ? \t\t請選擇(0-3):"); ? ? ? ? scanf("%d",&choice); ? ? ? ? if(choice==0) break; ? ? ? ? switch(choice) ? ? ? ? { ?? ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? ? ? printf("請輸入職工姓名:"); ? ? ? ? ? ? ? ? ? ? scanf("%s",name); ? ? ? ? ? ? ? ? ? ? p=findByName(head,name);break; ? ? ? ? ? ? case 2:? ? ? ? ? ? ? ? ? ? ? printf("請輸入職工工齡:"); ? ? ? ? ? ? ? ? ? ? scanf("%d",&worktime); ? ? ? ? ? ? ? ? ? ? p=findByWorktime(head,worktime);break; ? ? ? ? ? ? case 3: ? ? ? ? ? ? ? ? ? ? printf("請輸入職工級(jí)別:"); ? ? ? ? ? ? ? ? ? ? scanf("%d",&grade); ? ? ? ? ? ? ? ? ? ? p=findByGrade(head,grade);break; ? ? ? ? } ? ? ? ? if(p==NULL) ? ? { ? ? ? ? ? ? printf("無與此職工相關(guān)的信息!\a\n"); ? ? } ? ? else ? ? { ? ? ? ? ?if(choice==1) ? ? ? ? ?{ ? ? ? ? ? ? ? ? ?printf("職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n");? ? ? ? ? ? ? ?for(p=head;p!=NULL;p=p->next) ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? if(strcmp(p->name,name)==0) ? ? ? ? ? ? ? ? printf("%s\t%d\t%d\t%s\t%s\t%d\t%s\n",p->name,p->age,p->worktime,p->sex,p->marrige,p->grade,p->tired); ? ? ? ? ? ? ?} ? ? ? ? ?} ? ? ? ? ?else if(choice==2) ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?printf("職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? ? ? ? ? ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? if(p->worktime==worktime) ? ? ? ? ? ? ? ? ? ? printf("%s\t%d\t%d\t%s\t%s\t%d\t%s\n",p->name,p->age,p->worktime,p->sex,p->marrige,p->grade,p->tired); ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? } ? ? ? ? ?else if(choice==3) ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ?printf("職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? ? ? ? ? ? ? ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? if(p->grade==grade) ? ? ? ? ? ? ? ? ? ? ? ? printf("%s\t%d\t%d\t%s\t%s\t%d\t%s\n",p->name,p->age,p->worktime,p->sex,p->marrige,p->grade,p->tired); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? printf("按任意鍵繼續(xù)...."); ? ? getch(); } printf(" ? ? ? ? ? \t\t您已退出查詢系統(tǒng)\n\n"); } STU *findByName(STU *head,char *name) { ? ? STU *p,*result=NULL; ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? if(strcmp(p->name,name)==0) ? ? ? ? { ? ? ? ? ? ? result=p; ? ? ? ? ? ? break; ? ? ? ? } return result; } STU *findByWorktime(STU *head,int worktime) { ? ? STU *p,*result=NULL; ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? if(p->worktime==worktime) ? ? ? ? { ? ? ? ? ? ? result=p; ? ? ? ? ? ? break; ? ? ? ? } return result; } STU *findByGrade(STU *head,int grade) { ? ? STU *p,*result=NULL; ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? if(p->grade==grade) ? ? ? ? { ? ? ? ? ? ? result=p; ? ? ? ? ? ? break; ? ? ? ? } ? ? ? ? return result; } STU *insert(STU *head) { ? ? STU *pnew,*pcur,*pbefore,*p; ? ? int choice; ? ? printf("輸入職工信息:\n"); ? ? for(;;) ? ? { ? ? ? ? //1.申請一個(gè)新節(jié)點(diǎn)并賦值 ? ? ? ? pnew=(STU *)malloc(sizeof(STU)); ? ? ? ? printf("職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? ? ? scanf("%s%d%d%s%s%d%s",pnew->name,&pnew->age,&pnew->worktime,pnew->sex,pnew->marrige,&pnew->grade,pnew->tired); ? ? ? ? pnew->next=NULL; ? ? ? ? //2.將新節(jié)點(diǎn)插入到鏈表 ? ? ? ? //若鏈表為空,則直接插入;若鏈表不為空,則查找位置,然后插入 ? ? if(head==NULL) ? ? { ? ? ? ? head=pnew; ? ? ? } ? ? else ? ? { ? ? ? ? pcur=NULL; ? ? ? ? for(p=head;p!=NULL;pbefore=p,p=p->next) ? ? ? ? ? ? if(strcmp(p->name,pnew->name)==1) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? pcur=p; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? //查找之后,判斷pcur是否為空, ? ? ? ? ? ? //若pcur為空,則pnew所指節(jié)點(diǎn)應(yīng)插入到鏈表尾部? ? ? ? ? if(pcur==NULL) ? ? ? ? { ? ? ? ? ? ? pbefore->next=pnew;? ? ? ? ? } ? ? ? ? //若pcur非空,則pnew所指節(jié)點(diǎn)應(yīng)插入到pcur之前,pbefore之后,此時(shí),又分兩種情況: ? ? ? ? //pcur指向的是首節(jié)點(diǎn),或者pcur指向后續(xù)節(jié)點(diǎn); ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? if(pcur==head) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? pnew->next=pcur; ? ? ? ? ? ? ? ? head=pnew; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? pnew->next=pcur; ? ? ? ? ? ? ? ? pbefore->next=pnew; ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? printf("請選擇:按1繼續(xù)添加->按0結(jié)束添加\n"); ? ? printf("choice="); ? ? scanf("%d",&choice); ? ? if(choice==0) ? ? ? ? { ?? ? ? ? ? ? ? printf("信息添加完畢!\n"); ? ? ? ? ? ? break; ? ? ? ? } ? ? } ? ?return head; } STU *del(STU *head) { ? ? STU *presult,*pbefore; ? ? char name[20]; ? ? printf("要?jiǎng)h除的職工信息:"); ? ? scanf("%s",&name); ? ? presult=findByNumEx(head,name,&pbefore); ? ? if(presult!=NULL) ? ? { ? ? ? ? printf("找到了!職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? ? ? ? printf("%s\t%d\t%d\t%s\t%s\t%d\t%s\n",presult->name,presult->age,presult->worktime,presult->sex,presult->marrige,presult->grade,presult->tired); ? ? ? ? ? ? if(presult==head) ? ? ? ? { ? ? ? ? ? ? head=presult->next; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? pbefore->next=presult->next; ? ? ? ? } ? ? ? ? printf("刪除成功---> "); ? ? } ? ? else ? ? ? ? printf("無與此職工相關(guān)的信息\a\a\n"); ? ? return head; } //函數(shù)說明: // ?在head所指向鏈表中,查找學(xué)號(hào)為num的節(jié)點(diǎn) // ?找到后,返回兩個(gè)值:指向當(dāng)前節(jié)點(diǎn)的指針presult,指向當(dāng)前節(jié)點(diǎn)的前一節(jié)點(diǎn)的指針pbefore, // ?presult通過函數(shù)返回值返回(即return),pbefore通過輸出型參數(shù)ppBefore返回 STU *findByNumEx(STU *head,char name[],STU **ppbefore) { ? ? STU *p,*presult=NULL,*pbefore=NULL; ? ? for(p=head;p!=NULL;pbefore=p,p=p->next) ? ? ? ? if(strcmp(p->name,name)==0) ? ? ? ? { ? ? ? ? ? ? presult=p; ? ? ? ? ? ? break; ? ? ? ? } ? ? if(p==NULL) ? ? pbefore=NULL; ? ? *ppbefore=pbefore; ? ? return presult; } void update(STU *head) { ? ? STU *presult; ? ? char name[20]; ? ? printf("輸入要修改員工姓名:\n"); ? ? scanf("%s",name); ? ? presult=findByName(head,name); ? ? if(presult==NULL) ? ? ? ? printf("查無此人!無法修改!\a\n"); ? ? else ? ? { ? ? printf("找到了!職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? ? printf("%s\t%d\t%d\t%s\t%s\t%d\t%s\n",presult->name,presult->age,presult->worktime,presult->sex,presult->marrige,presult->grade,presult->tired); ? ? ? ? ? ? printf("請輸入修改信息:\n"); ? ? ? ? printf("姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ?? ? ? ? ? ? ? scanf("%s%d%d%s%s%d%s",presult->name,&presult->age,&presult->worktime,presult->sex,presult->marrige,&presult->grade,presult->tired); ? ? ? ? printf("修改完畢---> "); ? ? } } void sort(STU *head)//按級(jí)別排序 { ? ? STU *pi,*pj,*pindex,*p; ? ? STU temp; ? ? int len=sizeof(STU)-sizeof(STU *); ? ? int i,j,n=0; ? ? for(p=head;p!=NULL;p=p->next) ? ? ? ? n++; ? ? for(pi=head,i=0;i<n-1;i++,pi=pi->next){ ? ? ? ? pindex=pi; ? ? ? ? for(pj=pi->next,j=i+1;j<n;j++,pj=pj->next) ? ? ? ? ? ? if(pindex->grade> pj->grade) ? ? ? ? ? ? ? ? pindex=pj; ? ? ? ? ? ? memcpy(&temp,pi,len);? ? ? ? ? memcpy(pi,pindex,len);? ? ? ? ? memcpy(pindex,&temp,len);? ? ? } ? ? printf("排序完畢---> "); } void save_info(STU *head) { ? ? char filename[20]; ? ? FILE *fp; ? ? STU *p; ? ? printf("保存當(dāng)前信息到文件的處理\n"); ? ? printf("請輸入文件名:"); ? ? scanf("%s",filename); ? ? if((fp=fopen(filename,"w"))==NULL) ? ? { ? ? ? ? printf("無法打開文件\n"); ? ? ? ? return; ? ? } ? ? fprintf(fp,"全部職工信息如下:\n姓名\t年齡\t工齡\t性別\t婚姻\t級(jí)別\t是否在職\n"); ? ? for(p=head;p!=NULL;p=p->next) ? ? fprintf(fp,"%s\t%d\t%d\t%s\t%s\t%d\t%s\n",p->name,p->age,p->worktime,p->sex,p->marrige,p->grade,p->tired); ? ? fprintf(fp,"%d",0); ? ? fclose(fp); ? ? printf("保存完成!--->"); } void copy() { ? ? FILE *in,*out; ? ? char infile[40],ch; ? ? char outfile[40]; ? ? printf("現(xiàn)在進(jìn)入學(xué)生信息文件的備份\n"); ? ? printf("源文件名:"); ? ? scanf("%s",infile); ? ? printf("備份文件名:"); ? ? scanf("%s",outfile); ? ? if((in=fopen(infile,"r"))==NULL) ? ? { ? ? ? ? printf("文件無法打開\n"); ? ? ? ? exit(0); ? ? } ? ? if((out=fopen(outfile,"w"))==NULL) ? ? { ? ? ? ? printf("文件無法打開\n"); ? ? ? ? exit(0); ? ? } ? ? ch=fgetc(in); ? ? while(ch!=EOF) ? ? { ? ? ? ? fputc(ch,out); ? ? ? ? ch=fgetc(in); ? ? } ?? ? ? ? ? fclose(in); ? ? ? ? fclose(out); ? ? ? ? printf("備份成功!\n"); } STU *load_info() { ? ? STU *head=NULL,*pnew,*pend; ? ? char filename[20]; ? ? char a[20]; ? ? FILE *fp; ? ? int i; ? ? printf(" ? ? ? ? ? \t\t文件加載職工信息,輸入文件名:"); ? ? scanf("%s",filename); ? ? if((fp=fopen(filename,"r"))==NULL) ? ? { ? ? ? ? printf(" ? ? ? ? ? \t\t加載失敗!\n"); ? ? ? ? exit(0); ? ? } ? ? for(i=0;i<8;i++) ? ? ? ? fscanf(fp,"%s",a); ? ? for(;;) ? ? { ? ? ? ? pnew=(STU *)malloc(sizeof(STU)); ? ? ? ? fscanf(fp,"%s",&pnew->name); ? ? ? ? ? ? if(strcmp(pnew->name,"0")==0) ? ? ? ? ? ? ? ? break; ? ? ? ? fscanf(fp,"%d%d%s%s%d%s",&pnew->age,&pnew->worktime,&pnew->sex,&pnew->marrige,&pnew->grade,&pnew->tired); ? ? ? ? pnew->next=NULL; ? ? ? ? ? ? if(head==NULL) ? ? ? ? { ? ? ? ? ? ? head=pnew; ? ? ? ? ? ? pend=pnew; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? pend->next=pnew; ? ? ? ? ? ? pend=pnew; ? ? ? ? } ? ? } ? ? fclose(fp); ? ? printf(" ? ? ? ? ? \t\t加載成功!\n"); ? ? return head; } char *password() { ? ? char password[100],c; ? ? char *result=NULL; ? ? int e,count; ? ? e=0;count=0; ? ? while((c=getch())!=13&&e<100)//13為回車 ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? ? ?if(c==8&&e>0)//8為退格 ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? password[e--]='\0';//刪除最后一個(gè),并且計(jì)數(shù)器減1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("\b \b");//退格 ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? password[e++]=c; ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*");//覆蓋*號(hào),當(dāng)輸出空格覆蓋前一個(gè)字符后,再一次前移,以便下一次輸入 ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? } ? ? ? ? ? ? ?password[e]='\0'; ? ? ? ? ? ? ?if(strcmp(password,"123456")==0) ? ? ? ? ? ? ? ? result=1; ? ?? ? ? ? ? ? ? return ?result; }
程序運(yùn)行效果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 學(xué)生信息管理系統(tǒng)C語言版
- C語言職工信息管理系統(tǒng)源碼
- C語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(單鏈表)
- C語言數(shù)據(jù)結(jié)構(gòu)之學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- C語言實(shí)現(xiàn)歌曲信息管理系統(tǒng)
- C語言單鏈表版學(xué)生信息管理系統(tǒng)
- C語言學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- c語言實(shí)現(xiàn)的貨物管理系統(tǒng)實(shí)例代碼(增加刪除 查找貨物信息等功能)
- C語言版學(xué)生信息管理系統(tǒng)
- C語言學(xué)生信息管理系統(tǒng)小項(xiàng)目
相關(guān)文章
C語言實(shí)現(xiàn) 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)
這篇文章主要介紹了 C語言 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09C/C++ Qt 數(shù)據(jù)庫與Chart歷史數(shù)據(jù)展示
這篇文章主要介紹了Qt利用Qchart組件展示數(shù)據(jù)庫中的歷史數(shù)據(jù)。文中的示例代碼講解清晰,具有一定的學(xué)習(xí)和工作價(jià)值,感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12C語言實(shí)現(xiàn)掃雷小游戲完整算法詳解(附完整代碼)
掃雷游戲想必我們都有玩過,那么今天就用C語言來簡單實(shí)現(xiàn)“掃雷”小游戲,這篇文章主要給大家介紹了關(guān)于C語言實(shí)現(xiàn)掃雷小游戲完整算法的相關(guān)資料,文中給出了完整的實(shí)例代碼,需要的朋友可以參考下2022-06-06