资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
./*/*/*题目十八 系统用户管理系统【说明及要求】设系统用户信息(用户代码,用户名,密码,系统身份)存放在一个名为user.txt的文件中,请编写程序实现用户信息的新增、修改密码、删除功能(实现新增和删除时,用户的系统身份必须是“系统管理员”),并能模拟用户的登陆。如果输入的用户代码和密码在文件中存在,则显示欢迎某某用户登陆的界面和操作菜单(N.新增、M.修改密码、D.删除),以便用户完成相应操作,如果输入错误则提示用户重新输入(最多可以尝试3次)。【提示】(1)定义一个结构体表示用户信息;(2)分别编写函数实现用户信息的新增、修改密码、删除、用户登陆等功能;(3)用户的尝试登陆的次数要通过一个静态变量实现;(4)编写main函数进行演示。*/*/*/#include#include#include #include#include#include #define H 100 /*最大允许保存学生信息数*/#define pr printf#define S scanfstruct yonghuxx/*用户信息*/int daima;/用户代码char sname 17;/用户名char mima17;/密码char shengf9; /系统省份;struct yonghuxx s;int p=0;/普通用户p=0;管理员用户p=1int h;/信息数int u=0;/强制管理员标记,如果系统使用时数据库还没有任何用户信息,则把第一个打开系统的用户设置为管理员权限u=1int xiugai();/修改密码int shanchu();/删除void denglu();/用户登陆int shenqing();/新增,申请账号int fuzhi(char *sFile, char *dFile) ;/将一个文件复制到另一个文件int guanliyuan();/*管理员*/int putongyh();/*普通用户*/*/*/*/*主函数*/*/main()char n;char v;/清空缓冲区暂存变量pr(n007);for(;)pr(主菜单:nD登录;);pr(S申请账号;);/觉得应该允许普通用户申请账号pr(Q退出n007);scanf(%c,&n);/* 清空输入流,通过 while 循环把输入流中的余留数据“吃”掉 */while ( (v= getchar() != n & v != EOF ) ;/清空缓冲区if(n=D)denglu();else if(n=S)shenqing();else if(n=Q)break;else pr(输入不正确,请重新输入,(注意区分大小写);Sleep(1000);system(cls); /*清屏, stdlib.h中函数*/pr(你按了Q,系统即将关闭n);Sleep(1000);/*沉睡1秒,windows.h中的函数*/return 0;/*/*/*/*复制*/*/int fuzhi(char *dFile, char *sFile) /将sFile指向的文件复制到dFile中 FILE *sfp,*dfp; if (sfp=fopen(sFile,r)=NULL) return 0; if (dfp=fopen(dFile,w)=NULL) return 0; while(!feof(sfp) fscanf(sfp,%d %s %s %sn,&s.daima,s.sname,s.mima,s.shengf); fprintf(dfp,%d %s %s %sn,s.daima,s.sname,s.mima,s.shengf); fclose(sfp); fclose(dfp); return(0); /*/*/*/*用户登录*/*/void denglu()FILE *fp;char v;/清空缓冲区暂存变量 char c18,d18; int e,f,i,j,k=0;if(fp=fopen(user.txt,r)=NULL|feof(fp)pr(由于你是第一个进入本系统的用户,n你自动成为管理员n请设置自己的管理员账号和密码n);p=1;u=1;shenqing();guanliyuan();/自动成为管理员else for(i=0;i3;i+) puts(请输入用户名:); scanf(%s,c); while ( (v = getchar() != n & v!= EOF ) ;/清空缓冲区 puts(请输入密码:); scanf(%s,d); while ( (v= getchar() != n & 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*/ /*/*/*/*申请账号*/*/int shenqing()/申请账号char v;/清空缓冲区暂存变量char m18,a18,b18;int i=0,j=0;FILE *fp;if(u=1)s.daima=1;strcpy(s.shengf,系统管理员);elseif(p=1)for(;)pr(申请管理员请输入1,申请普通用户请输入0n);scanf(%d,&i);if(i=1)s.daima=1;strcpy(s.shengf,系统管理员);break;if(i=0)s.daima=0;strcpy(s.shengf,普通用户);break;else pr(输入错误,请重新输入);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号