C语言系统用户管理系统Word格式.docx

上传人:b****6 文档编号:17757256 上传时间:2022-12-09 格式:DOCX 页数:16 大小:22.04KB
下载 相关 举报
C语言系统用户管理系统Word格式.docx_第1页
第1页 / 共16页
C语言系统用户管理系统Word格式.docx_第2页
第2页 / 共16页
C语言系统用户管理系统Word格式.docx_第3页
第3页 / 共16页
C语言系统用户管理系统Word格式.docx_第4页
第4页 / 共16页
C语言系统用户管理系统Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言系统用户管理系统Word格式.docx

《C语言系统用户管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《C语言系统用户管理系统Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

C语言系统用户管理系统Word格式.docx

//信息数

intu=0;

//强制管理员标记,如果系统使用时数据库还没有任何用户信息,则把第一个打开系统的用户设置为管理员权限u=1

intxiugai();

//修改密码

intshanchu();

//删除

voiddenglu();

//用户登陆

intshenqing();

//新增,申请账号

intfuzhi(char*sFile,char*dFile);

//将一个文件复制到另一个文件

intguanliyuan();

/*管理员*/

intputongyh();

/*普通用户*/

/*******************************************************************************************************/

/*******************************************************************************************************/

/*************/

/***主函数****/

/*************/

main()

charn;

charv;

//清空缓冲区暂存变量

pr("

\n\007"

);

