武汉理工大学计算机影碟租赁租赁者管理课程设计内容摘要:

课程设计说 明书 12 p[h]=p[h+1]。 h++。 } } h++。 } } i++。 } } i=0。 printf(修改成功 !\n)。 } else printf(没有相应的会员 !\n)。 printf(继续修改 8;其他数字退出修改 \n 请输入: )。 scanf(%d,amp。 x)。 }while(x==8)。 } ( 5) 删除某些租赁者的信息  首先提示用户选择相应的删除 方式:按姓名删除信息、按编号删除信息。  根据用户选择的删除方式,输入要删除租赁信息的租赁者名字或编号,进行查找,若查找成功,则删除相关租赁信息,同时对租借者数量进行减操作;查找失败,返回失败信息。  删除租赁者信息 函数 void Del_LinkList(LinkList H)的 实现 : void main() { char ch1。 InitNameList()。 CreateHashList ()。 do { printf(D. 显示哈希表 \nF. 查找 \nQ. 退出 \n 请选择: )。 cinamp。 ch1。 switch(ch1) { case 39。 D39。 :Display()。 coutendl。 break。 case 39。 F39。 :FindList()。 coutendl。 break。 case 39。 Q39。 :exit(0)。 } coute on !(y/n):。 cinamp。 ch1。 }while(ch1!=39。 n39。 )。 } 武汉理工大学《 计算机基础强化训练 》课程设计说 明书 13 ( 6) 租赁信息的查找  首先提示用户选择相应的查找方式 :按姓名 查找 信息、按编号 编号 信息。  根据用户选择的 查找 方式,输入要 查找 租赁信息的租赁者名字或编号,进行查找,若查找成功,则 输出 相关租赁信息;查找失败,返回失败信息。  查找 租赁者信息 函数 LinkList Search(LinkList H)的 实现 : LinkList Search(LinkList H) //查找功能函数定义 { int k1,x。 LinkList p。 char name[20]。 long int num。 do { p=H。 printf(请选择: \t1,按租赁者姓名查询 \t2,按租赁者编号查询 \t0,退出查询 \n)。 printf(请选择: )。 scanf(%ld,amp。 k1)。 if(k1==1) //按租赁者姓名查询 { printf(请输入租赁者姓名: )。 scanf(%s,name)。 while(p) { if(equal(p,name)==1) //查找租赁者姓名 { printf(查找成功 !\n)。 Printff(p)。 break。 } else p=pnext。 } if(!p) { printf(查找失败,未注册。 \n)。 } } if(k1==2) //按租赁者编码查询 { printf(请输入租赁者编码(数字 ): )。 scanf(%ld,amp。 num)。 while(p) { 武汉理工大学《 计算机基础强化训练 》课程设计说 明书 14 if(p==num) { printf(查找成功 !\n)。 Printff(p)。 break。 } else p=pnext。 } if(!p) { printf(查找失败,未注册。 \n)。 } } if(k1==0) return(NULL)。 printf(继续查找 8;其他数字退出查找 \n请输入: )。 scanf(%d,amp。 x)。 }while(x==8)。 return p。 } ( 7) 按日期查找租赁信息  根据用户输入的日期,进行查找,若查找到相关日 期有会员注册或者有影碟租赁出去,则返回相关注册信息或者租赁信息  按日期查找函数 void Search_Time(LinkList H)的实现: void Search_Time(LinkList H) //按日期查询租赁信息 { LinkList p。 long int time。 int i=0,x,j=0,k=0。 do { p=H。 printf(请输入日期(格式) :)。 scanf(%ld,amp。 time)。 while(p) //遍历查找 { if(p==time) { i++。 //统计数量 Printff(p)。 } if(p!=time) { 武汉理工大学《 计算机基础强化训练 》课程设计说 明书 15 while(jp) { if(p[j]==time) {Printff(p)。 k++。 } j++。 } } j=0。 p=pnext。 } printf(共有 %d人在 %ld注册 \n,i,time)。 printf(共有 %d人在 %ld租借影碟 \n,k,time)。 k=0。 i=0。 printf(继续按日期查询 8;其余输入退出查询 \n请输入: )。 scanf(%d,amp。 x)。 }while(x==8)。 } ( 8) 显示所有租赁者的租赁信息  显示出所有租赁者的租赁信息,包括: 租赁者 注册时间、租赁时间、对应时间的租赁影碟的名称、租赁影碟的数量、租赁押金、租赁者的编号。  函数 void browsing(LinkList H)的实现: void browsing(LinkList H) //显示所有租赁者的信息 { LinkList p。 int k8=1。 p=Hnext。 if(p==NULL) printf(表为空 !)。 while(p) { printf(第 %d个租赁人信息: \n,k8)。 Printff(p)。 k8++。 p=pnext。 } } ( 9) 输出函数 函数 void Printff(LinkList p)的实现: void Printff(LinkList p) //输出函数 { int i=0。 printf(租赁者姓名 : %s 租借影碟数量 : %d 押金 : %f\n注册日期 : %ld 租赁者编号 :%ld\n 武汉理工大学《 计算机基础强化训练 》课程设计说 明书 16 ,p,p,p,p,p)。 while(ip) { printf(租赁日期: %d 对应的 ,p[i])。 printf(影碟名字: %s\n,p[i])。 i++。 } } ( 10) 将内存链表以文本文件的形式写入外存储器 函数 void WriteCDdata(LinkList H)的实现: void WriteCDdata(LinkList H) { LinkList p。 fstream cddata。 (影碟租赁租赁者管理 .txt,ios::out)。 if(!cddata) printf(文件打开失败 !)。 else { p=Hnext。 if(p==NULL) printf(链表为空,无法完成信息存入硬盘 !)。 else { while(p) { ((char*)amp。 (p),sizeof(p))。 ((char*)amp。 (p),sizeof(p))。 ((char*)amp。 (p),sizeof(p))。 ((char*)amp。 (p),sizeof(p))。 ((char*)amp。 (p),sizeof(p))。 ((char*)amp。 (p),sizeof(p))。 ((char*)amp。 (p),sizeof(p))。 p=pnext。 } } } ()。 } ( 11) 人机交互的实现 主函数 void main( )的实现: void main( ) // 主函数,菜单形式 { int key=0。 LinkList H。 武汉理工大学《 计算机基础强化训练 》课程设计说 明书 17 char l。 H=Creat_LinkList( )。 printf(欢迎使用影碟租赁者管理系统 \n)。 printf(由于现在没会员注册,请先注册会员: \n)。 Add_LinkList(H)。 // 主菜单 内容 do { printf( $$$$$$$$$\n)。 printf( * 0 退出系统 *\n)。 printf( * 1 查询租赁者 *\n)。 printf( * 2 添加新租赁者 *\n)。 printf( * 3 修改租赁数量 *\n)。 printf( * 4 删除租赁者 *\n)。 printf( * 5 查看所有租赁者 *\n)。 printf( * 6 按日期查询 *\n)。 printf( * 7 保存成文件 *\n)。 printf( $$$$$$$$$\n)。 printf(请选择 : )。 scanf(%d,amp。 key)。 printf(\n)。 switch(key) { case 0: printf(你选择退出系统,谢谢使用 !\n)。 return。 break。 case 1: Search(H)。 printf(\n)。 break。 case 2: Add_LinkList(H)。 printf(\n)。 break。 case 3: Revise_LinkList(H)。 printf(\n)。 break。 case 4: Del_LinkList(H)。 printf(\n)。 break。 case 5: browsing(H)。 printf(\n)。 break。 case 6: Search_Time(H)。 printf(\n)。 break。 case 7: WriteCDdata(H)。 printf(\n)。 break。 default: printf(你的选择有误 !\n)。 } printf(继续 Y;退出 N\n)。 printf(请选择 : )。 scanf(%s,amp。 l)。 }while(l==39。 Y39。 ||l==39。 y39。 )。 } 武汉理工大学《 计算机基础强化训练 》课程设计说 明书 18 函数模块 模块调用关系 程序流程图 本次程序流程图如下 主函数 main 添加信息模块 删除信息模块 修改信息模块 文件写入模块 信息显示模块 按时间查找信息模块 查找信息模。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。