您的位置:首页 > 其它

项目实训--把结构体类型改成类类型

2012-08-21 16:08 204 查看
/* (程序头部注释开始)

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:把结构体类型改成类类型

* 作 者: 雷恒鑫

* 完成日期: 2012 年 08 月 21 日

* 版 本 号: V1.0

* 对任务及求解方法的描述部分

* 输入描述:

* 问题描述:

* 程序输出:

* 程序头部的注释结束

*/

下面是结构体类型:
struct record
{
 int accNumber;//账号
 char accName[9];//户名
 char accPWD[7];//密码
 double balance;//余额
 char flag[2];//销户标志
};


改成结构体类型为:
class Record
{
private:
	int number;
	string userName;
	string passWord;
	double balance;
	int flag;
public:
	Record();
	void set_number(int number);
	void set_userName(string userName);
	void set_passWord(string passWord);
	void set_balance(double balance);
	void set_flag(int flag);
	int get_number();
	string get_userName();
	string get_passWord();
	double get_balance();
	int get_flag();
	void display_Record();
};


下面是源程序的完整代码:

Record.h
#ifndef HEADER_RECORD
#define HEADER_RECORD
#include <string>
using namespace std;

class Record { private: int number; string userName; string passWord; double balance; int flag; public: Record(); void set_number(int number); void set_userName(string userName); void set_passWord(string passWord); void set_balance(double balance); void set_flag(int flag); int get_number(); string get_userName(); string get_passWord(); double get_balance(); int get_flag(); void display_Record(); };
# endif


Record.cpp
#include "Record.h"
#include <iostream>

using namespace std;

Record::Record()
{
	this->number=0;
	this->userName="";
	this->passWord="";
	this->balance=0;
	this->flag=-1;
}

void Record::set_number(int number)
{
	this->number=number;
}

void Record::set_userName(string userName)
{
	this->userName=userName;
}

void Record::set_passWord(string passWord)
{
	this->passWord=passWord;
}

void Record::set_balance(double balance)
{
	this->balance=balance;
}

void Record::set_flag(int flag)
{
	this->flag=flag;
}

int Record::get_number()
{
	return this->number;
}

string Record::get_userName()
{
	return this->userName;
}

string Record::get_passWord()
{
	return this->passWord;
}

double Record::get_balance()
{
	return this->balance;
}

int Record::get_flag()
{
	return this->flag;
}

void Record::display_Record()
{
	cout<<"Print Record Elements..."<<endl;
	cout<<"Number:"<<endl;
	cout<<"UserName:"<<this->userName<<endl;
	cout<<"PassWord:"<<this->passWord<<endl;
	cout<<"Balance:"<<this->balance<<endl;
	cout<<"Flag:"<<this->flag<<endl;
	cout<<"End of Record..."<<endl;
}


TestRecord.cpp
#include "Record.h"

int main()
{
	Record *record= new Record();
	record->display_Record();
	record->set_number(10001);
	record->set_userName("zhangsan");
	record->set_passWord("123456");
	record->set_balance(10000);
	record->set_flag(1);
	record->display_Record();
	return 0;
}


运行结果:





经验积累:

1.老师问“#ifndef HEADER_RECORD”的意思是什么?我查了一下,意思是这样的:

#ifndef 是if not define的简写;

#ifndef HEADER_RECORD        //先测试HEADER_RECORD是否被宏定义过。

#define HEADER_RECORD 

程序段1                                        //如果HEADER_RECORD没有被宏定义过,定义HEADER_RECORD,并编译程序段1

#endif      

程序段2                                       // 如果HEADER_RECORD已经定义过了则编译程序段2的语句,“忽视”程序段1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: