武汉科技学院 《面向对象程序设计》课程设计报告
题目: 电话簿管理系统
院 系: 计算机科学学院
2011 年 01 月 14 日
专业班级: 计科094 学 号: 0904681222 学生姓名: 周 凡 指导教师: 陶 桓 齐
《面向对象程序设计》课程设计报告
一、 引言
充分运用C++的文件系统和类的设计和完善
二、系统介绍:
1.建立ifstream/ofstream/fstream、输入、输出、输入输出流对象。 2.建立Book类,构建private私有成员和public 公有成员 3.建立输入输出文件,如何打开文件
4.建立char inter_face 函数,主显示界面
5.建立add_person 函数,请输入 姓名、电话、地址 构建电话号码本 6.建立del_person 函数,根据 姓名或者电话,删除某一联系人 7.建立show_all 函数,显示所有的联系人
8.建立alter函数,制作通过姓名或者电话找出某一联系人并修改其资料
9.建立select 函数,制作输入 姓名或者电话 查询查找某一联系人的序号功能项
三、模块设计:
输入联系 人信息 (姓名, 电话,地 址)
主函数 进入主显示界面按照提示进行选择 删除联系人 显示所有联系人 根据姓名或者电话查找联系人,之后修改该联系人资料 根据姓名或者电话,查看某联系人的记录资料 退出系统 程序结束 - 2 -
《面向对象程序设计》课程设计报告
char inter_face(); 显示主界 面 char inter_face();显示主界面 void del_person();进行删除数据操作 book();默认构造函数,初始化数据 void add_person();进行添加数据操作 Book类 void show_all();//显示所有联系人 void select();进行查询数据操作 void alter();进行修改数据操作 void save_new();保存新增加的联系人 string name;//姓名 string number;//电话号码 string address;//地址
cout< - 4 - void add_person();进行添加数据操作 void alter();进行修改数据操作 void save_new();保存新增加的联系人 ifstream/ofstream对pbook.txt或者temp.txt进行操作 void show_all();//显示所有联系人 void del_person();进行删除数据操作 void select();进行查询数据操作 void save_new();保存新增加的联系人 ifstream/ofstream对pbook.txt或者temp.txt进行操作 char inter_face();显示主界面 《面向对象程序设计》课程设计报告 四、程序清单:(机房答辩,提交代码) #include #include class book { public: book();//默认构造函数 char inter_face();//主界面显示 void add_person();//添加数据 void del_person();//删除数据 void show_all();//显示所有联系人 void alter();//修改数据 void select();//查询数据 void save_new();//保存新增加的联系人 private: string name;//姓名 string number;//电话号码 string address;//地址 }; book::book() { number = \"\\0\"; name = \"\\0\"; address = \"\\0\"; } //主界面显示 char book::inter_face() { system(\"cls\");//清屏 system(\"color C\");//输出字符颜色控制 - 5 - 《面向对象程序设计》课程设计报告 cout< return choice; } //添加联系人 void book::add_person() { cout < cout <<\"电话 : \"; cin >>number; fflush(stdin); cout <<\"地址 : \"; cin >>address; fflush(stdin); save_new(); cout < - 6 - 《面向对象程序设计》课程设计报告 void book::del_person() { ofstream outData(\"temp.txt\ ifstream inData(\"pbook.txt\if (!outData || !inData) { cout < cout < bool flag = true; string str; while (inData >>name >>number) { getline(inData, str); if ((sign==name) || (sign==number)) { cout < cout < - 7 - 《面向对象程序设计》课程设计报告 outData < ofstream out(\"pbook.txt\ ifstream in(\"temp.txt\ if (!out || !in) { cout < out < cout < //显示所有联系人 void book::show_all() { ifstream inData(\"pbook.txt\ if (!inData) { cout < - 8 - 《面向对象程序设计》课程设计报告 string record; while (getline(inData, record)) { if (flag) { cout < cout < //修改信息 void book::alter() { ofstream outData(\"temp.txt\ ifstream inData(\"pbook.txt\if (!outData || !inData) { cout < cout < bool flag = true; string str; - 9 - 《面向对象程序设计》课程设计报告 while (inData >>name >>number) { getline(inData, str); if ((sign==name) || (sign==number)) { cout < save_new(); flag = false; break; } outData < cout < outData < - 10 - 《面向对象程序设计》课程设计报告 ofstream out(\"pbook.txt\ ifstream in(\"temp.txt\ if (!out || !in) { cout < out < cout < //查询联系人 void book::select() { ifstream inData(\"pbook.txt\ if (!inData) { cout < cout < bool flag = true; string str; - 11 - 《面向对象程序设计》课程设计报告 while (inData >>name >>number) { getline(inData, str); if ((name==sign) || (number==sign)) { cout < cout < ofstream outData(\"pbook.txt\ if (!outData) { cout < //主函数 int main() { - 12 - 《面向对象程序设计》课程设计报告 int choice; book information; while (choice = information.inter_face()) { switch (choice) { case 1: information.add_person();////添加联系人 break; case 2: information.del_person();////删除联系人 break; case 3: information.show_all();////显示所有联系人 break; case 4: information.alter();////修改信息 break; case 5: information.select();////查询联系人 break; case 6: cout < 五、程序调试心得体会: 内容: 1、 在删除或者修改联系人的时候,文件操作容易发生失误。 2、 运用了system(\"cls\") system(\"pause\")和system(\"color **\") 美化输出窗口。 六、参考文献: [1] 钱能主编,C++程序设计教程,清华大学出版社,2000.11 [2] 戴锋编著,Visual C++程序设计基础,清华大学出版社,2001.4 - 13 - 《面向对象程序设计》课程设计报告 [3]吴乃陵, 况迎辉.C++课程设计. 北京:高等教育出版社,2006 [4]谢昕,刘觉夫,王更生.C++程序设计.北京:北京邮电大学出版社,2008 七、致谢: 在操作文件的时候,与班上袁盼同学相互间进行了探讨,并就一些无法解决的问题通过网络找寻一些专业人士进行了资讯。 - 14 - 因篇幅问题不能全部显示,请点此查看更多更全内容