日记管理系统

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

仲恺农业工程学院

程序设计工程训练

报告

日记管理系统

课程名称C语言程序设计工程训练

姓名

院(系)

专业班级

学号

指导教师

仲恺农业工程学院教务处制

目录

1.需求分析 (1)

2.系统总框图和功能模块说明 (1)

2.1系统总框图 (1)

2.2功能模块说明 (1)

3系统设计 (2)

3.1主要结构体 (2)

3.2主要功能函数 (2)

3.3程序界面 (11)

3.4关键函数的流程图 (12)

4系统调试 (15)

5总结 (16)

6源程序清单 (17)

1.需求分析

①.用自定义日记的存储结构,每篇日记至少包含日期,内容等字段;

②.使用者必须输入密码;

③.写日记与保存功能;

④.日记查阅:按日期查看,按关键字查看,按顺序查看功能(从某一篇开始)

⑤.实现日记的永久存储。

⑥.对保存的密码进行变换,以免泄密。

⑦.允许多人使用。

⑧.在程序的提示语言清晰明确,界面美观并且适用。

2.系统总框图和功能模块说明

2.1系统总框图

2.2功能模块说明

申请用户,申请一个用户,用于储存你的日记,求输入用户名和密码

用户登入,当你有一个或多个用户的时候,选择序号,登入任意一个用户帮助,对日记管理系统的一些介绍,如密码管理、修改、清除用户等。3系统设计

3.1主要结构体

日记结构体、用户结构体。

typedef struct diary //日记结构体

{

char date[15];

char title[20];

char weather[10];

int flag;

struct diary *next;

};

typedef struct user //用户结构体

{

char user_name[100];

char password[100];

struct diary *firstedge; //访问日记

int count;

struct user * next;

}*userList ,userNode;

3.2主要功能函数

1.登录

void User_denglu(userList L)

{

char temp[20];//密码

userNode *p; //定义用户指针

p=L; //初始化

printf("请输入用户名:\n");

scanf("%s",p->user_name);

printf("请输入密码:");

password_input(temp);

p=L; //初始化

printf("请输入用户名:\n");

scanf("%s",p->user_name);

printf("请输入密码:");

password_input(temp);

while( strcmp(p->password,temp)!=0) //与原密码比较

{

密码有误, 是否重新输入(Y or N)?

if (flag=='N'||flag=='n') return;

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

password_input(temp);

}

User_Operate(p,L);//进入用户操作界面

}

2.用户注册

userList User_zhuce(userList L)

{

char temp1[20];

userNode *p,*s;

s=(userNode *) malloc (sizeof(userNode)); //申请空间

p=L;//初始化

scanf("%s",s->user_name); 请输入用户名;

while (p!=NULL &&strcmp(p->user_name,s->user_name)!=0) //检查用户名是否已经存在

p=p->next;

while(p!=NULL)

{

该用户名已经存在,是否继续进行申请用户:(Y or N)

if (flag=='N'||flag=='n'){free(s); return L;}

scanf("%s",s->user_name); //输入用户名;

p=L;

while(p!=NULL&&strcmp(p->user_name,s->user_name)!=0)

p=p->next;

}

password_input(temp1);//输入密码

strcpy(s->password,temp1);

s->firstedge=NULL;//初始化用户日记为空

s->next=L; //前插法将用户插到表L中

L=s;

Save_user(L); //每添加一个用户时,都要进行存储用户信息的保存}

3.密码输入

void password_input(char temp[])

{

int i;

i=0;

while((temp[i]=getch())!=Enter) //输入回车键退出

{

if(temp[i]=='\b'&&i>0) //当不是第一个输入删除键时,进行的操作

{

printf("\b");

printf(" ");

printf("\b\b");

i--;

相关文档
最新文档