logo资料库

俱乐部会员管理系.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
1 设计内容及要求
1.1 题目要求
1.2 需求分析
2 概要设计
3 程序代码
3.1宏定义
3.2主函数
3.3各功能模块
4设计结果与分析
计算机学院《C 语言程序设计》课程设计报告 学号 2016-2017 学年 第二学期 《高级语言程序设计》 课程设计报告 题 目 : 俱乐部会员管理系统 专 业 : 班 级 : 姓 名 : 指 导 教 师 : 成 绩 : 计算机学院 2017 年 4 月 25 日 1
计算机学院《C 语言程序设计》课程设计报告 目 录 1 设计内容及要求.............................3 1.1 题目要求...................................3 1.2 需求分析...................................3 2 概要设计......................................... 3 3 程序代码......................................... 4 3.1 宏定义........................................4 3.2 主函数........................................5 3.3 各功能模块................................5 4 设计结果与分析............................17 2
计算机学院《C 语言程序设计》课程设计报告 1 设计内容及要求 1.1 题目要求 1)[要求] 允许俱乐部成员租用 DVD.若想成为会员,首先应签约并且按月交纳费用。会员一次可 租用三个 DVD,没有时间限制。可浏览所有可租用的 DVD,能实现新成员的开户、会员对其 账户状况的查询以及俱乐部管理者对其所交易情况的查看功能。 2)[提示] ⑴需求分析:DVD 信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注 册新会员,提供文件的添加操作;实现按月缴纳费用,提供文件的修改操作;浏览信息提供 显示操作;实现查询提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。 ⑵总体设计:整体设计为会员注册模块、会员交费模块、会员租用 DVD 模块、会员 归还 DVD 模块、信息浏览模块和信息查询模块等。 1.2 需求分析 1)【输入要求】 应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。 进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。 2)【输出要求】 ⑴应用程序运行后,要在屏幕上显示一个菜单; ⑵要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式 及结束方式等。 2 概要设计 根 据 需 求 分 析 , 可 以 对 这 个 系 统 的 设 计 分 为 以 下 几 个 模 块 : 3
计算机学院《C 语言程序设计》课程设计报告 欢迎界面 主菜单 建 立 新 档 案 注 册 会 员 缴 纳 会 费 会 员 D V D 信 息 浏 览 信 息 查 询 退 出 3 程序代码 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(); 4
计算机学院《C 语言程序设计》课程设计报告 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]; 3.2 主函数 主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。其各功能模块用 菜单方式选择。本题将 main()函数体内的界面选择部分语句单独抽取出来作为一独立函 数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。 【程序】 main() { printf("*******************欢迎使用 dvd 信息管理系统**********************\n"); printf("\n\n\n\n 请输入管理员密码:"); if(check()) else { menu1(); printf(" 密码输入错误\n"); printf(" ****************你无权使用本系统*****************\n"); quit(); } } 3.3 各功能模块 5
计算机学院《C 语言程序设计》课程设计报告 ⑴密码验证模块 int check() { char a[20],str[]="123"; int count; for(count=0;count<3;count++) { gets(a); if(strcmp(a,str)==0) else return 1 ; 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],sizeof(int),1,fp1); fread(&N[2],sizeof(int),1,fp1);} fclose(fp1); n=N[1]; n1=N[2]; moon(); printf("\n 1. 建立新档案\n"); printf("\n 2. 注册会员\n"); printf("\n 3. 缴纳会费\n"); printf("\n 4. 会员 dvd\n"); printf("\n 5. 信息浏览\n"); printf("\n 6. 信息查询\n"); printf("\n 7. 退出\n"); printf("\n\n\n 请选择编号:"); scanf("%d",&a); switch(a) { case 1: {create(); menu1();}break; 6
计算机学院《C 语言程序设计》课程设计报告 case 2: {add(); menu1(); } break; case 3: {monfei();menu1();}break; case 4: {dvd();menu1();}break; case 5: menu2();break; case 6: menu3();break; case 7: quit();break; default: printf("输入编号错误\n"); menu1(); } } ⑶子菜单功能选择模块 int menu2() { int a; printf(" 信息浏览\n"); printf("\n 1.会员信息浏览\n"); printf("\n 2.dvd 信息浏览\n"); printf("\n 3.返回上级菜单\n"); printf("\n\n\n 请输入编号:"); scanf("%d",&a); switch(a) { case 1: printhuiyuan();break; case 2: printdvd();break; case 3: menu1();break; default:printf("输入编号错误\n"); menu2(); } } ⑷建立新档案模块 create() { FILE *fp,*fp1; int i; struct dvdA stu2[100]; struct dvdB dd2[100]; int y,m,d,s1; time_t timep; struct tm *p; time(&timep); p=localtime(&timep); /*取得当地时间*/ m=1+p->tm_mon; 7
计算机学院《C 语言程序设计》课程设计报告 d=p->tm_mday; s1=m*30+d; printf("请输入档案的个数:"); scanf("%d",&n); N[0]=n; for(i=0;i
分享到:
收藏