c语言课程设计 多用户的记事本_第1页
c语言课程设计 多用户的记事本_第2页
c语言课程设计 多用户的记事本_第3页
c语言课程设计 多用户的记事本_第4页
c语言课程设计 多用户的记事本_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#include#include #include /getch需要的头文件 #define MAX 100/最大存储日志数 struct usernews/定义用户档案结构体 char account20;char password20;usernews;struct Dairy/定义用户日志结构体 char title20MAX; char date20MAX; char content5000MAX; char type1MAX;dairy;char DATA_FILE20,USERNAME20;/定义用户日志文件名 void end(void); /函数声明void c

2、hoice_au(void);void newuser ( void );void user_accept(void);void user_login(void);void user(void);void admin_login(void); void admin_accept(void);void admin_seeuser(void);void admin_change(void);void admin_newuser ( void );void admin_deluse(void);void admin_deldate(void);void user_write(void);void u

3、ser_read(void); void user_edit(void);void user_del(void);void user_change(void);void user_search(void);void admin_read(void);void end(void)/结束函数 system(cls);printf( n);printf( n);printf( 。 。 圣 。 。 n);printf( 。 。 诞 。 。 n);printf( 。 。 节 。 。 n);printf(。 。 快 。 。 n);printf(| !| 乐 | !| n);printf(祝圣诞节快乐 _!

4、 n);printf( nnn);printf(感谢使用日记本系统,再见。n);exit(0); void newuser ( void )/普通用户增加新用户 system ( cls );char proving20;printf ( 请输入新用户名: );scanf ( %s, &usernews.account );printf ( n请输入密码: );while ( scanf ( %s, &usernews.password ) = 1 )printf ( n请再次输入密码: );scanf ( %s, proving );if ( strcmp ( usernews.passwo

5、rd, proving ) = 0 )break;system ( cls );printf(前后输入的密码不匹配,请重新输入) ; printf ( 请输入账号: );scanf ( %s, &usernews.account );printf ( n请输入密码: );FILE *fp;if ( ( fp = fopen ( usernews.txt , a ) ) = NULL )printf ( 用户列表加载失败,请重试n );exit ( 0 );fprintf ( fp, %sn%sn,usernews.account,usernews.password ) ;fclose ( fp

6、 );printf ( 您的账号:%sn, usernews.account );printf ( 您的密码是:%sn, usernews.password );printf(创建新用户成功,自动返回上一级n);system(pause);user();void user_accept(void)/登录成功界面 char x;system ( cls );printf(欢迎您进入用户系统,尊敬的%sn请选择:n,USERNAME);printf(1.写日记n2.看日记n3.改日记n4.删日记n5.改密码n6.注销用户n7.查日记n0.退出系统n);scanf(%c,&x);switch(x)c

