C语言系统用户管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

}

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

相关文档
最新文档