1、 中国农业大学 课程论文 (2011-2012学年春季学期) 论文题目: 音像店出租管理系统 课程名称: 面向对象程序设计课程设计 任课教师: 康丽 班 级: 信电114班 学 号: 1108140406 姓 名: 郭晨阳 目录
2、 一、 系统设计目标及意义……………………………… 1 二、 功能介绍…………………………………………… 1 三、 流程图…………………………………………… 2 四、 类图………………………………………… 3 五、 主要运行界面图及运行结果图…………………… 4 六、 系统设计过程中遇到的问题……………………… 11 七、 创新点……………………………………………… 11 八、 课程设计心得体会………………………………… 11 九、 附录………………………………………………… 11 音
3、像出租管理系统 一、系统设计目标及意义 本系统是一个音像出租管理系统,实现任意添加、删除、编辑、找与显示音像资料和顾客信息等功能,为音像出租店的工作提供参考。 二、功能介绍 1、初始化顾客库信息、影碟库信息、租碟库信息的操作 输入1进入系统,输入2退出系统;通过函数的识别,自动判断是否已经初始化顾客库信息、影碟库信息、租碟库信息。若未初始化,则输入这些信息;若已建立,则可直接使用其他功能 。 2、添加和显示信息的操作:分为输入顾客信息,输入碟片信息。输入顾客信息时需要输入编号和名字,输入碟片信息时需要输入编号、名称、主演。输入完信息后可以输出这些信息。 3、删除信息的操
4、作:可以删除所输入的影碟和顾客信息 4、查找顾客信息的操作:通过对顾客编号的输入,实现查看某一位顾客的所有信息。 5、查找碟片的操作:通过对碟片编号的输入,查看是否有这个碟片或者这个碟片是否可借; 6、顾客租碟的操作:顾客可以通过碟片的编号查找碟片,看是否可租,在该过程中需要输入顾客的编号;如果所输入的编号不存在,会提示该碟片不存在;如果租碟成功,会显示该碟片的具体信息。 7、顾客还碟:通过输入所借碟片的编号进行还碟; 8、退出系统:退出音像店出租管理系统界面。 主程序流程图: 开始 显示系统菜单 退出系统 进入
5、系统 顾客还碟 影碟管理 顾客管理 顾客租碟 增加顾客 删除顾客 列出顾客 查找顾客 列出所有影碟 查找影碟 删除影碟 增加影碟 三、类图 Customer — name[10]:char — number[5]: char — phone[20]: char + get(): void + print(): void +getnumber(): char* +getname(): char* +getphone
6、): char* +borrowdie(): void +Pointborrowdie(): void +replacedie(): void +addcustomer(): void +customerlist(): void +customerFind_number():void +customerFind(): void +customerdelete(): void +customerdeletefile(): void +customerguanli(): void costomerborrowdie +number[5]: char
7、
+code[20]: char
+zday[15]: char
+hday[15]:char
+time: int
+borrowdie(): void
+print(): void
<
8、): void +getflag(): void +getcode(): char* +gettitle(): char* +getstar(): char* +getcompany(): char* +adddie(): void +dielist(): void +dieFind_code: void +dieFind(): void +diandelete(): void +diandeletefile(): void +dieguanli(): void 四、主要运行界面图及运行结果图 (1)输入1进入
9、系统 (2)输入4进入顾客管理 (3)输入1,添加顾客个人信息,输入编号,姓名,如果不想继续增加顾客输入n (4)按5返回主界面,进行影碟库的 初始化,输入3 再输入1,增加影碟信息,如编号、名称、主演。 (5)输入5回到主界面,输入1进入顾客租碟部分,其中需要输入顾客编号,所要租的影碟的编号,确认是否要租碟,然后会出现该影碟的信息 确认是否要继续租碟。输入n表示不继续租碟,回到主界面 如果顾客编号或者影碟编号不存在,将出现 (5)输入2,进入“顾客还碟”界面,输入你所需要归还影碟的编号,输入y或者n确定是否归还影碟,然后
10、回到主界面 如果没有此影碟信息,将会有下面 (6)输入3,进入“影碟管理”界面,输入4,列出所有影碟 然后回到影碟管理 输入3,查找影碟, 输入1按影碟编号查找,再输入影碟编号1,输出影碟的详细信息 输入n回到查找界面,再输入0返回影碟管理的界面, (7)输入2,进入删除影碟界面,输入将要删掉的影碟的编号,再输入y,确认删除影碟,然后又回到影碟管理界面。 (8)输入5,回到主界面 输入4进入顾客管理界面 输入4列出所有顾客信息,然后自动回到顾客管理界面 (9)输入3进入查找顾客的界面, 输入1进行按客户
11、编号查询顾客信息,输入要查找的顾客的编号, 输入n退出查找,回到查找界面 再输入0回到上一级菜单,输入2进行删除顾客操作,输入要删除的顾客的编号,输入y确认删除此顾客,并回到顾客管理界面 输入5退回到主界面,输入2退出系统 五、系统设计过程中遇到的问题 1、本来想编为多文件系统的,但在编译过程出现很多问题,例如在处理非成员函数时总会出现问题 2、功能还不够全面,还不能够解决更多的问题,例如:1不能利用顾客名字和影碟名字进行查询 2、没有对顾客库、碟片库的上限进行检查,有可能会溢出 3操作界面为dos,不够美观,没有能够编成windows操作界面的 六、创
12、新点 1、在删除顾客时增加了判断该顾客是否有租影碟的判断,避免了顾客已删,但他仍有租碟的情况。 七、课程设计心得体会 刚开始的时候有无从下手的感觉,通过去图书馆查阅相关书籍,上网查找相关资料,向学长请教,渐渐的自己也开始明白如何去解决这个问题,但有一些功能的实现还是通过上网查询或学长帮助完成。 通过这次动手编这个比较大型的程序,自己也对C++的知识有了更深的了解,之前在课堂上,知识学习一些理论上的知识,虽然平时也有上机实验,但都是编比较小的程序,而这次真正联系全部的知识,将所有知识融会贯通的运用于一个系统的编程,确实让自己提高了在书本以外的实践动手的能力,相信也会对以后的学习提供很大的
13、帮助。
由于之前忙着期末复习,没时间弄课程设计,所以这次课程设计的时间有点紧张,以至于无法呈现一个更完美的音像出租管理系统。不过,对C++认识的加深和动手能力的提高是自己最大的收获。
八、附录
源文件代码:
#include
14、phone[20];
public:
void get()
{
cout << "请输入顾客编号: ";
cin>>number;
cout << "请输入顾客的姓名: ";
cin>> name;
cout<<"请输入顾客的电话:";
cin>>phone;
}
void print()
{
cout << "顾客编号: " < 15、ndl;
cout << "顾客的姓名: " < 16、 void borrowdie();
void Printborrowdie();
void replacedie();
void addcustomer();
void customerlist();
void customerFind_number();
void customerFind();
void customerdelete();
void customerdeletefile();
void 17、customerguanli();
};
class die
{
private:
char code[20];
char title[40];
char star1[40];
char company[40];
int onshelf;
public:
char flag;
die()
{
flag ='N';
}
void 18、 get() {
cout << "请输入影碟编号: ";
cin>> code;
cout << "请输入影碟名称: ";
cin>> title;
cout << "请输入主演: ";
cin>> star1;
cout<<"请输入发行公司: ";
cin>>company;
}
void print()
{
cout << "影碟编号: " < 19、 < 20、 ";
cin >> flag;
}
char* getcode()
{
return(code);
}
char* gettitle()
{
return(title);
}
char* getstar1()
{
return(star1);
}
char* getcompany()
{
r 21、eturn(company);
}
void adddie() ;
void dielist();
void dieFind_code();
void dieFind() ;
void diandelete();
void diandeletefile();
void dieguanli();
friend class customer;
};
class customerborrowdie {
22、
public:
char number[5];
char code[20];
char zday[15];
char hday[15];
int time;
void borrowdie()
{
cout << "请输入您的编号: ";
cin>>number;
cout << "请输入您要租的影碟的编号: ";
cin>> code;
cout<<"请输入租碟的 23、日期: ";
cin>>zday;
cout<<"请输入归还日期: ";
cin>>hday;
cout<<"租借时间: ";
cin>>time;
}
void print()
{
cout << "您的编号: " << number < 24、ut<<"总计"<






