C语言系统用户管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/****************************************************************************** *************************/
/****************************************************************************** *************************/
/*题目十八系统用户管理系统
【说明及要求】
设系统用户信息(用户代码,用户名,密码,系统身份)存放在一个名为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 scanf
struct yonghuxx/*用户信息*/
{
int daima;//用户代码
char sname [17];//用户名
char mima[17];//密码
char shengf[9]; //系统省份
};
struct yonghuxx s;
int p=0;//普通用户p=0;管理员用户p=1
int h;//信息数
int u=0;//强制管理员标记,如果系统使用时数据库还没有任何用户信息,则把第一个打开系统的用户设置为管理员权限u=1
int xiugai();//修改密码
int shanchu();//删除
void denglu();//用户登陆
int shenqing();//新增,申请账号
int fuzhi(char *sFile, char *dFile) ;//将一个文件复制到另一个文件
int guanliyuan();/*管理员*/
int putongyh();/*普通用户*/
/****************************************************************************** *************************/
/****************************************************************************** *************************/
/*************/
/***主函数****/
/*************/
main()
{
char n;
char v;//清空缓冲区暂存变量
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();
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 %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);
}
/****************************************************************************** *************************/