当前位置:文档之家› 软件开发工具与环境实验报告.

软件开发工具与环境实验报告.

南昌大学实践报告学生姓名:谢某某学号:0149001506109 专业班级:软件工程2006 实践类型:□验证□综合□设计□创新实践日期:2010-11-30 实践成绩:(以下主要内容由学生完成)一、实验项目名称利用VC++设计一个简单的电话薄管理程序二、实验目的综合运用面向对象程序设计的基础知识,设计一个小型的应用程序,提高解决问题的能力。

三、实验基本内容设计一个电话簿管理程序,要求:〔1〕具有添加、删除、显示、修改和查询联系人电话号码的功能。

〔2〕联系人的信息保存到文件中。

〔3〕可以实现为控制台程序或图形界面程序。

〔4〕按学院实验报告要求格式书写实验报告四、主要仪器设备及耗材PC一台,Microsoft Visual C++ 6.0 开发环境五、实验步骤该电话薄的实现代码如下:#include <iostream>#include <string>#include <iomanip>#include <fstream>#include <cstdlib>using namespace std;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;//电话号码};book::book(){name = "\0";number = "\0";}//首页char book::inter_face(){system("cls");cout <<endl;cout<<"请选择你要进行的操作:" <<endl<<"1.添加. 2.删除. 3.显示. 4.修改. 5.查询. 6.关闭."<<endl <<"选择:" ;int choose;cin >>choose;fflush(stdin);return choose;}//添加联系人void book::add_person(){cout <<endl <<"根据下面提示输入新联系人信息" <<endl<<"姓名 :" ;cin >>name;fflush(stdin);cout <<"电话 : ";cin >>number;fflush(stdin);save_new();cout <<endl <<endl <<"已保存" <<endl;system("pause");}//删除联系人void book::del_person(){ofstream outData("temp.txt", ios::out);ifstream inData("pbook.txt", ios::in);if (!outData || !inData){cout <<endl <<"对不起找不到文件" <<endl;system("pause");return;}string sign;cout <<endl <<"你要删除输入姓名或电话号 :";cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number){getline(inData, str);if ((sign==name) || (sign==number)){cout <<endl <<"你想删除的联系人:" <<endl;cout <<str1 <<endl;cout <<setiosflags(ios::left) <<setw(17) <<name <<" " <<number <<str <<endl;flag = false;break;}outData <<setiosflags(ios::left) <<setw(17) <<name <<" " <<number <<str <<endl;}if (flag){cout <<endl <<"对不起,联系人中没你找的人" <<endl; }else{while (getline(inData, str)){outData <<str <<endl;}outData.close();inData.close();ofstream out("pbook.txt", ios::out);ifstream in("temp.txt", ios::in);if (!out || !in){cout <<endl <<"对不起不能打开文件" <<endl; system("pause");return;}while (getline(in, str)){out <<str <<endl;}out.close();//in.close();cout <<endl <<"已删除" <<endl;}system("pause");}//显示所有联系人void book::show_all(){ifstream inData("pbook.txt",ios::in);if (!inData){cout <<endl <<"对不起,没有找到文件" <<endl;system("pause");return;}bool flag = true;string record;while (getline(inData, record)){if (flag){cout <<endl <<"所有联系人信息如下: "<<endl; }cout <<record <<endl;flag = false;}if (flag){cout <<endl <<"你的通迅录中没有联系人" <<endl;}else{cout <<endl <<"所有联系人已经全部显示出来" <<endl; }system("pause");}//修改信息void book::alter(){ofstream outData("temp.txt", ios::out);ifstream inData("pbook.txt", ios::in); //if (!outData || !inData){cout <<endl <<"对不起,找不到文件" <<endl;system("pause");return;}string sign;cout <<endl <<"你要修改输入姓名或电话号 :";cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number){getline(inData, str);if ((sign==name) || (sign==number)){cout <<endl <<"你想修改的联系人:" <<endl <<endl; cout <<str1 <<endl;cout <<setiosflags(ios::left) <<setw(17) <<name <<" " <<number <<str <<endl;cout <<endl <<"请根据下面提示修改信息 : " <<endl;cout <<"姓名 :" ;cin >>name;fflush(stdin);cout <<"电话号:";cin >>number;fflush(stdin);save_new();flag = false;break;}outData <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;}if (flag){cout <<endl <<"对不起,联系人中没你找的人" <<endl;}else{while (getline(inData, str)){outData <<str <<endl;}outData.close();inData.close();ofstream out("pbook.txt", ios::out);ifstream in("temp.txt", ios::in);if (!out || !in){cout <<endl <<"对不起不能打开文件" <<endl;system("pause");return;}while (getline(in, str)){out <<str <<endl;}out.close();in.close();cout <<endl <<"这个人的信息已经在你的通迅录中修改" <<endl; }system("pause");}//查询联系人void book::select(){ifstream inData("pbook.txt",ios::in);if (!inData){cout <<endl <<"对不起,文件找不到" <<endl;system("pause");return;}string sign;cout <<endl <<"输入你想查找的联系人的姓名或电话号码: "; cin >>sign;fflush(stdin);string str1;bool flag = true;string str;while (inData >>name >>number){getline(inData, str);if ((name==sign) || (number==sign)){cout <<endl <<"你要查找的联系人是: " <<endl;cout <<str1 <<endl;cout <<setiosflags(ios::left) <<setw(17) <<name <<number <<str <<endl;flag = false;system("pause");break;}}}void book::save_new(){ofstream outData("pbook.txt", ios::app);if (!outData){cout <<endl <<"对不起,打开文件失败" <<endl;system("pause");return;}outData << setiosflags(ios::left) << setw(17) << name <<" " << setw(16) << number <<" "<<endl;outData.close();}int main(){int choose;book abj;while (choose = abj.inter_face()){switch (choose){case 1:abj.add_person();////添加联系人break;case 2:abj.del_person();////删除联系人break;case 3:abj.show_all();////显示所有联系人break;case 4:abj.alter();////修改信息break;case 5:abj.select();////查询联系人break;case 6:cout <<endl <<"谢谢使用" <<endl;exit(0);break;default:break;}}return 0;}六、实验数据及处理结果输入:1分别输入虚渺,雨拓,若风三人姓名和电话号码输入:2删除虚渺相关信息输入:3显示已存储的联系人输入:4修改雨拓电话号码输入:5查询雨拓电话号码输入:6七、思考讨论题或体会或对改进实验的建议通过本次实验我能够基本掌握面向对象程序设计的基础知识,在对电话簿管理程序的编写过程中了解了面向对象程序设计的应用,也在上机实践和对程序调试的同时提高了自己解决问题的能力。

相关主题