信息管理系统c语言编写.docx
《信息管理系统c语言编写.docx》由会员分享,可在线阅读,更多相关《信息管理系统c语言编写.docx(51页珍藏版)》请在冰豆网上搜索。
信息管理系统c语言编写
#include
#include
#include"time.h"
#include"conio.h"
#include"stdlib.h"
structDangyuan//党员基本信息
{charName[20];
charSex[6];//性别
charBirthday[10];//出生日期
charBianhao[10];
charJigou[50];//机构名称
charMinzu[6];
charZhiye[20];//职业
charWenhcd[10];//文化程度
charRudang[10];//入党时间
charDnzw[50];//党内职务
charXzhw[50];//行政职务
charJiguan[100];//籍贯
charJs1[20];//介绍人1
charJs2[20];//介绍人2
charAdress[100];//地址
charBeizhu[100];
structDangyuan*next;
};
typedefstructDangyuanDY;
structpasswd//密码设定
{
charusename[18];
charpassword[18];
structpasswd*next;
};
structpasswd*head1=NULL;
DY*head=NULL;
structTuanyuan//团员基本信息
{
charBianhao[10];
charName[20];
charSex[6];
charMingzu[6];
charBirthday[10];
charRutuan[10];
charZhibu[100];
charDanwei[100];
charZhiwu[100];
charBeizhu[100];
structTuanyuan*next;
};
typedefstructTuanyuanTY;
TY*head2=NULL;
voidshowmenu();//主菜单
voidmenu();//菜单
voidxgmm();//密码文件
voiddenglujm1();//管理员登陆界面
voiddenglujm11();//学生登陆界面
voidlogin();//注册密码账号
voidSavepwd();//保存密码账号
voidmodifypasswd();//修改密码
voidopen();//党员选择
voidOpen();//打开文件
voidAppenditem();//添加信息
voidprint();//输出信息
voidFinditem1();//按姓名查找
voidRemoveitem();//删除信息
voidmodify();//修改信息
voidSave();//保存到文件
voidtime1();
voidflcx();//按学号查找
voidczjm();//查找菜单
voidrang();
voidXz();//管理员选择
voidshowmenu1();//主菜单
voidmenu1();//菜单
voidopen1();//选择
voidOpen1();//打开文件
voidAppenditem1();//添加信息
voidprint1();//输出信息
voidFinditem2();//按姓名查找
voidRemoveitem1();//删除信息
voidmodify1();//修改信息
voidSave1();//保存到文件
voidflcx1();//按学号查找
voidczjm1();//查找菜单
voidrang1();
voiddenglujm1()//登陆界面
{
inti,k,j=0;
structpasswd*p;
charusername1[15],pwd[28],ch;
system("colorec");
xgmm();
for(i=0;i<3;i++)
{
printf("\n\t\t\t======================================\n\n");
printf("\t\t\t\t");
printf("\t\t\t\t");
printf("\t\t\t\t管理员登陆界面");
printf("\t\t\t\t");
printf("\t\t\t\t");
printf("\t\t\t\t========================================\n");
printf("\n\n请输入账号:
");
scanf("%s",username1);
printf("\n请输入密码:
");
k=0;ch='0';
while(ch!
='\r')
{
ch=getch();
if(ch=='\r')break;
printf("*");
pwd[k]=ch;
k++;
}
pwd[k]='\0';
for(p=head1->next;p!
=NULL;p=p->next)
{
if((strcmp(p->usename,username1)==0)&&(strcmp(p->password,pwd))==0)
{
j=1;
system("cls");
Xz();
break;
}
}
if(p==NULL&&j==0)
{
system("cls");
printf("\a");
printf("\n\t用户名密码错误!
\n\t请重新输入账号密码!
");
denglujm1();
}
}
}
voidXz()
{
charch;
system("cls");
printf("请输入你想录入的方式:
0-2\n");
re:
printf("\t\t==================================================\n");
printf("\n");
printf("\t\t&&1.党员&&\n");
printf("\n");
printf("\t\t&&2.团员&&\n");
printf("\n");
printf("\t\t&&0.返回&&\n");
printf("\n");
printf("\t\t==================================================\n");
printf("请输入(1/2):
");
getchar();
scanf("%c",&ch);
switch(ch)
{
case'1':
system("cls");open();//党员
break;//添加条目
case'2':
system("cls");open1();//团员
break;
case'0':
exit(0);
default:
system("cls");
printf("\t\t%c\n",ch);
printf("\t\t输入错误,请重新选择....\n\t\t");
system("pause");
system("cls");
gotore;
break;
}
}
voiddenglujm2()
{
inti,k;
structDangyuan*p;
structTuanyuan*p1;
charBianhao[15],Birthday[28],ch,t;
system("colorec");
//Open();
//Open1();
re:
for(i=0;i<3;i++)
{intj=0;
printf("\n\t\t\t======================================\n\n");
printf("\t\t\t\t");
printf("\t\t\t\t");
printf("\t\t\t\t学生登陆界面");
printf("\t\t\t\t");
printf("\t\t\t\t");
printf("\t\t\t\t=======================================\n");
printf("1是党员,2是团员\n");
getchar();
printf("\n请选择:
");scanf("%c",&t);
printf("\n\n请输入账号:
");
scanf("%s",Bianhao);
printf("\n请输入密码:
");
k=0;ch='0';
while(ch!
='\r')
{
ch=getch();
if(ch=='\r')break;
printf("*");
Birthday[k]=ch;
k++;
}
Birthday[k]='\0';
switch(t)
{
case'1':
Open();
for(p=head->next;p!
=NULL;p=p->next)
{
if((strcmp(p->Bianhao,Bianhao)==0)&&(strcmp(p->Birthday,Birthday))==0)
{
j=1;
system("cls");
printf("\t******************************党员信息**********************\n");//输出信息
printf("姓名:
%s\t性别:
%s\t出生日期:
%s\n",p->Name,p->Sex,p->Birthday);
printf("编号:
%s\t机构名称名称:
%s\n",p->Bianhao,p->Jigou);
printf("民族:
%s\t职业:
%s\t文化程度:
%s\n",p->Minzu,p->Zhiye,p->Wenhcd);
printf("入党时间:
%s\t党内职务:
%s\t行政职务:
%s\n",p->Rudang,p->Dnzw,p->Xzhw);
printf("籍贯:
%s\n",p->Jiguan);
printf("入党介绍人1:
%s\t\t入党介绍2:
%s\n",p->Js1,p->Js2);
printf("家庭住址:
%s\n",p->Adress);
printf("备注:
%s\n",p->Beizhu);
system("pause");
system("cls");
denglujm2();
break;
}
}
if(p==NULL&&j==0)
{
system("cls");
printf("\a");
printf("\n\t用户名密码错误!
\n\t请重新输入账号密码!
");
denglujm2();
}
case'2':
Open1();
for(p1=head2->next;p1!
=NULL;p1=p1->next)
{
if((strcmp(p1->Bianhao,Bianhao)==0)&&(strcmp(p1->Birthday,Birthday))==0)
{
j=1;
system("cls");
printf("\t******************************团员信息**********************\n");//输出信息
printf("学号:
%s\t姓名:
%s\t性别:
%s\t名族:
%s\n\n",p1->Bianhao,p1->Name,p1->Sex,p1->Mingzu);
printf("\t出生年月日:
%s\t入团时间:
%s\n\n",p1->Birthday,p1->Rutuan);
printf("所在支部:
%s\n\n",p1->Zhibu);
printf("所在单位:
%s\n\n",p1->Danwei);
printf("现有职务:
%s\n\n",p1->Zhibu);
printf("备注:
%s\n\n",p1->Beizhu);
system("pause");
system("cls");
denglujm2();
break;
}
}
if(p1==NULL&&j==0)
{
system("cls");
printf("\a");
printf("\n\t用户名密码错误!
\n\t请重新输入账号密码!
");
denglujm2();
}
default:
system("cls");
printf("\t\t%c\n",t);
printf("\t\t输入错误,请重新选择....\n\t\t");
system("pause");
system("cls");
gotore;
break;
}
}
}
voidopen()//管理员(团员)
{
charch;
getchar();
Open();
while
(1)
{
showmenu();//显示菜单
scanf("%c",&ch);
switch(ch)
{
case'1':
Appenditem();Save();getchar();
break;//添加条目
case'2':
print();getchar();
break;
case'3':
czjm();getchar();break;
case'4':
Removeitem();Save();getchar();
break;
case'5':
modify();Save();getchar();
break;
case'6':
login();getchar();break;
case'7':
modifypasswd();getchar();
break;
case'0':
system("cls");
printf("\n\n\n");
printf("\t\t=========================================\n");
printf("\t\t\n");
printf("\t\t欢迎进入数学与统计学院\n");
printf("\t\t\n");
printf("\t\t==========================================\n");\
exit(0);
break;
default:
{system("cls");
printf("\a");
printf("\n选择错误!
请重新选择0-7!
\n");
break;
}
}
}
}
voidOpen()
{
FILE*fp;
DY*p=NULL,*p2=NULL,*temp=NULL;
if((fp=fopen("党员信息.txt","rb+"))==NULL)
{
printf("这是一个空的系统中,\n请先添加信息再实行其他功能...\n");
return;
}
head=(DY*)malloc(sizeof(DY));
head->next=NULL;
temp=p2=head;
while(!
feof(fp))//循环读取
{
p=(DY*)malloc(sizeof(DY));
temp=p2;
p2->next=p;
p2=p;
fread(p,sizeof(DY),1,fp);
}
temp->next=NULL;
fclose(fp);//关闭文件
}
voidshowmenu()
{
printf("\t*********************党员管理系统*********************\n");
printf("\t\t|============================================|\n");
printf("\t\t||\n");
printf("\t\t|1.添加成员信息|\n");
printf("\t\t||\n");
printf("\t\t|2.输出成员信息|\n");
printf("\t\t||\n");
printf("\t\t|3.查询成员信息|\n");
printf("\t\t||\n");
printf("\t\t|4.删除成员信息|\n");
printf("\t\t||\n");
printf("\t\t|5.修改成员信息|\n");
printf("\t\t||\n");
printf("\t\t|6.注册新帐号|\n");
printf("\t\t||\n");
printf("\t\t|7.修改个人密码|\n");
printf("\t\t||\n");
printf("\t\t|0.退出!
|\n");
printf("\t\t||\n");
printf("\t\t|============================================|\n");
printf("\t\t请选择0-7:
");
}
voidAppenditem()
{
DY*p1=NULL,*p2=NULL;
p1=(DY*)malloc(sizeof(DY));
printf("输入姓名:
");
scanf("%s",p1->Name);
printf("\n输入性别:
");
scanf("%s",p1->Sex);
printf("\n出生日期(例如19000101):
");
scanf("%s",p1->Birthday);
printf("\n输入编号:
");
scanf("%s",p1->Bianhao);
printf("\n机构名称名称:
");
scanf("%s",p1->Jigou);
printf("\n民族:
");
scanf("%s",p1->Minzu);
printf("\n职业:
");
scanf("%s",p1->Zhiye);
printf("\n文化程度:
");
scanf("%s",p1->Wenhcd);
printf("\n入党时间:
");
scanf("%s",p1->Rudang);
printf("\n党内职务:
");
scanf("%s",p1->Dnzw);
printf("\n行政职务:
");
scanf("%s",p1->Xzhw);
printf("\n籍贯:
");
scanf("%s",p1->Jiguan);
printf("\n入党介绍人1:
");
scanf("%s",p1->Js1);
printf("\n入党介绍人2:
");
scanf("%s",p1->Js2);
printf("\n家庭住址:
");
scanf("%s",p1->Adress);
printf("\n备注:
");
scanf("%s",p1->Beizhu);
system("cls");
//printf("再次输入(以输入0结束)");
p1->next=NULL;
if(head==NULL)
{
head=(DY*)malloc(sizeof(DY));//申请空间
head->next=p1;
}
else
{
for(p2=head;p2->next!
=NULL;p2=p2->next);//找到结点尾
p2->next=p1;
}
rang();
system("cls");
}
voidrang()
{
DY*p=head,*q=head->next;
inti;intm=head->Bianhao;
for(i=0;i{
p=head;q=head->next;
while(q->next)
{
if((q->Bianhao)<(q->next->Bianhao))
{
p->next=q->next;
p=p->next;
q->next=p->next;
p->next=q;
}
else
{
p=p->next;q=q->next;
}
}
}
return;
}
voidprint()
{
DY*p=NULL;inti=0;
system("colorec");
if(head->next==NULL)
{
i=1;
system("cls");
printf("\a\a");
printf("\n\n系统中没有成员信息!
请重新选择\n\n");
system("pause");return;
}
system("cls");
if(i==0)
{