7、ase 0:end();break;case 1:user_write();break;case 2:user_read();break;/case 3:user_edit();break;case 4:user_del();break;case 5:user_change();break;case 6:user();break;case 7:user_search();break;default:user_accept();break; void user_login(void)/用户登录界面 int i,j,n;char account20;char password20;system (

8、 cls );printf(请输入您的账户名:);scanf(%s,account);printf(n请输入您的密码:);for(i=0;i20;i+) passwordi=getch(); if(passwordi=13) passwordi=0;break;else if(passwordi=8)-i;i-;printf(%c,8);printf( );printf(%c,8); else printf(*);FILE *fp;if ( ( fp = fopen ( usernews.txt, r ) ) = NULL )printf ( n文件不存在,发生错误了n );exit ( 0

9、);while( !feof(fp)fscanf( fp, %sn%sn,usernews.account,usernews.password);if(strcmp(account,usernews.account)=0 & strcmp ( password,usernews.password)=0)strcpy(USERNAME,account);strcpy(DATA_FILE,strcat(account,.txt);user_accept();printf(n密码输入错误,系统自动返回上一层n);system(pause);user(); void user(void)/用户选项界面

10、 system(cls);char userchoice;printf(请选择一个选项:n);printf(1.创建账户n2.登陆账户n3.返回主界面n0.退出系统n);scanf(%c,&userchoice);switch(userchoice)case 0:end();break;case 1:newuser();break;case 2:user_login();break;case 3:choice_au();break;default :user(); void admin_seeuser(void)/管理员查看用户界面 int i=0;FILE *fp;if ( ( fp = f

11、open ( usernews.txt, r ) ) = NULL )printf ( 文件不存在,发生错误了n );exit ( 0 );while(!feof(fp)fscanf(fp, %sn%sn,usernews.account,usernews.password);i+;printf(%d.%sn,i,usernews.account);fclose(fp);system(pause);admin_accept();void admin_change(void)/管理员修改密码界面 char adminmm10;FILE *fp;fp=fopen(admin.txt,w+);pri

12、ntf(请输入新密码:n);scanf(%s,adminmm);fprintf(fp,%sn,adminmm);printf(修改密码成功,您的新密码为%sn,adminmm);fclose(fp);system(pause);admin_accept();void user_write(void)/用户写日志界面 printf(嘿嘿,赶快写下你一天的心情吧!n); printf(标题:); scanf(%s,&dairy.title0); printf(日期(格式:1990/1/1):); scanf(%s,&dairy.date0); printf(内容:); scanf(%s,&dair

13、y.content0); printf(文件类型:(0为私密日记,1为普通日记); scanf(%s,&dairy.type0); printf(n);FILE *fp;fp=fopen(DATA_FILE,a+);fprintf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0); printf(保存成功n); fclose(fp); system(pause); system(cls); user_accept();void user_read(void)/用户查看日记界面 system(cls);int

14、 i=0,a;FILE *fp;/if(fp = fopen ( DATA_FILE , r )=NULL)fp = fopen ( DATA_FILE , r ); printf(以下是您的日志列表:n);while(!feof(fp) i+;fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);printf(%d.%sn,i,dairy.title0);fclose(fp);printf(请选择要查看的日志:);scanf(%d,&a);fp = fopen ( DATA_FILE , r )

15、 ;i=0;while(!feof(fp) i+;fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);if(a=i)printf(标题:%sn,dairy.title0) ;printf(日期:%sn,dairy.date0);printf(内容:%sn,dairy.content0);break;fclose(fp);system(pause);user_accept();/*void user_edit(void)/用户编辑日志界面 system(cls); int i=0,a=0;char

16、 b;FILE *fp;fp = fopen ( DATA_FILE , r );printf(以下是您的日志列表:n);while(!feof(fp) i+;fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);printf(%d.%sn,i,dairy.title0);fclose(fp);printf(请选择要修改的日志:);scanf(%d,&a);i=0;loop:fp = fopen ( DATA_FILE , r );while(!feof(fp) i+;fscanf(fp,%sn%

17、sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);if(i=a)system(cls); printf(1.标题:%sn,dairy.title0) ;printf(2.日期:%sn,dairy.date0);printf(3.内容:%sn,dairy.content0);printf(4.公/私:%sn,dairy.type0) ;printf(请选择要修改的内容:(输入0重新选择要修改的日志)) ;break;fclose(fp);scanf(%c,&b);switch(b)case 1:printf(标题:%sn,

18、dairy.title0),printf(请输入新标题:);break;case 2:printf(日期:%sn,dairy.date0),printf(请输入新日期:);break;case 3:printf(内容:%sn,dairy.content0),printf(请输入新内容:);break;case 4:printf(公/私:%sn,dairy.type0),printf(请输入:);break;case 0:user_edit();break;default:goto loop;system(pause);user_accept();*/void user_change(void)

19、/用户修改密码 char newpassword20;printf(请输入您的新密码:n);scanf(%s,newpassword);FILE *fp;FILE *fp1;fp=fopen(usernews.txt,r+);fp1=fopen(usertemp.txt,w+);while(!feof(fp) fscanf(fp, %sn%sn,usernews.account,usernews.password);if(strcmp(USERNAME,usernews.account)=0)fprintf(fp1,%sn%sn,usernews.account,newpassword);el

20、se fprintf(fp1,%sn%sn,usernews.account,usernews.password);fclose(fp1);fclose(fp);fp=fopen(usernews.txt,w+);fp1=fopen(usertemp.txt,r+);while(!feof(fp1)fscanf(fp1, %sn%sn,usernews.account,usernews.password);fprintf(fp,%sn%sn,usernews.account,usernews.password);fclose(fp1);fclose(fp);printf(修改成功,); sys

21、tem(pause);user_accept();void user_search(void) /用户查找日志 char a,str120,str220;int i=0;FILE *fp;system(cls);printf(请输入要查找的方式:n);printf(1.按日期查找n);printf(2.按标题查找n);printf(0.返回上一层n); scanf(%c,&a); if(a=1)printf(请输入要查找的日期:(格式为:)n);scanf(%s,str1);fp = fopen ( DATA_FILE , r ); while(!feof(fp) i+;fscanf(fp,%

22、sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);if(strcmp(str1,dairy.date0)=0)printf(已找到您的日志,日志编号为%d,i);break;fclose(fp);system(pause);user_accept(); else if(a=2)printf(请输入要查找的标题:(请务必完全匹配)n);scanf(%s,str2);fp = fopen ( DATA_FILE , r ); while(!feof(fp) i+;fscanf(fp,%sn%sn%sn%sn,dairy

23、.title0,dairy.date0,dairy.content0,dairy.type0);if(strcmp(str2,dairy.title0)=0)printf(已找到您的日志,日志编号为%d,i);break;fclose(fp);system(pause);user_accept();else if (a=0)user_accept();else user_search(); void user_del(void)/删除日志界面 int i=1,a,b;FILE *fp;FILE *fp1;fp=fopen(DATA_FILE,r);printf(以下是您的日志列表:n);whi

24、le(!feof(fp) fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);printf(%d.%sn,i,dairy.title0);i+;fclose(fp);loop:printf(请选择要删除的日志:);scanf(%d,&a);if(ai)fp=fopen(DATA_FILE,r);fp1=fopen(daily_temp.txt,w+);b=1;while(!feof(fp) fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy

25、.content0,dairy.type0);if(b=a)b+;continue; else b+; fprintf(fp1,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);fclose(fp);fclose(fp1);fp=fopen(DATA_FILE,w+);fp1=fopen(daily_temp.txt,r);while(!feof(fp1) fscanf(fp1,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);fp

26、rintf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);fclose(fp);fclose(fp1);printf(删除成功,); system(pause);user_accept();elseprintf(该日志不存在,请重新输入,) ; system(pause);goto loop; void admin_login(void)/管理员登录界面 system(cls);char str10=0;char str1100;char str25=0,0,0,0;int i=0;FILE *fp;f

27、p=fopen(admin.txt,r);fscanf(fp,%sn,str1);printf(请输入管理员密码(输入0000返回主界面):n);for(i=0;i100;i+) stri=getch();if(stri=13) stri=0;break;else if(stri=0)printf(0);else if(stri=8)-i;i-;printf(%c,8);printf( );printf(%c,8);else printf(*);fclose(fp);if(strcmp(str,str1)=0)admin_accept();else if(strcmp(str,str2)=0)

28、choice_au(); else system(cls);printf(密码错误,请重新输入n);system(pause);admin_login(); void admin_accept(void)/管理员登陆成功界面 system(cls); printf(欢迎进入管理后台n); char adminch;printf(1.查看用户n2.增加用户n3.删除用户n4.注销管理员n5.修改密码n6.查看用户日志n7.删除用户日志n0.退出系统n) ;scanf(%c,&adminch);switch(adminch)case 2:admin_newuser();break;case 1:a

29、dmin_seeuser();break;case 4:choice_au();break;case 5:admin_change();break; case 3:admin_deluse();break;case 6:admin_read();break;case 7:admin_deldate();break; case 0:end();break;default:admin_accept(); void admin_deluse(void)/管理员删除用户界面 int i=0,a;FILE *fp;FILE *fp1;fp=fopen(usernews.txt,r);printf(以下是

30、用户列表:n);while(!feof(fp) fscanf(fp,%sn%sn,usernews.account,usernews.password);i+;printf(%d.%sn,i,usernews.account);fclose(fp);loop:printf(请选择要删除的用户(输入999返回上一层):);scanf(%d,&a);if(a!=999&ai)printf(对不起,该用户不存在n);system(pause); goto loop; else admin_accept();void admin_newuser ( void )/管理员增加新用户 system ( c

31、ls );char proving20;printf ( 请输入新用户名: );scanf ( %s, &usernews.account );printf ( n请输入密码: );while ( scanf ( %s, &usernews.password ) = 1 )printf ( n请再次输入密码: );scanf ( %s, proving );if ( strcmp ( usernews.password, proving ) = 0 )break;system ( cls );printf(前后输入的密码不匹配,请重新输入) ; printf ( 请输入账号: );scanf

32、( %s, &usernews.account );printf ( n请输入密码: );FILE *fp;if ( ( fp = fopen ( usernews.txt , a ) ) = NULL )printf ( 用户列表加载失败,请重试n );exit ( 0 );fprintf ( fp, %sn%sn,usernews.account,usernews.password ) ;fclose ( fp );printf ( 您的账号:%sn, usernews.account );printf ( 您的密码是:%sn, usernews.password );printf(创建新

33、用户成功,自动返回上一级n);system(pause);admin_accept();void admin_read(void)/管理员查看用户日志 system(cls);char str1=0;char FILDATA20; int i=0;int a;FILE *fp;FILE *fp1;fp=fopen(usernews.txt,r);while(!feof(fp)i+;fscanf(fp,%sn%sn,usernews.account,usernews.password ) ;printf(%d.%sn,i,usernews.account);fclose(fp);printf(要

34、查看的用户:);scanf(%d,&a); i=0;fp=fopen(usernews.txt,r);while(!feof(fp)i+;fscanf(fp,%sn%sn,usernews.account,usernews.password ) ;if(a=i)strcpy(FILDATA,strcat(usernews.account,.txt);break;fclose(fp);system(pause); if ( ( fp1 = fopen ( FILDATA , r ) ) = NULL )printf ( 该用户没有日志n );exit ( 0 ); while(!feof(fp1

35、) fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0); if(strcmp(dairy.type0,str)=0) continue; else printf(标题:%sn时间:%sn内容:%sn,dairy.title0,dairy.date0,dairy.content0); printf(n); fclose(fp1); system(pause); admin_accept(); void admin_deldate(void)/管理员删除用户日志 int i=1,a,b,c;FILE

36、 *fp;FILE *fp1;FILE *fp2;fp2=fopen(usernews.txt,r);while(!feof(fp2)fscanf(fp2,%sn%sn,usernews.account,usernews.password ) ;printf(%d.%sn,i,usernews.account);i+;fclose(fp2);printf(要查看的用户:);scanf(%d,&c);i=0; fp2=fopen(usernews.txt,r);while(!feof(fp2)i+;fscanf(fp2,%sn%sn,usernews.account,usernews.passw

37、ord ) ;if(c=i)strcpy(DATA_FILE,strcat(usernews.account,.txt);break;fp=fopen(DATA_FILE,r);printf(以下是您的日志列表:n);while(!feof(fp) fscanf(fp,%sn%sn%sn%sn,dairy.title0,dairy.date0,dairy.content0,dairy.type0);printf(%d.%sn,i,dairy.title0);i+;fclose(fp);loop:printf(请选择要删除的日志:);scanf(%d,&a);if(ai)fp=fopen(DATA_FILE,r);fp1=fopen(daily_temp.txt,w+);b=1;while(!feof(fp) fscanf(fp,%sn%sn%sn%sn,dairy.t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论