1.c语言实现职工信息管理系统
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
typedef struct workers{
char number[10];
char name[10];
char sex[10];
char birthday[10];
char xl[10];
char position[10];
int money;
char add[10];
char tele[10];
struct workers *next;
}WOR;
int create(WOR *head)
{
char c;
int flag=0;
char arr[100];
WOR *p,*q,*t;
p=head;
t=head;
t=t->next;
while(p->next!=NULL)
p=p->next;
while(1)
{
q=(WOR *)malloc(sizeof(WOR));
int cntt=0;
while(1)
{
t=head;
t=t->next;
flag=0;
if(cntt>0)
printf("职工号重复请重新输入!\n");
printf("请输入职工号:");
scanf("%s",q->number);
cntt++;
while(t!=NULL)
{
if(strcmp(t->number,q->number)==0)
{
flag=1;
break;
}
t=t->next;
}
if(flag==1)
continue;
else if(t==NULL)
break;
}
printf("请输入姓名:");
scanf("%s",q->name);
int cnt=0;
while(1)
{
if(cnt>0)
printf("性别输入错误,若要寻找第三方性别请前往泰国,请重新输入性别,");
printf("请输入性别:");
scanf("%s",arr);
cnt++;
if(strcmp("男",arr)==0)
break;
if(strcmp("女",arr)==0)
break;
}
strcpy(q->sex,arr);
printf("请输入出生年月:");
scanf("%s", q->birthday);
printf("请输入学历:");
scanf("%s", q->xl);
printf("请输入职务:");
scanf("%s", q->position);
int flag=0;
while(1)
{
printf("请输入工资:");
cin>>q->money;
if(!cin)
{
printf("搬砖哪有那么多工资!\n");
cin.clear();
cin.sync();
system("pause");
}
else
flag=1;
if(flag==1)
break;
else
continue;
}
printf("请输入住址:");
scanf("%s", q->add);
printf("请输入电话:");
scanf("%s", q->tele);
q->next=NULL;
p->next=q;
p=q;
for(int i=0;i<100;i++)
arr[i]=0;
printf("提示:靓仔!你已经添加了一个职工的信息!('n')退出其余任意键继续添加职工信息!\n");
getchar();
scanf("%c",&c);
if(c=='n')
break;
}
}
int save(WOR *head)
{
FILE *fp;
fp=fopen("职工信息管理系统.txt","wb");
WOR *p=head;
p=p->next;
while(p!=NULL)
{
fprintf(fp,"%s %s %s %s %s %s %d %s %s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
p=p->next;
}
printf("保存成功!\n");
Sleep(3000);
fclose(fp);
}
int alter(WOR *head)
{
char arr[20];
char crr[20];
WOR *p=head;
p=p->next;
int flag=0;
printf("请输入你要修改的职工号:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(p->number,arr)==0)
{
flag=1;
printf("请输入姓名:");
scanf("%s", p->name);
int cnt=0;
while(1)
{
if(cnt>0)
printf("性别输入错误,若要寻找第三方性别请前往泰国,请重新输入性别,");
printf("请输入性别:");
scanf("%s",crr);
cnt++;
if(strcmp("男",crr)==0)
break;
if(strcmp("女",crr)==0)
break;
}
strcpy(p->sex,crr);
printf("请输入出生年月:");
scanf("%s", p->birthday);
printf("请输入学历:");
scanf("%s", p->xl);
printf("请输入职务:");
scanf("%s", p->position);
printf("请输入工资:");
scanf("%d",&p->money);
printf("请输入住址:");
scanf("%s", p->add);
printf("请输入电话:");
scanf("%s", p->tele);
}
else
p=p->next;
if(flag==1)
break;
}
if(flag==0)
printf("靓仔没跌这个蜀黍\n");
Sleep(1000);
}
int scan(WOR *head)
{
WOR *p=head;
p=p->next;
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
while(p!=NULL)
{
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
p=p->next;
}
printf("是否停止查看!(y)任意键继续:");
char c;
while(1)
{
cin>>c;
if(c=='y')
break;
else
continue;
}
}
int seek(WOR *head)
{
printf("\(≧▽≦)/请选择查找方式(★^O^★) \n");
printf(" 1:按职工工号查找\n");
printf(" 2:按职工姓名查找\n");
printf(" 3:按职工出生年月查找\n");
printf(" 4:按职工学历查找\n");
printf(" 5:按职工职务查找\n");
printf(" 6:按职工工资查找\n");
printf(" 7:按职工地址查找\n");
printf(" 8:按职工电话查询\n");
printf(" 9:按职工性别查找\n");
printf("\(≧▽≦)/****************( ̄ε(# ̄)\n");
printf("输入你想进行的操作:") ;
int n;
scanf("%d",&n);
WOR *p;
p=head;
p=p->next;
if(n==1)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的工号:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->number)==0)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
break;
}
else
p=p->next;
}
if(cnt==0)
printf("抱歉没有这个蜀黍!\n");
cnt=0;
char c[100]={0};
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
scanf("%s",c);
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==2)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的姓名:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->name)==0)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
Sleep(500);
//break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没有这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==3)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的出生年月\n:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->birthday)==0)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
// break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没有这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==4)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的学历:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->xl)==0)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
// break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没有这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==5)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的职务:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->position)==0)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
// break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没找到这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==6)
{
int t;
int cnt=0;
printf("请输入你需要查找工人的工资:");
scanf("%d",t);
while(p!=NULL)
{
if(t==p->money)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
// break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没找到这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==7)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的地址:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->add)==0)
{
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
// break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没找到这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==8)
{
char arr[20];
int cnt=0;
printf("请输入你需要查找工人的电话:");
scanf("%s",arr);
while(p!=NULL)
{
if(strcmp(arr,p->tele)==0)
{
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
cnt=1;
// break;
}
//else
p=p->next;
}
if(cnt==0)
printf("没找到这个蜀黍\n");
cnt=0;
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
if(n==9)
{
char a[10];
while(1)
{
printf("请输入你想要查找的性别:");
scanf ("%s",a);
if(strcmp("男",a)==0)
break;
if(strcmp("女",a)==0)
break;
}
printf("工号\t姓名\t性别\t出生年月\t学历\t职务\t工资\t地址\t电话\n");
while(p!=NULL)
{
if(strcmp(a,p->sex)==0)
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n",p->number,p->name,p->sex,p->birthday,p->xl,p->position,p->money,p->add,p->tele);
p=p->next;
}
char c[100];
while(1)
{
printf("是否返回主菜单(y返回主菜单): \n");
cin>>c;
if(strcmp("y",c)==0)
break;
else
{
printf("麻烦请仔细输入!别滚键盘!");
continue;
}
}
}
}
int del(WOR *head)
{
WOR *p, *q;
char arr[10];
p = head->next;
if (p == NULL)
{
printf("没有添加任何职工信息,你只能把空气删了( ̄ε(# ̄)\n ");
return 0;
}
printf(" \n提示:请输入你要删除的职工号!\n ");
scanf("%s", arr);
while (p != NULL)
{
if (strcmp(p->number, arr) == 0)
break;
p = p->next;
}
if(p==NULL)
printf("亲抱歉!没找到此工人!\n");
else
{
q = head;
while (q->next != p)
{
q = q->next;
}
q->next = q->next->next;
}
}
int charu(WOR *head)
{
int flag=0;
char arr[100];
WOR *p,*q,*t,*i,*h;
h=head;
p=head->next;
i=head->next;
while(i->next!=NULL)
i=i->next;
q=(WOR *)malloc(sizeof(WOR));
int cntt=0;
while(1)
{
t=head;
t=t->next;
flag=0;
if(cntt>0)
printf("职工号重复请重新输入!\n");
printf("请输入职工号:");
scanf("%s",q->number);
cntt++;
while(t!=NULL)
{
if(strcmp(t->number,q->number)==0)
{
flag=1;
break;
}
t=t->next;
}
if(flag==1)
continue;
else if(t==NULL)
break;
}
printf("请输入姓名:");
scanf("%s",q->name);
int cnt=0;
while(1)
{
if(cnt>0)
printf("性别输入错误,若要寻找第三方性别请前往泰国,请重新输入性别,");
printf("请输入性别:");
scanf("%s",arr);
cnt++;
if(strcmp("男",arr)==0)
break;
if(strcmp("女",arr)==0)
break;
}
strcpy(q->sex,arr);
printf("请输入出生年月:");
scanf("%s", q->birthday);
printf("请输入学历:");
scanf("%s", q->xl);
printf("请输入职务:");
scanf("%s", q->position);
flag=0;
while(1)
{
printf("请输入工资:");
cin>>q->money;
if(!cin)
{
printf("哥你悠着点,别滚键盘!\n");
cin.clear();
cin.sync();
system("pause");
}
else
flag=1;
if(flag==1)
break;
else
continue;
}
printf("请输入住址:");
scanf("%s", q->add);
printf("请输入电话:");
scanf("%s", q->tele);
if(q->money>=p->money)
{
head->next=q;
q->next=p;
printf("插入成功!");
save(head);
Sleep(500);
return 0;
}
if(i->money>=q->money)
{
q->next=NULL;
i->next=q;
printf("插入成功!");
save(head);
Sleep(500);
return 0;
}
if((q->money<p->money)&&(q->money>i->money))
{
while(p->money>q->money)
{
p=p->next;
}
while(h->next!=p)
h=h->next;
h->next=q;
q->next=p;
printf("插入成功!");
save(head);
Sleep(500);
return 0;
}
}
int px(WOR *head)
{
WOR *p,*q,*t;
t=(WOR*)malloc(sizeof(WOR));
for(p=head->next;p!=NULL;p=p->next)
{
for(q=p->next;q!=NULL;q=q->next)
{
if(p->money<q->money)
{
strcpy(t->add,p->add);
strcpy(t->birthday,p->birthday);
strcpy(t->name,p->name);
strcpy(t->number,p->number);
strcpy(t->position,p->position);
strcpy(t->sex,p->sex);
strcpy(t->tele,p->tele);
strcpy(t->xl,p->xl);
t->money=p->money;
strcpy(p->add,q->add);
strcpy(p->birthday,q->birthday);
strcpy(p->name,q->name);
strcpy(p->number,q->number);
strcpy(p->position,q->position);
strcpy(p->sex,q->sex);
strcpy(p->tele,q->tele);
strcpy(p->xl,q->xl);
p->money=q->money;
strcpy(q->add,t->add);
strcpy(q->birthday,t->birthday);
strcpy(q->name,t->name);
strcpy(q->number,t->number);
strcpy(q->position,t->position);
strcpy(q->sex,t->sex);
strcpy(q->tele,t->tele);
strcpy(q->xl,t->xl);
q->money=t->money;
}
}
}
printf("排序成功!");
Sleep(3000);
return 0;
}
int pjz(WOR *head)
{
WOR *p;
p=head;
p=p->next;
float sum=0;
int cnt=0;
int min=1000;
int max=0;
while(p!=NULL)
{
if(p->money>max)
max=p->money;
if(p->money<min)
min=p->money;
sum+=p->money;
cnt++;
p=p->next;
}
float a=sum/cnt;
printf("\n\n\n\n\n\n\t\t\t\t\t员工工资最大值为:%d",max);
printf("\n\t\t\t\t\t员工工资最小值为:%d",min);
printf("\n\t\t\t\t\t员工平均工资为:%.2f",a);
printf("\n是否停止查看!(y)任意键继续:");
char c;
while(1)
{
cin>>c;
if(c=='y')
break;
else
continue;
}
return 0;
}
int main()
{
WOR *head;
head=(WOR *)malloc(sizeof(WOR));
head->next=NULL;
FILE *p;
if((p=fopen("职工信息管理系统.txt","rb+") )!= NULL){
WOR *t,*q;
t=head;
while(feof(p)==0)
{
q=(WOR*)malloc(sizeof(WOR));
fscanf(p,"%s %s %s %s %s %s %d %s %s\n",q->number,q->name,q->sex,q->birthday,q->xl,q->position,&q->money,q->add,q->tele);
q->next=NULL;
t->next=q;
t=q;
}
fclose(p);
}
while(1)
{
system("CLS");
printf("\n\t\t\t\t职 工 信 息 管 理 系 统\n");
printf("=====( ̄ε(# ̄)===========菜 单=============( ̄ε(# ̄)=====\n ");
printf("\n\t\t\t1.输入职工信息\n ");
printf("\n\t\t\t2.修改职工信息\n ");
printf("\n\t\t\t3.浏览职工信息\n ");
printf("\n\t\t\t4.查询职工信息\n ");
printf("\n\t\t\t5.删除职工信息\n ");
printf("\n\t\t\t6.按照职工工资插入职工信息\n ");
printf("\n\t\t\t7.求出员工工资最大值最小值平均值\n ");
printf("\n\t\t\t8.按照工资对职工进行排序\n ");
printf("\n\t\t\t0.退出\n ");
printf("=====( ̄ε(# ̄)========(=^▽^=)============( ̄ε(# ̄)==========\n ");
printf("输入你想要进行的操作: ");
int a;
cin>>a;
if(!cin)
{
printf("哥你悠着点,别滚键盘!\n");
cin.clear();
cin.sync();
system("pause");
}
else{
switch(a)
{
case 1:system("CLS");create(head);save(head);break;
case 2:system("CLS");alter(head);save(head);;break;
case 3:system("CLS");scan(head);break;
case 4:system("CLS");seek(head);break;
case 5:system("CLS");del(head);save(head);break;
case 6:system("CLS");charu(head);break;
case 7:system("CLS");pjz(head);break;
case 8:system("CLS");px(head);save(head);break;
case 0:system("CLS");printf("谢谢小阔爱你的使用 拜拜(-^〇^-)!\n");return 0;break;
}
}
}
}
2.c++实现职工信息管理系统
#include<iostream>
#include<string>
#include<windows.h>
#include<fstream>
#include<conio.h>
#include<cstring>
using namespace std;
int checkcin(int n)
{
if(cin.fail())
{
cin.clear();cin.sync();
}
cout<<"输入错误,请重新输入"<<endl;
cin>>n;
return n;
}
class W{
public:
int showmenu()
{
cout<<endl;
system("date/t");system("time/t");
cout<<endl;
cout<<endl<<"\t\t\t\t\t欢迎使用职工管理系统"<<endl<<endl<<endl;
cout<<"\t\t\t\t\t1.添加职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t2.浏览职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t3.删除职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t4.修改职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t5.查找职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t6.按照职工号(从小到大)进行排序"<<endl<<endl;
cout<<"\t\t\t\t\t7.按照职工工资(从大到小)进行排序"<<endl<<endl;
cout<<"\t\t\t\t\t8.职工号排序后按照职工号进行插入"<<endl<<endl;
cout<<"\t\t\t\t\t9.对员工信息进行保存"<<endl<<endl;
cout<<"\t\t\t\t\t0.退出程序"<<endl<<endl;
}
int showmenu1()
{
system("color 07");
cout<<endl;
system("date/t");system("time/t");
cout<<endl;
cout<<endl<<"\t\t\t\t\t欢迎使用职工管理系统"<<endl<<endl<<endl;
cout<<"\t\t\t\t\t1.浏览职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t2.查找职工信息"<<endl<<endl;
cout<<"\t\t\t\t\t3.按照职工号(从小到大)进行排序"<<endl<<endl;
cout<<"\t\t\t\t\t4.按照职工工资(从大到小)进行排序"<<endl<<endl;
cout<<"\t\t\t\t\t5.返回选择登录方式页面"<<endl<<endl;
cout<<"\t\t\t\t\t0.退出程序"<<endl<<endl;
}
int exit1()
{
cout<<"欢迎下次使用"<<endl;
system("pause");
exit(0);
}
};
class worker{
public:
int setnumber(int number_)
{this->number=number_;}
int setname(string name_)
{this->name=name_;}
int setsex(string sex_)
{this->sex=sex_;}
int setbirthday(string birthday_)
{this->birthday=birthday_;}
int setxl(string xl_)
{this->xl=xl_;}
int setposition(string position_)
{this->position=position_;}
int setmoney(int money_)
{this->money=money_;}
int setadd(string add_)
{this->add=add_;}
int settele(string tele_)
{this->tele=tele_;}
int getnumber()
{return this->number;}
string getname()
{return this->name;}
string getsex()
{return this->sex;}
string getbirthday()
{return this->birthday;}
string getxl()
{return this->xl;}
string getposition()
{return this->position;}
int getmoney()
{return this->money;}
string getadd()
{return this->add;}
string gettele()
{return this->tele;}
worker* setnext(worker *p)
{this->next=p;}
worker* getnext()
{return this->next;}
private:
int number;
string name;
string sex;
string birthday;
string xl;
string position;
int money;
string add;
string tele;
worker *next;
};
class functionwork:public worker{
public:
functionwork()
{head=new worker();//建立头节点并将其初始化
head->setnext(NULL);}
int add();//添加职工信息
int liulan();//浏览职工信息
int del();//删除职工信息
int xiugai();//修改职工信息
int chaxun();//查询职工信息
int keep();//保存职工信息
int read(); //读取职工信息
int numpaixu();//按照职工号进行排序
int monpaixu();//按照工资进行排序
int charu();//插入职工信息
private:
worker *p1,*p2,*head;//建立头指针和备用指针
};
int functionwork::add()
{
int number1;
string name1;
string sex1;
string birthday1;
string xl1;
string position1;
int money1;
string add1;
string tele1;
p2=head;
worker *p3;
while(p2->getnext())
{p2=p2->getnext();}
int n;
cout<<"请输入你想添加的职工数:";
cin>>n;
while(cin.fail())
n=checkcin(n);
for(int i=0;i<n;i++)
{
int cntt=0;
p1=new worker();
p1->setnext(NULL);
cout<<"请输入第"<<i+1<<"个职工信息"<<endl;
while(1)
{
cout<<"请输入职工号:";
cin>>number1;
while(cin.fail())
number1=checkcin(number1);
p3=head->getnext();
while(p3!=NULL)
{
if(p3->getnumber()==number1)
{
cout<<"职工号重复,请重新输入!";
break;}
p3=p3->getnext();
}
if(p3==NULL)
{
p1->setnumber(number1);
break;}
else
continue;
}
cout<<"请输入姓名:";
cin>>name1;
p1->setname(name1);
while(1)
{
if(cntt>0)
cout<<"你输入性别有误!请重新输入";
cout<<"请输入性别:";
cin>>sex1;
if(sex1=="男")
break;
else if(sex1=="女")
break;
cntt++;
}
p1->setsex(sex1);
cout<<"请输入出生年月:";
cin>>birthday1;
p1->setbirthday(birthday1);
cout<<"请输入学历:";
cin>>xl1;
p1->setxl(xl1);
cout<<"请输入职务:";
cin>>position1;
p1->setposition(position1);
while(1)
{cout<<"请输入工资:";
cin>>money1;
if(cin.fail())
{while(cin.fail())
money1=checkcin(money1) ;}
else
break;
}
p1->setmoney(money1);
cout<<"请输入地址:";
cin>>add1;
p1->setadd(add1);
cout<<"请输入电话:";
cin>>tele1;
p1->settele(tele1);
system("cls");
p2->setnext(p1);
p2=p1;
}
cout<<"添加完毕!谢谢使用";
system("pause");
}
int functionwork::liulan()
{
if(head->getnext()==NULL)
{
cout<<"您尚未添加任何职工信息!"<<endl;
system("pause");
return 0;
}
cout<<"职工号\t"<<"姓名\t"<<"性别\t"<<"出生年月 "<<"学历\t"<<"职务\t"<<"工资\t"<<"地址\t"<<"职工电话\t"<<endl;
p1=head->getnext();
while(p1!=NULL)
{
cout<<p1->getnumber()<<"\t"<<p1->getname()<<"\t"<<p1->getsex()<<"\t"<<p1->getbirthday()<<" \t"<<p1->getxl()<<"\t"<<p1->getposition()<<"\t"<<p1->getmoney()<<"\t"<<p1->getadd()<<"\t"<<p1->gettele()<<endl;
p1=p1->getnext();
}
system("pause");
return 0;
}
int functionwork::del()
{
int a;
int h=0;
cout<<"请输入你想删除的职工号:" ;
cin>>a;
if(cin.fail())
{ while(cin.fail())
a=checkcin(a) ;}
worker *p3;
p3=head->getnext();
while(p3!=NULL)
{
if(p3->getnumber()==a)
{
break;
}
p3=p3->getnext();
}
if(p3==NULL)
{
cout<<"没有此职工!"<<endl;
system("pause");
system("cls");
return 0;
}
else
{
cout<<"你想要删除职工号信息如下:"<<endl;
cout<<"姓名:"<<p3->getname()<<endl<<"性别:"<<p3->getsex()<<endl<<"出生年月:"<<p3->getbirthday()<<endl<<"学历:"<<p3->getxl()<<endl<<"职务:"<<p3->getposition()<<endl<<"工资:"<<p3->getmoney()<<endl<<"地址:"<<p3->getadd()<<endl<<"电话:"<<p3->gettele()<<endl<<endl;
string arr;
while(1)
{
cout<<"是否确认删除(是或否):";
cin>>arr;
if(arr=="是")
break;
else if(arr=="否")
{
cout<<"谢谢使用!"<<endl;
system("pause");
return 0;
}
else
{
cout<<"请输入是或否,其他无效!";
system("pause");
continue;
}
}
fstream fp;
fp.open("删除职工统计",ios::app);
fp<<"姓名:"<<p3->getname()<<endl<<"性别:"<<p3->getsex()<<endl<<"出生年月:"<<p3->getbirthday()<<endl<<"学历:"<<p3->getxl()<<endl<<"职务:"<<p3->getposition()<<endl<<"工资:"<<p3->getmoney()<<endl<<"地址:"<<p3->getadd()<<endl<<"电话:"<<p3->gettele()<<endl<<endl;
worker *t;
t=head;
while(t->getnext()!=p3)
t=t->getnext();
t->setnext(p3->getnext());
p3->setnext(NULL);
cout<<"删除成功"<<endl;
system("pause");
system("cls");
return 0;
}
}
int functionwork::xiugai()
{
string name1;
string sex1;
string birthday1;
string xl1;
string position1;
int money1;
string add1;
string tele1;
int o;
cout<<"1.全部修改"<<endl<<"2.局部修改"<<endl;
cout<<"请输入修改方式:";
cin>>o;
while(cin.fail())
o=checkcin(o);
if(o==1)
{
while(1)
{
int b;
cout<<"请输入你想修改的职工号:";
cin>>b;
p1=head->getnext();
while(p1!=NULL)
{
if(p1->getnumber()==b)
break;
p1=p1->getnext();
}
if(p1==NULL)
{
cout<<"没有找到你想修改的职工号!"<<endl;
cout<<"1.继续输入"<<endl<<"(除1外任意键).返回主菜单";
cout<<"请输入你的选择(1或者除1外任意键):";
getchar();
char c; c=getchar();if(c=='1')continue; else return 0;
}
else
{
int cnttt=0;
cout<<"请输入修改后的姓名:";
cin>>name1;
p1->setname(name1);
while(1)
{
if(cnttt>0)
cout<<"性别输入格式错误";
cout<<"请输入修改后的性别:";
cin>>sex1;
if(sex1=="男")
break;
if(sex1=="女")
break;
cnttt++;
}
p1->setsex(sex1);
cout<<"请输入修改后的出生年月:";
cin>>birthday1;
p1->setbirthday(birthday1);
cout<<"请输入修改后的学历:";
cin>>xl1;
p1->setxl(xl1);
cout<<"请输入修改后的职务:";
cin>>position1;
p1->setposition(position1);
while(1)
{
cout<<"请输入修改后的工资:";
cin>>money1;
if(cin.fail())
{while(cin.fail())
money1=checkcin(money1);}
else
break;}
p1->setmoney(money1);
cout<<"请输入修改后的地址:";
cin>>add1;
p1->setadd(add1);
cout<<"请输入修改后的电话:";
cin>>tele1;
p1->settele(tele1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
getchar();char c;c=getchar();if(c=='1')continue;else return 0;
}
}
}
if(o==2)
{
while(1)
{
int b;
cout<<"请输入你想修改的职工号:";
cin>>b;
p1=head->getnext();
while(p1!=NULL)
{
if(p1->getnumber()==b)
break;
p1=p1->getnext();
}
if(p1==NULL)
{
cout<<"没有找到你想修改的职工号!"<<endl;
cout<<"1.继续输入"<<endl<<"(除1外任意键).返回主菜单";
cout<<"请输入你的选择(1或者除1外任意键):";
getchar();
char c; c=getchar();if(c=='1')continue; else return 0;
}
else
{
while(1)
{
cout<<"1.修改姓名"<<endl<<"2.修改性别"<<endl<<"3.修改出生年月"<<endl<<"4.修改学历"<<endl<<"5.修改职务"<<endl<<"6.修改工资"<<endl<<"7.修改地址"<<endl<<"8.修改电话号码"<<endl;
cout<<"请输入你的选择:";
int a;
cin>>a;
while(cin.fail())
a=checkcin(a);
if(a==1)
{
cout<<"请输入修改后的姓名:";
cin>>name1;
p1->setname(name1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;
}
if(a==2)
{cout<<"请输入修改后的性别:";
cin>>sex1;
p1->setsex(sex1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
if(a==3)
{cout<<"请输入修改后的出生年月:";
cin>>birthday1;
p1->setbirthday(birthday1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
if(a==4)
{cout<<"请输入修改后的学历:";
cin>>xl1;
p1->setxl(xl1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
if(a==5)
{cout<<"请输入修改后的职务:";
cin>>position1;
p1->setposition(position1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
if(a==6)
{cout<<"请输入修改后的工资:";
cin>>money1;
while(cin.fail())
money1=checkcin(money1);
p1->setmoney(money1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
if(a==7)
{cout<<"请输入修改后的地址:";
cin>>add1;
p1->setadd(add1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0; }
if(a==8)
{cout<<"请输入修改后的电话:";
cin>>tele1;
p1->settele(tele1);
cout<<"修改成功!"<<endl;
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
if(a>8)
{cout<<"没有此选项!";
getchar();
cout<<"1.继续修改"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;}
}
}
}
}
if(o>=2)
{
cout<<"输入错误!"<<endl;
cout<<"任意键返回主菜单!";
system("pause");
return 0;
}
}
int functionwork::chaxun()
{
int number1;
string name1;
string tele1;
if(head->getnext()==NULL)
{
cout<<"未读取到职工信息,请手动添加后再进行查询!"<<endl;
system("pause");
return 0;
}
while(1)
{
cout<<"1.按照职工号查询"<<endl<<"2.按照姓名查询"<<endl<<"3.按照电话号码查询"<<endl;
cout<<"请输入你的选择:";
int z;
cin>>z;
while(cin.fail())
z=checkcin(z);
if(z==1)
{
cout<<"请输入你想要查询的工号:";
cin>>number1;
p1=head;
while(p1!=NULL)
{
if(p1->getnumber()==number1)
break;
p1=p1->getnext();
}
if(p1==NULL)
{
getchar();
cout<<"抱歉!没找到此职工"<<endl;
cout<<"1.继续查询"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;
}
else
{
cout<<"职工号:"<<p1->getnumber()<<endl<<"姓名:"<<p1->getname()<<endl<<"性别:"<<p1->getsex()<<endl<<"出生年月:"<<p1->getbirthday()<<endl<<"学历:"<<p1->getxl()<<"职务:"<<p1->getposition()<<endl<<"工资:"<<p1->getmoney()<<endl<<"地址:"<<p1->getadd()<<endl<<"电话:"<<p1->gettele()<<endl;
system("pause");
cout<<"感谢你的使用!";
Sleep(1000);
return 0;
}
}
if(z==2)
{
int cnt=0;
cout<<"请输入你想查找的姓名:";
cin>>name1;
p1=head;
while(p1!=NULL)
{
if(p1->getname()==name1)
{
cout<<"职工号:"<<p1->getnumber()<<endl<<"姓名:"<<p1->getname()<<endl<<"性别:"<<p1->getsex()<<endl<<"出生年月:"<<p1->getbirthday()<<endl<<"学历:"<<p1->getxl()<<"职务:"<<p1->getposition()<<endl<<"工资:"<<p1->getmoney()<<endl<<"地址:"<<p1->getadd()<<endl<<"电话:"<<p1->gettele()<<endl;
cout<<endl;
cnt++;
}
p1=p1->getnext();
}
system("pause");
if(cnt==0)
{
getchar();
cout<<"抱歉!没找到此职工"<<endl;
cout<<"1.继续查询"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;
}
else if(cnt>0)
{
getchar();
cout<<"我们已经为你找到相应职工!"<<endl;
cout<<"1.继续查询"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;
}
}
if(z==3)
{
cout<<"请输入你想查询的电话号码!";
cin>>tele1;
p1=head;
while(p1!=NULL)
{
if(p1->gettele()==tele1)
break;
p1=p1->getnext();
}
if(p1==NULL)
{
getchar();
cout<<"抱歉!没找到此职工"<<endl;
cout<<"1.继续查询"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;
}
else
{
cout<<"职工号:"<<p1->getnumber()<<endl<<"姓名:"<<p1->getname()<<endl<<"性别:"<<p1->getsex()<<endl<<"出生年月:"<<p1->getbirthday()<<endl<<"学历:"<<p1->getxl()<<"职务:"<<p1->getposition()<<endl<<"工资:"<<p1->getmoney()<<endl<<"地址:"<<p1->getadd()<<endl<<"电话:"<<p1->gettele()<<endl;
system("pause");
cout<<"感谢你的使用!";
Sleep(1000);
return 0;
}
}
if(z>3)
{
getchar();
cout<<"你的输入有误"<<endl;
cout<<"1.继续查询"<<endl<<"(任意键).返回主菜单"<<endl;
cout<<"请输入你的选择(1或者任意键):";
char c; c=getchar();if(c=='1')continue; else return 0;
}
}
}
int functionwork::keep()
{
ofstream fp[2];
int cnt=1;
fp[0].open("职工信息管理1.txt",ios::out);
fp[1].open("职工信息管理2.txt",ios::out);
for(int i=0;i<2;i++)
{
p1=head->getnext();
while(p1!=NULL)
{
if(i==0)
{
fp[i]<<"第"<<cnt<<"名职工"<<endl<<"职工号:"<<p1->getnumber()<<endl<<"职工姓名:"<<p1->getname()<<endl<<
"职工性别:"<<p1->getsex()<<endl<<"职工出生年月:"<<p1->getbirthday()<<endl<<
"职工学历:"<<p1->getxl()<<endl<<"职工职位 "<<p1->getposition()<<endl<<"职工工资:"<<p1->getmoney()
<<endl<<"职工地址:"<<p1->getadd()<<endl<<"职工电话:"<<p1->gettele()<<endl<<endl;
p1=p1->getnext();
cnt++;
}
if(i==1)
{
fp[i]<<p1->getnumber()<<" "<<p1->getname()<<" "<<p1->getsex()<<" "<<p1->getbirthday()<<" "<<p1->getxl()<<" "
<<p1->getposition()<<" "<<p1->getmoney()<<" "<<p1->getadd()<<" "<<p1->gettele()<<" ";
p1=p1->getnext();
}
}
}
cout<<"保存成功!";
fp[0].close();
fp[1].close();
system("pause");
return 0;
}
int functionwork::read()
{
int number1;
string name1;
string sex1;
string birthday1;
string xl1;
string position1;
int money1;
string add1;
string tele1;
ifstream fp;
fp.open("职工信息管理2.txt",ios::in);
if(fp==NULL)
{
cout<<"未读到职工信息,你可以手动添加";
system("pause");
return 0;
}
else
{cout<<"读取成功,欢迎使用!";
Sleep(1000);}
p2=head;
int cnt=0;
while(!fp.eof())
{
p1=new worker();
fp>>number1>>name1>>sex1>>birthday1>>xl1>>position1>>money1>>add1>>tele1;
if(number1==p2->getnumber())
break;
p1->setnumber(number1);
p1->setname(name1);
p1->setsex(sex1);
p1->setbirthday(birthday1);
p1->setxl(xl1);
p1->setposition(position1);
p1->setmoney(money1);
p1->setadd(add1);
p1->settele(tele1);
p2->setnext(p1);
p1->setnext(NULL);
p2=p1;
cnt++;
}
fp.close();
return 0;
}
int functionwork::numpaixu()
{
int number1;
string name1;
string sex1;
string birthday1;
string xl1;
string position1;
int money1;
string add1;
string tele1;
if(head->getnext()==NULL)
{
cout<<"文件为空,无法进行排序"<<endl;
system("pause");
return 0;
}
for(p1=head->getnext();p1!=NULL;p1=p1->getnext())
{
for(p2=p1->getnext();p2!=NULL;p2=p2->getnext())
{
if(p1->getnumber()>p2->getnumber())
{
number1=p1->getnumber();
name1=p1->getname();
sex1=p1->getsex();
birthday1=p1->getbirthday();
xl1=p1->getxl();
position1=p1->getposition();
money1=p1->getmoney();
add1=p1->getadd();
tele1=p1->gettele();
p1->setnumber(p2->getnumber());
p1->setname(p2->getname());
p1->setsex(p2->getsex());
p1->setbirthday(p2->getbirthday());
p1->setxl(p2->getxl());
p1->setposition(p2->getposition());
p1->setmoney(p2->getmoney());
p1->setadd(p2->getadd());
p1->settele(p2->getadd());
p2->setnumber(number1);
p2->setname(name1);
p2->setsex(sex1);
p2->setbirthday(birthday1);
p2->setxl(xl1);
p2->setposition(position1);
p2->setmoney(money1);
p2->setadd(add1);
p2->settele(tele1);
}
}
}
cout<<"排序成功!";
system("pause");
return 0;
}
int functionwork::monpaixu()
{
int number1;
string name1;
string sex1;
string birthday1;
string xl1;
string position1;
int money1;
string add1;
string tele1;
if(head->getnext()==NULL)
{
cout<<"文件为空,无法进行排序"<<endl;
system("pause");
return 0;
}
for(p1=head->getnext();p1!=NULL;p1=p1->getnext())
{
for(p2=p1->getnext();p2!=NULL;p2=p2->getnext())
{
if(p1->getmoney()<p2->getmoney())
{
number1=p1->getnumber();
name1=p1->getname();
sex1=p1->getsex();
birthday1=p1->getbirthday();
xl1=p1->getxl();
position1=p1->getposition();
money1=p1->getmoney();
add1=p1->getadd();
tele1=p1->gettele();
p1->setnumber(p2->getnumber());
p1->setname(p2->getname());
p1->setsex(p2->getsex());
p1->setbirthday(p2->getbirthday());
p1->setxl(p2->getxl());
p1->setposition(p2->getposition());
p1->setmoney(p2->getmoney());
p1->setadd(p2->getadd());
p1->settele(p2->getadd());
p2->setnumber(number1);
p2->setname(name1);
p2->setsex(sex1);
p2->setbirthday(birthday1);
p2->setxl(xl1);
p2->setposition(position1);
p2->setmoney(money1);
p2->setadd(add1);
p2->settele(tele1);
}
}
}
cout<<"排序成功!";
system("pause");
return 0;
}
int functionwork::charu()
{
worker *a;
int flag=0;
a=head->getnext();
if(a==NULL)
{
cout<<"未读到任何职工信息,请添加后再插入"<<endl;
system("pause");
return 0;
}
else
{
for(a=head->getnext();a->getnext()!=NULL;a=a->getnext())
{
if(a->getnumber()>a->getnext()->getnumber())
flag=1;
}
if(flag==1)
{
cout<<"请按照职工号排完序后再插入!"<<endl;
system("pause");
return 0;
}
}
int number1;
string name1;
string sex1;
string birthday1;
string xl1;
string position1;
int money1;
string add1;
string tele1;
if(head->getnext()==NULL)
{
cout<<"暂未从文件中读取任何职工信息不能插入!"<<endl;
system("pause");
return 0;
}
worker *p3,*q,*t;
p2=head->getnext();
q=head->getnext();
t=head->getnext();
p1=new worker();
p1->setnext(NULL);
cout<<"请输入插入职工的信息!";
while(1)
{
cout<<"请输入职工号:";
cin>>number1;
p3=head->getnext();
while(p3!=NULL)
{
if(p3->getnumber()==number1)
{
cout<<"职工号重复,请重新输入!";
break;
}
p3=p3->getnext();
}
if(p3==NULL)
{
p1->setnumber(number1);
break;}
else
continue;
}
cout<<"请输入姓名:";
cin>>name1;
p1->setname(name1);
int cntt=0;
while(1)
{
if(cntt>0)
cout<<"你输入性别有误!请重新输入";
cout<<"请输入性别:";
cin>>sex1;
if(sex1=="男")
break;
else if(sex1=="女")
break;
cntt++;
}
p1->setsex(sex1);
cout<<"请输入出生年月:";
cin>>birthday1;
p1->setbirthday(birthday1);
cout<<"请输入学历:";
cin>>xl1;
p1->setxl(xl1);
cout<<"请输入职务:";
cin>>position1;
p1->setposition(position1);
while(1)
{
cout<<"请输入工资:";
cin>>money1;
if(!cin)
{
cout<<"请正确输入工资格式!";
cin.clear();
cin.sync();
system("pause");
}
else
break;
}
p1->setmoney(money1);
cout<<"请输入地址:";
cin>>add1;
p1->setadd(add1);
cout<<"请输入电话:";
cin>>tele1;
p1->settele(tele1);
if(q->getnumber()>p1->getnumber())
{
head->setnext(p1);
p1->setnext(q);
cout<<"插入成功!";
system("pause");
return 0;
}
while(q->getnext()!=NULL)
q=q->getnext();
if(q->getnumber()<p1->getnumber())
{
q->setnext(p1);
p1->setnext(NULL);
cout<<"插入成功!";
return 0;
system("pause");
}
while(p2)
{
if(p1->getnumber()<p2->getnumber())
{
while(t->getnext()!=p2)
t=t->getnext();
t->setnext(p1);
p1->setnext(p2);
cout<<"插入成功!";
return 0;
system("pause");
}
p2=p2->getnext();
}
}
typedef struct user
{
char id[10];
char mima[10];
char namea[10];
char sexa[10];
long phone;
}USE;
int creation()
{
FILE *fp;
if((fp=fopen("users.txt","rb"))==NULL)
{
if((fp=fopen("users.txt","wb+"))==NULL)
{
cout<<"无法正常打开!";
exit(0);
}
}
}
int login()
{
system("CLS");
FILE *p;
USE *a,*b;
USE c,d;
a=&c,b=&d;
int cnt=0;
printf("\n\n\n\n\n\n\t***********(-^〇^-)************欢迎来到登录界面!***********(=^▽^=)****\n\n");
p=fopen("users.txt","r");
fread(b,sizeof(USE),1,p);
cout<<"请输入你的账号:";
cin>>a->id;
while(1)
{
if(strcmp(a->id,b->id)==0)
break;
else
{
if(feof(p)==0)
fread(b,sizeof(USE),1,p);
else
{
cout<<"此用户不存在!";
Sleep(1000);
fclose(p);
return 0;
}
}
}
cout<<"请输入密码:";
char crr[20];
int min=1;
int max=10;
int i;
char ch;
while(1)
{
i = 0;
while(1)
{
ch = getch();
if(ch == '\r')
break;
else if(ch == '\b')
{
if(i > 0)
{
cout<<"\b \b";
i--;
}
continue;
}
cout<<"*";
if(i > max)
break;
crr[i++] = ch;
}
crr[i] = 0;
if(i < min || i > max)
cout<<endl<<"请再次输入:";
else
break;
}
strcpy(a->mima,crr);
while(1)
{
if(strcmp(a->mima,b->mima)==0)
{
cout<<endl<<"登录成功,欢迎使用!"<<endl;
Sleep(500);
return 1;
}
else
{
cout<<endl<<"密码输入错误,请重新输入:";
while(1)
{
i = 0;
while(1)
{
ch = getch();
if(ch == '\r')
break;
else if(ch == '\b')
{
if(i > 0)
{
cout<<"\b \b";
i--;
}
continue;
}
cout<<"*";
if(i > max)
break;
crr[i++] = ch;
}
crr[i] = 0;
if(i < min || i > max)
cout<<"请再次输入:";
else
break;
}
strcpy(a->mima,crr);
cnt++;
if(cnt==2&&strcmp(a->mima,b->mima)!=0)
{
cout<<"抱歉!你已经三次输入密码错误!我们将返回主菜单!"<<endl;
Sleep(2000);
cnt=0;
return 0;
}
}
}
}
int registers()
{
system("CLS");
USE *a,*b;
USE c,d;
a=&c,b=&d;
FILE *p;
char arr[20];
printf("\n\n\n\n\n\n\t***********(-^〇^-)************欢迎来到注册界面!***********(=^▽^=)****\n\n");
Sleep(1000);
p=fopen("users.txt","r");
fread(b,sizeof(USE),1,p);
cout<<"请输入账号:";
cin>>a->id;
while(1)
{
if(strcmp(a->id,b->id)!=0)
{
if(feof(p)==0)
{
fread(b,sizeof(USE),1,p);
}
else
break;
}
else
{
cout<<"此用户名已存在!请重新注册!"<<endl;
Sleep(1000);
fclose(p);
return 0;
}
}
cout<<"请输入姓名:";
cin>>a->namea;
while(1)
{
cout<<"请输入性别:";
cin>>a->sexa;
if(strcmp("男",a->sexa)==0)
break;
if(strcmp("女",a->sexa)==0)
break;
}
for(int i=0;i<2;i++)
a->sexa[i]=arr[i];
cout<<"请输入手机号:";
cin>>a->phone;
cout<<"请输入密码:";
cin>>a->mima;
cout<<"请确认密码:";
cin>>arr;
while(1)
{
if(strcmp(a->mima,arr)==0)
{
p = fopen("users.txt","a");
fwrite(a, sizeof(USE), 1, p);
cout<<"账号注册成功,请登录!"<<endl;
Sleep(1000);
fclose(p);
return 0;
}
else
{
cout<<"两次输入密码不匹配!请重新输入:";
cin>>a->mima ;
cout<<"请再次确认密码:";
cin>>arr;
}
}
}
int seekl()
{
system("CLS");
USE *a,*b;
FILE *p;
USE c,d;
a=&c,b=&d;
int cnt=0;
char arr[20];
cout<<endl<<endl<<endl<<endl<<endl<<endl<<"\t***********(-^〇^-)************欢迎来到找回密码界面!***********(=^▽^=)****"<<endl<<endl;
Sleep(1000);
p=fopen("users.txt","r");
fread(b,sizeof(USE),1,p);
cout<<"请输入账户:";
cin>>a->id;
while(1)
{
if(strcmp(a->id,b->id)==0)
{
break;
}
else
{
if(feof(p)==0)
{
fread(b,sizeof(USE),1,p);
}
else
{
cout<<"此用户名不存在,请重新输入!"<<endl;
Sleep(500);
fclose(p);
return 0;
}
}
}
cout<<"请输入你的姓名:";
cin>>a->namea;
while(1)
{
if(strcmp(a->namea,b->namea)==0)
{
break;
}
else
{
cout<<"你输入的姓名有误!请重新输入:";
cnt++;
cin>>a->namea;
if(cnt==2&&strcmp(a->namea,b->namea)!=0)
{
cout<<"抱歉你已经三次输入错误,我们将返回主菜单!"<<endl;
Sleep(3000);
cnt=0;
return 0;
}
}
}
cnt=0;
cout<<"请输入你的电话号码:";
cin>>a->phone;
while(1)
{
if((a->phone==b->phone))
{
break;
}
else
{
cout<<"你输入的号码有误,请重新输入:";
cnt++;
cin>>a->phone;
if(cnt==2&&(a->phone!=b->phone));
{
cout<<"你已经两次输入错误,再见!"<<endl;
Sleep(3000);
cnt=0;
return 0;
}
}
}
cout<<"你的密码是:";
cout<<b->mima;
cout<<"我们已经找回你的密码谢谢使用!";
Sleep(1000);
}
int main()
{
while(1)
{
system("cls");
int hh;
cout<<"\n\n\n\n\n\t\t\t1.管理员登录"<<endl;
cout<<"\t\t\t2.普通用户查看"<<endl;
cout<<"请选择登陆方式:";
cin>>hh;
while(cin.fail())
hh=checkcin(hh);
if(hh==1)
{
creation();
int c,flag=0;
while(1)
{
system("CLS");
cout<<"\n\n\n\n\n\t\t\t欢迎来到管理员登陆系统!\n";
cout<<"\n\n\n\n\t\t\t********************1.登录账号";
cout<<"\n\n\n\n\t\t\t********************2.注册账号";
cout<<"\n\n\n\n\t\t\t********************3.找回密码\n";
cout<<"\t\t\t请输入你想要进行的操作:";
cin>>c;
if(cin.fail())
{while(cin.fail())
c=checkcin(c) ;}
else
{
switch(c)
{
case 1:flag=login();system("pause");break;
case 2:registers();break;
case 3:seekl();break;
}
if(flag==1)
break;
}
}
W h;
functionwork a;
a.read();
system("cls");
int choice;
while(1)
{
h.showmenu();
cout<<"请选择你想要进行的操作:";
cin>>choice;
while(cin.fail())
choice=checkcin(choice);
switch(choice)
{
case 1:system("cls");a.add();a.keep();system("cls");system("pause");break;
case 2:system("cls");a.liulan();system("cls");break;
case 3:system("cls");a.del();system("cls");break;
case 4:system("cls");a.xiugai();system("cls");break;
case 5:system("cls");a.chaxun();system("cls");break;
case 6:system("cls");a.numpaixu();system("cls");break;
case 7:system("cls");a.monpaixu();system("cls");break;
case 8:system("cls");a.charu();system("cls"); break;
case 9:system("cls");a.keep();system("cls") ;break;
case 0:system("cls"); h.exit1();break;
default:if(choice>9)cout<<"没有你想进行的操作!"<<endl;system("pause");break;
}
}
}
if(hh==2)
{
W h;
functionwork a;
a.read();
system("cls");
int choice;
while(1)
{
h.showmenu1();
cout<<"请选择你想要进行的操作:";
cin>>choice;
while(cin.fail())
choice=checkcin(choice);
switch(choice)
{
case 1:system("cls");a.liulan();system("cls");break;
case 2:system("cls");a.chaxun();system("cls");break;
case 3:system("cls");a.numpaixu();system("cls");break;
case 4:system("cls");a.monpaixu();system("cls");break;
case 5:system("cls");main();system;system("cls");break;
case 0:system("cls"); h.exit1();break;
default:if(choice>4)cout<<"没有你想进行的操作!"<<endl;system("pause");break;
}
}
}
else
{
cout<<"输入错误,请重新输入"<<endl;
continue;
}
}
}