c语言程序课程设计日记本管理系统
c语言程序课程设计日记本管理系统
日记管理系统的开发设计
实验目的、要求
一、实验题目:
设计一个简单实用个人日记管理系统。
二、实验要求
1.该实验的课内学时是4个课时。
2.程序完成后应该完成如下基本功能:
1)用自定义日记的存储结构,每篇日记至少包含日期,内容等字段;
2)使用者必须输入密码;
3)写日记与保存功能;
4)日记查阅:按日期查看,按关键字查看,按顺序查看功能(从某一篇开始)
3.在完成上述基本功能的前提下,有能力的同学可以完成如下加强功能:
1)实现日记的永久存储。
2)对保存的密码进行变换,以免泄密。
3)允许多人使用。
4)在程序的提示语言清晰明确,界面美观并且适用。
实验步骤与内容
一)主要设计思想
日记管理系统设计,应分模块进行。首先一个注册、登录的用户界面,编写函数保存用户已录入信息,及密码。编写函数用于验证用户登录信息,并进行匹配。有能力的话,可以添加一个用户密码修改功能…
当用户注册,登录匹配成功以后,进入其个人日记管理界面。其中应当包含一些日记处理基本操作:写日记、保存、打开、各种方式查询、删除。各个功能分别用函数来实现,最后主函数用case语句调用各函数。
二)主要数据结构及其解释
1.日记结构体
typedef struct Link1
{ char date[10]; //日期 格式2011-05-11
char title[40]; //标题
char content[1000]; //日记内容
char keyword[20]; //关键字,可用空格隔开
int tag; //用来标记该日记是否满足查阅要求,是为0,否为-1,初始值为0;
struct Link1 *nextd;
} Diary;
2.用户结构体
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)