投稿管理系统

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

课程设计报告书专用纸

淮海工学院课程设计报告书

课程名称:计算机技术课程设计

题目:投稿管理系统

系(院):电子工程学院

学期:10-11-2

专业班级:电子082

姓名:

学号:

1 需求分析和说明

投稿管理系统软件的总体目标:在Visual C++ 6.0,的开发环境下,利用所学C语言和数据结构的相关知识,开发一个具有良好人机界面的投稿信息管理系统软件,本管理系统实现对稿件信息的管理,它的主要功能包括显示全部稿件信息、添加稿件、删除稿件、按稿件编号查询、按稿件名称查询、按稿件名称排序、按稿件浏览量排序。

1.1 基本要求

(1)界面友好,易与操作。采用菜单或其它人机对话方式进行选择。

(2)显示全部稿件信息和稿件的总个数。稿件基本信息包括:稿件的编号、名称、作者、被浏览次数、添加日期。

(3)实现稿件的添加。

(4)实现稿件的删除。

(5)按稿件编号或稿件名称查询某个稿件的基本信息。

(6)按稿件名称或稿件被浏览的次数进行排序,并显示输出排序结果。

1.2 各功能模块的功能描述:

1.系统总控制模块

本模块的主要功能实现是系统菜单的输出、系统主要操作的选择控制。

2.稿件信息录入模块

本模块的主要功能是根据用户的选择进行文件的创建、结构体类型定义、读写文件、插入法创建有序链表、遍历输出链表等,并且对新建结点录入的各项数据、数据输入格式进行验证。

3.稿件信息删除模块

本模块的主要功能是删除用户指定的结点的信息,并将删除后的链表信息保存到文件中。

4.稿件信息查询模块

本模块的主要功能是根据用户的选择,按稿件的编号或名称进行查询,并输出稿件的查询结果。

5.稿件信息排序模块

本模块的主要功能是根据用户的选择,按稿件的名称或被浏览次数进行排序,并输出稿件的排序结果。

2 详细设计

2.1 投稿管理系统结构图

如图 1 所示:

图1投稿管理系统结构图

2.2 数据类型定义

#define filename "C:\\wengao.dat"//数据的存储路径

struct date//定义时间结构体

{

int year;//年

int month;//月

int day;//日

};

typedef struct WEN//定义稿件信息结构体

{

char number[10]; //稿件编号

char name[20]; //稿件名称

char writer[20];//稿件作者

int time;// 稿件浏览次数

struct date Date; //添加稿件日期

struct WEN *next; //指向结构体自身的指针

}WENGAO;

/*函数声明*/

WENGAO *NewNode(WENGAO *head);

void Display_Message(WENGAO *head); //显示全部稿件信息

void Linked_List(WENGAO *head); //列出链表的全部信息

WENGAO * ReadFromFile(int); //从文件读取数据,构造链表

void Save_Message(WENGAO *head); //将数据信息保存到文件中

WENGAO * INSERT_Node(WENGAO *head,WENGAO *NewNode,int style);//插入结点信息

void Free_Linked_List(WENGAO* head); //释放链表空间

void deleteByNumber(WENGAO *head); //按稿件编号输出文稿

int panduan(WENGAO* head,char * number);//编号唯一性的检验

int Check_Date(WENGAO *NewNode, char *tmpDate);//日期合法性的检验

void QuByName(WENGAO *head);//按稿件名称排序

void QuBytime(WENGAO *head);//按浏览次数排序

void searchByName(WENGAO *head);//按稿件名称查找

void searchByNumber(WENGAO *head);//按稿件编号查找

void mainMenu();//主菜单显示

2.3 算法思想

2.3.1 判断函数

panduan(WENGAO* head,char * number),其功能是判断输入的稿件编号是否唯一。

2.3.2 结点生成模块

首先使用malloc函数向系统申请分配指定size个字节的内存空间。若申请成功则生成一个NewNode指针节点。给其next域赋值NULL,通过键盘给其数据域赋上相应的值。即NewNode->number赋上稿件的号码信息,NewNode->name赋上稿件的名字信息,NewNode->writer赋上稿件作者的信息,NewNode->time赋上稿件浏览次数的信息,再在NewNode->Data.year、NewNode->Data.month、NewNode->Data.day赋上添加时间的信息。这就生成了一个完整的稿件信息,最后再返回新节点。

其流程图如图3所示:

图3节点生成流程图

2.3.3 稿件信息录入模块

节点生成的部分由节点生成模块可得出,可由键盘输入稿件编号、名称、作者、浏览次数、添加日期的信息,同时调用panduan和Check_Date函数检测输入数据的合法性和唯一性。若输入的信息有效,则返回新节点。从而完成对一个新成员的转入操作。

其流程图如图 4所示:

相关文档
最新文档