C语言+数据结构课程设计:日记管理系统实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

福建工程学院计算机与信息科学系实验报告

‘夏热’

日记删除操作:

/* 日记管理系统*/

#include

#include

#include

#include

#define ESC 27 //退出键

#define Enter 13 //回车键

#define BackSpace 8

/*定义日记结构体*/

typedef struct Link1

{ char date[10]; //日期格式2009-12-30

char title[40]; //标题

char content[1000]; //日记内容

char keyword[20]; //关键字,可用空格隔开

int tag; //用来标记该日记是否满足查阅要求,是为0,否为-1,初始值为0;

struct Link1 *nextd;

} Diary;

/*定义用户结构体*/

typedef struct Link2

{ char username[25]; //用户名

char password[16]; //登录密码

Diary *diarys_list; //该用户拥有的日记链表

struct Link2 *nextu;

} User;

/* 函数声明*/

int Change_Password(User *U2); /*更改用户密码*/

int Create_NewUser(User *U1); /*创建用户链表*/

int Delete_Diary(Diary *D); /*删除日记*/

int Diary_Operation(User *U2,Diary *D1); /*日记操作*/

int Encrypt_Password(char password[]);/* 将登录口令加密*/

int Enter_Password(char password[]);/* 获取登录口令*/

User *Find_User(User *U1,char username[]);/*查找用户*/

Diary *Init_Diary(Diary *D1);/*初始化日记表*/

void Initial_Tag(Diary *D1,int tag);

User *Init_User(User *U1);/*初始化用户表*/

int Input_Choose();

int Open_Diary(Diary *D1);

Diary *Open_DiaryFile(Diary *D1,char FileName[]);/* 打开并导入日记文件*/

int Printf_DiaryList(Diary *D1);/*显示日记列表*/

void Print_Menu1(int *choose1);/*进入菜单*/

void Print_Menu2(int *choose2);/*进入日记菜单*/

void Print_Menu3(int *choose3);/*进入日记查阅菜单*/

int Printf_users(User *U1);/*导入用户信息*/

int Save_Diary(Diary *D1);/*保存日记*/

int Save_Users_info(User *U1);/*保存用户信息*/

int Search_Diary(Diary *D1);/*日记查询*/

Diary *Filter_word(Diary *D1,char cmpword[],int n);/*按标题、日期、关键字查阅*/ User *User_Login(User *U1);/* 登录个人用户*/

int Write_Diary(Diary *D1);/* 写新日记*/

/* 更改用户密码*/

int Change_Password(User *U2)

{

char oldpw[16],newpw1[16],newpw2[16];

do

{

printf("\n\t请输入旧密码:\t");

Enter_Password(oldpw); //调用输入密码函数

Encrypt_Password(oldpw); //调用对密码加密函数

if(strcmp(U2->password,oldpw)!=0) //如果输入的密码与各个用户中的密码不相等

printf("\n\t旧密码输入错误!....\n\n");

}while(strcmp(U2->password,oldpw)!=0);//一直到输入的密码与用户密码相等的时候才退出循环

do

{

printf("\n\t请输入新密码:\t");

Enter_Password(newpw1);

printf("\n\t请确认新密码:\t");

Enter_Password(newpw2);

if(strcmp(newpw1,newpw2)!=0)

printf("\n\t密码确认错误!....\n\n");

}while(strcmp(newpw1,newpw2)!=0); //到输入的新密码与确认的新密码一样的时候退出循环

Encrypt_Password(newpw1); //对新密码进行加密

strcpy(U2->password,newpw1); //讲新密码复制给旧密码,就把旧密码覆盖掉了,密码就修改完毕

printf("\n\n\t密码修改成功!......");

return 1;

}

/* 创建用户链表*/

相关文档
最新文档