广州大学学生实验报告
开课学院及实验室:计算机科学与工程实验室 2012 年 5月 30 日学院 实验课程名称 实验项目名称 计算机科学与教育软件学院 年级/专业/班 11级6班 姓名 殷志峰 学号 成绩 指导老师 1106100215 面向对象程序设计 综合应用程序一
一、实验目的
本实验是对前面所学知识的总结,通过一个比较完整的应用程序的设计,将学过的知识连贯起来,掌握开发一个实际应用程序的步骤,同时学会使用开发工具实现界面友好的应用程序。并通过本实验,掌握如何运用面向对象技术对具体的应用系统进行分析和设计。
二、实验设备
1、硬件环境:微型计算机,2、软件环境:Visual C++ 6.0; 三、实验原理
利用Visual C++ 6.0开发环境,对实验所要求的程序设计项目,编辑C语言源程序并形成 .cpp 源代码文件,再编译.cpp 文件形成 .boj 目标代码文件,经过.boj文件与系统标准代码的连接形成 .exe 可执行代码文件,运行.exe文件以得到实验所期望的结果。 四、实验步骤
1. 打开PC机并启动Windows XP操作系统(利用实验设备) 2. 开启Visual C++ 6.0集成开发系统(形成软件开发环境) 3. 程序设计(按要求可先设计算法并给出流程图) 4. 编辑(生成 .cpp源程序文件)
5. 编译(调试并生成 .boj 目标文件) 6. 连接(调试并生成 .exe 可执行文件) 7. 运行(调试并得到预期的程序执行结果) 8. 按实验要求分析实验结果
五、实验要求
1、理解面向对象的特性
2、掌握面向对象程序设计的开发方法 3、有一定的分析问题和解决问题的能力
4、根据学过的知识点,充分利用已有的开发工具和素材,使程序编写具有更高的效率,能真正地解决实际问题。
六、实验程序
实验代码:#include #include using namespace std; int i = 0;class tong { public: tong(){}; void set(char*a,char*b,char*c,char*d); void show()const; friend void modi(); friend void shanchu(); tong operator=(tong&);
private: char name[10],home[10],tel[15],rela[10]; }p[100];
tong tong::operator=(tong& xxx) { strcpy(name,xxx.name); strcpy(home,xxx.home); strcpy(tel,xxx.tel); strcpy(rela,xxx.rela); return *this; }
void tong::show()const { cout<<\"姓名:\"<void tong::set(char *a,char*b,char*c,char*d) { strcpy(name,a); strcpy(home,b); strcpy(tel,c); strcpy(rela,d); } void add() { char s[10],a[10],w[15],b[10]; cout<<\"请输入姓名:\"; cin>>s; cout<<\" 请输入家庭住址:\"; cin>>a; cout<<\" 请输入联系电话:\"; cin>>w; cout<<\" 请输入关系:\"; cin>>b; p[i].set(s,a,w,b); i++; }
void look() { for(int j=0;jvoid modi() { char nam[20],a[10],w[15],b[10]; cout<<\"请输入要修改人的名字\"<>nam; cout<<\"请重新输入修改信息\"<>a; cin>>w; cin>>b; for(int j=0;jvoid shanchu() { char nam[20]; cout<<\"请输入要删除联系人的名字\"<>nam; for(int j=0;j} } i--; break; } }int main() { char s[20],a[20],w[20],b[20],nam[20]; int j,k,n,m;
cout << \"******************************************************************\" << endl; cout << \"******************欢迎访问通讯录请输入操作************************\" << endl; cout << \"修改联系人信息2\" << endl; cout << \"删除联系人信息1\" << endl; cout << \"添加联系人信息0\" << endl;
cout << \"查看联系人信息3\" << endl; cout << \"退出通讯录4\" << endl; cout<<\"请输入功能:\"<while(cin>>n) {switch(n) {
case 0:add();break; case 1:shanchu();break; case 2:modi();break; case 3:look();break;} if(n==4)break; }
return 0; }
实验结果:
实验分析:本次实验使我能够重新复习到了前面的知识。对类的创建,继承,以及重载赋值运算符有更深层次的理解,利用这些来设计一个小型通讯录。来实现对信息的创建、删除、修改、查看等操作。 六、实验总结:
本次实验是前几次实验的一个总结实验,需要对所学内容充分的掌握才能完成好本次实验。特别是对类结构的掌握需要熟悉。通过对一个通讯类的构造和一些简单的继承、重载使得我能够轻松实现一个简单的通讯录,但是要实现更多的功能就要更进一步的去构造。总之,本次实验是对前面所学知识的一个系统巩固。能够帮助理解面向对象的特性,掌握面向对象程序设计的开发方法
******************************************************************************************************************************************************
************************************************************