for(;

pr("

主菜单:

\nD登录;

”);

pr(”S申请账号;

//觉得应该允许普通用户申请账号

pr(”Q退出\n\007"

);

scanf(”%c”,&n);

/*清空输入流,通过while循环把输入流中的余留数据“吃”掉*/

while((v=getchar())!

='

\n’&

&

v!

=EOF);

//清空缓冲区

if(n==’D’)denglu();

elseif(n==’S’)shenqing();

elseif(n==’Q'

)break;

elsepr(”输入不正确,请重新输入,(注意区分大小写)"

Sleep(1000);

system("

cls"

/*清屏,stdlib.h中函数*/

}

pr(”你按了Q,系统即将关闭\n”);

Sleep(1000);

/*沉睡1秒,windows。

h中的函数*/

return0;

}

/*******************************************************************************************************/

/*******************************************************************************************************/

/***************/

/*****复制******/

/***************/

intfuzhi(char*dFile,char*sFile)//将sFile指向的文件复制到dFile中

FILE*sfp,*dfp;

if((sfp=fopen(sFile,"

r"

))==NULL)

return0;

if((dfp=fopen(dFile,"

w”))==NULL)

while(!

feof(sfp))

fscanf(sfp,"

%d%s%s%s\n”,&s。

daima,s.sname,s。

mima,s.shengf);

fprintf(dfp,"

%d%s%s%s\n”,s.daima,s.sname,s。

mima,s。

shengf);

fclose(sfp);

fclose(dfp);

return(0);

}

/*******************************************************************************************************/

/*******************************************************************************************************/

/**************/

/***用户登录***/

/**************/

voiddenglu()

{FILE*fp;

charv;

charc[18],d[18];

inte,f,i,j,k=0;

if((fp=fopen(”user。

txt”,"

))==NULL||feof(fp)){pr("

由于你是第一个进入本系统的用户,\n你自动成为管理员\n请设置自己的管理员账号和密码\n"

p=1;

u=1;

shenqing();

guanliyuan();

}//自动成为管理员

else

{for(i=0;

i〈3;

i++)

{

puts("

请输入用户名:

scanf("

%s"

c);

while((v=getchar())!

v!

puts(”请输入密码:

"

%s”,d);

while((v=getchar())!

&v!

=EOF);

rewind(fp);

while(!

feof(fp))

{j++;

fscanf(fp,"

%d%s%s%s"

,&

s。

daima,s。

sname,s.mima,s.shengf);

e=strcmp(s.sname,c);

f=strcmp(s.mima,d);

system(”cls"

/*清屏,stdlib。

h中函数*/

if(e==0,f==0)

if(s。

daima==1)

{printf("

欢迎管理员%s:

\n”,s。

sname);

p=1;

guanliyuan();

}/*管理员*/

else

{pr(”欢迎%s使用用户管理系统”,s.sname);

p=0;

putongyh();

}/*普通用户*/

}

else

printf("

用户名或密码错误!

请重新输入!

\n”);

pr("

您的输入次数超过3次,系统关闭"

Sleep(2000);

/*沉睡2秒,windows。

h中的函数*/

exit(0);

/*关闭系统,process.h*/

/*******************************************************************************************************/

/*******************************************************************************************************/

/**************/

/***申请账号***/

/**************/

intshenqing()//申请账号

{

charm[18],a[18],b[18];

inti=0,j=0;

FILE*fp;

if(u==1)

s。

daima=1;

strcpy(s.shengf,”系统管理员"

}

else

{

if(p==1)

for(;

{

pr(”申请管理员请输入1,申请普通用户请输入0\n"

scanf("

%d”,&

i);

if(i==1)

s。

daima=1;

strcpy(s。

shengf,"

系统管理员”);

break;

}

if(i==0)

s.daima=0;

shengf,”普通用户”);

elsepr("

输入错误,请重新输入"

}

if(p==0)/*普通用户权限*/

s.daima=0;

strcpy(s.shengf,"

普通用户”);

for(;

;

j=0;

pr("

请输入用户名(16个以下字母或数字,注意区分大小写:

)\n”);

scanf(”%s"

m);

\n'

&&

if((fp=fopen(”user。

txt”,”r”))==NULL){fp=fopen("

user.txt"

,"

w”);

gotolable;

rewind(fp);

while(!

{

fscanf(fp,”%d%s%s%s\n”,&s。

daima,s.sname,s.mima,s。

shengf);

if(strcmp(s。

sname,m)==0)

{j=1;

break;

fclose(fp);

if(j==1)pr("

用户名已存在,请重新输入”);

else

lable:

该用户名可以使用!

for(;

for(;

{

pr(”请输入密码(6至16个字母或数字,注意区分大小写:

):

\n"

a);

while((v=getchar())!

{for(i=0;

i<

18;

i++)if(a[i]==’\0’)break;

if(i>

=6&

&i<

=16)break;

密码长度不正确,请重新输入\n"

pr(”请再次输入密码\n"

scanf("

%s”,b);

while((v=getchar())!

&&v!

if(strcmp(a,b)==0)break;

elsepr("

您输入的密码与第一次输入不相同,"

fp=fopen(”user.txt”,"

at”);

fprintf(fp,"

%d%s%s%s\n”,s。

daima,m,a,s.shengf);

fclose(fp);

pr(”恭喜你申请账号成功\n你的账号是%s,密码是%s\n请妥善保管你的账号和密码\n\n任意键返回”,m,a);

getchar();

system(”cls”);

/*清屏,stdlib。

return0;

/*******************************************************************************************************/

/*******************************************************************************************************/

/*******************************************************************************************************/

/*******************************************************************************************************/

/*******************/

/****管理员权限*****/

/*******************/

intguanliyuan()

{charv;

charn;

pr(”\n\007"

管理员菜单:

\nD修改用户信息;

X新增;

S删除;

Q退出\n\007"

scanf(”%c”,&

n);

&

&v!

if(n=='

D'

)xiugai();

elseif(n=='

X'

)shenqing();

//新增,申请账号

elseif(n==’S’)shanchu();

elsepr(”输入不正确,请重新输入,(注意区分大小写)”);

Sleep(1000);

你按了Q,系统即将关闭\n"

/*沉睡1秒,windows。

/*******************/

/***普通用户权限****/

/*******************/

intputongyh()

{charv;

pr(”\n\007”);

用户菜单:

\nD修改密码;

pr(”S申请账号;

scanf("

%c”,&

while((v=getchar())!

v!

if(n==’D’)xiugai();

S’)shenqing();

elsepr("

输入不正确,请重新输入,(注意区分大小写)"

/*清屏,stdlib.h中函数*/

pr(”你按了Q,系统即将关闭\n”);

Sleep(1000);

/*沉睡1秒,windows.h中的函数*/

intxiugai()

charv;

char*dFile="

user。

txt”;

char*sFile=”fuser.txt”;

inta;

charb[17];

charc[17];

chard[9];

chare[17];

//用户名2

charf[17];

//密码2

intg=0;

FILE*sfp,*dfp;

if((dfp=fopen(dFile,”r”))==NULL)//打开user.txt

return0;

if(p=1)

strcpy(e,s.sname);

请输入你要修改密码的用户名”);

%s”,b);

while((v=getchar())!

=’\n'

while(!

feof(dfp))

{

fscanf(dfp,"

%d%s%s%s\n”,&s.daima,s。

sname,s。

mima,s。

if(strcmp(s.sname,b)==0){g=1;

break;

}//找到所输入的用户名

fclose(dfp);

//关闭user。

txt

if(g==1){pr("

没有%s\n\n任意键返回"

getchar();

return0;

if(s.daima==1&&

strcmp(e,b)!

=0){pr(”对不起:

%s是管理员,你不可以修改对方的资料\n\n任意键返回"

a);

getchar();

return0;

if(s.daima==1)

你现在是管理员,不修改管理权限请输入1,降低管理权限请输入0;

\n\n”);

for(;

scanf(”%d”,&

a);

if(a==1){pr("

你仍然是管理员\n\n”);

strcpy(d,”系统管理员"

elseif(a==0){pr("

你将成为普通用户\n\n"

strcpy(d,”普通用户”);

elsepr("

输入错误,请重新输入\n\n"

}

else

pr(”%s是普通用户,提高他的管理权限请输入1,否则输入0;

\n\n”,b);

scanf("

%d”,&

a);

while((v=getchar())!

=’\n’&&

%s成为管理员\n\n”,s.sname);

strcpy(s。

shengf,"

系统管理员"

%s仍然是普通用户\n\n"

s.sname);

输入错误,请重新输入\n\n”);

else

a=0;

strcpy(d,"

现在请输入新密码\n"

%s”,c);

while((v=getchar())!

请再次输入新密码\n”);

scanf(”%s”,f);

if(strcmp(f,c)==0)break;

两次输入不相同,请重新输入\n"

fuzhi(sFile,dFile);

if((sfp=fopen(sFile,”r”))==NULL)return0;

if((dfp=fopen(dFile,”w"

))==NULL)return0;

fscanf(sfp,”%d%s%s%s\n”,&s。

daima,s.sname,s.mima,s。

if(strcmp(s。

sname,b)==0){s。

daima=a;

strcpy(s.mima,c);

strcpy(s.shengf,d);

fprintf(dfp,"

%d%s%s%s\n”,s.daima,s.sname,s.mima,s。

fclose(sfp);

恭喜你修改用户信息成功,%s的新密码是%s;

系统身份是%s\n\n按任意键返回”,b,c,d);

getchar();

return(0);

intshanchu()

char*dFile=”user。

txt"

char*sFile=”fuser.txt”;

chara[18];

FILE*sfp,*dfp;

pr(”请输入你要删除的用户名"

%s”,a);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1