学号《》
课程设计报告俱乐部会员管理系统专业:网络工程(对口)班级:16(3)班姓名:指导教师:成绩:
计算机学院
2017 年 4月 25 日
目 录
一、需求分析3
1.题目要求3
2.需求分析3
3.总体设计4
二、代码设计4
1.宏定义4
2.主函数5
3.各功能模块6
三.实验结果17
一、需求分析
1.题目要求
1)[要求 允许俱乐部成员租用DVD.若想成为会员,首先应签约并且按月交纳费用。会员一次可租用三个DVD,没有时间限制。可浏览所有可租用的DVD,能实现新成员的开户会员对其状况的查询以及俱乐部管理者对其所交易情况的查看功能。
[提示]
需求分析:DVD信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注册新会员,提供文件的添加操作;实现按月缴纳费用,提供文件的修改操作;浏览信息提供显示操作;实现查询提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。
总体设计:整体设计为会员注册模块会员交费模块会员租用DVD模块会员归还DVD模块信息浏览模块和信息查询模块等。应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
2)【输出要求】
⑴应用程序运行后,要在屏幕上显示一个菜单;
⑵要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
3.总体设计
根据需求分析,可以对这个系统的设计分为以下几个模块:
二、代码设计
1.宏定义
#include
#include
#include
#include
#include
int n,n1; /* 全局*/
int N[3];/* 记录着上次建立的档案数,从新运行程序时,不会丢上次信息*/
int yuefei=30;
menu1();
quit();
menu2();
menu3();
create();/*建立档案 */
add(); /* 增加信息*/
monfei();
dvd();
search1();
search2();
printhuiyuan();
printdvd();
moon();
struct dvdA
{
char name[20];
int num;
int sex;
int huifei;
int day;
int dvd1;
int dvd2;
int dvd3;
}stu1[100];
struct dvdB
{
int num;
char name[20];
int k;
}dd1[100];
2.主函数
主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。其各功能模块用菜单方式选择。本题将main()函数体内的界面选择部分语句单独抽取出来作为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。
【程序】
main()
{
printf("*******************欢迎使用dvd信息管理系统**********************\n");
printf("\n\n\n\n请输入管理员密码:");
if(check()) menu1();
else
{
printf(" 密码输入错误\n");
printf(" ****************你无权使用本系统*****************\n");
quit();
}
}
3.各功能模块
⑴密码验证模块
int check()
{
char a[20],str[]="123";
int count;
for(count=0;count<3;count++)
{ gets(a);
if(strcmp(a,str)==0)
return 1 ;
else
continue;
}
return 0;
}
⑵主菜单功能选择模块
int menu1()
{
FILE *fp1;
int a;
if((fp1=fopen("n.txt","a+"))==NULL)
{
printf("cannot open file");
exit(0);
}
{
fread(&N[1],sizeo