标签‘C++’

魔方花样谜解,C++程序编写

1、创建魔方类。

2、类内定义公式结构体Formula,成员有公式编号、所属层及转动公式。
公式是这样来组织的,比如:ahdhda 对应的公式为ahd-h--d--a-
或简化为: ahd-hda- ,你也可以采用其他的方式来组织你的数据结构。

3、魔方类的构造函数要能够根据formula.txt文件中的公式个数动态分配指定的内存空间并将公式信息读入到分配的内存中,析构函数要在销毁对象时释放该动态分配的内存空间。

4、编写如下成员函数,显示帮助信息,当参数为0时,使用文件操作读取文件help.txt的内容并显示帮助;当参数为1、2、3时,可使用函数system()分别直接显示help1.html、help2.html、help3.html文件的内容,注意要包含头文件<stdlib.h>。如:system("help2.html");
void Help(int layer=0);

5、编写如下成员函数,返回已提供的某层的公式个数,参数取值1、2、3,当为0时表示所有层的公式个数。
int getFormulaNumbers(int layer=0);

6、编写如下成员函数,返回给定公式编号的转动式,若参数为0,返回所有公式的详细信息字符串。
char *getFormula(int number=0);

7、编写如下成员函数,返回魔方向左右上下转动后的新的转动式。

原面 b h a p d g
左转 b h g d a p
右转 b h d g p a
上转 a p h b d g
下转 p a b h d g

假设:左转:1 右转:2 上转:3 下转:4,则:
Rotate(8,"113")表示将公式8在“魔方向左转180度,向上90度”后的新的转动式。
char *Rotate(char *formula,int direction);  //函数将直接对原字符串进行修改
char *Rotate(char *formula,char* direction); //函数将直接对原字符串进行修改
char *Rotate(int number,int direction);   // 要避免破坏原转动式
char *Rotate(int number,char* direction);  // 要避免破坏原转动式

8、编写如下成员函数,返回所给公式的逆转式
char *Reverse(int number);  // 要避免破坏原转动式
char *Reverse(char *formula);// 将直接对原字符串进行修改,要有足够空间存放新的转动式

9、编写主程序,对所写魔方类进行测试,测试数据要合理完善,测试结果正确。

程序的样子看起来大致如下:

#include<iostream.h>
#include<string.h>
#include<strstrea.h>
#include<fstream.h>
#include<stdlib.h>
// 仅是参考的类原型
class mf
{
private:
char buff[500];               // 内部使用的字符数组空间
struct Formula               // 魔方类内部使用的结构体
{
int number,layer;            // 公式编号、公式所属层号
char formula[50];            // 存放具体的格式化的公式
};
Formula *p;                 // 指向转动公式数组的指针
public:
void Help(int layer=0);           // 显示指定层的转动帮助信息
int getFormulaNumbers(int layer=0);     // 返回已某层的公式个数
char *getFormula(int number=0);       // 根据公式编号返回转动式
char *Rotate(char *formula,int direction); // 所给公式在指定转动方向下的新的转动式
char *Rotate(char *formula,char* direction);// 所给公式在指定转动方向下的新的转动式
char *Rotate(int number,int direction);   // 根据公式编号及转动方向返回新的转动式
char *Rotate(int number,char* direction);  // 根据公式编号及转动方向返回新的转动式
char *Reverse(int number);         // 根据公式编号返回其相反的转动式
char *Reverse(char *formula);        // 返回所给公式相反的转动式
mf(char* file="formula.txt");        // 从文件中读取信息构造对象
~mf();                   // 析构函数
};

void main()
{
}

 

C++简单测试题共享

C++主要教学内容
章节    教学内容
1       面向对象及C++语言概述
2       C++表达式
3       程序结构
4       数组
5       指针
6       函数
7       类与对象
8       基类与派生类
9       多态性
10      流与文件

考试题型及分值
1、选择      15 * 2  共 30 分
2、填空      15 * 2  共 30 分
3、分析理解   4 * 4  共 16 分 查看更多...

简单程序上机运行及用户交互

1、利用Visual C++集成开发环境进行简单程序设计

启动 Microsoft Visual C++ 6.0 ,此时编辑区是空白的,接着可进行下面的操作:

①创建C++项目

通过文件(File)菜单的新建(New...)命令,出现下面的对话框,可用来创建一项目。此例中项目名为 Hello

②创建C++源程序文件

③输入源程序并运行

④查看生成的项目文件

⑤对项目重新编辑的方法

2、利用C++的流对象进行输入和输出

程序和用户进行交互很重要,此处进行简单的交互,对大家今后的学习很有帮助。首先看 查看更多...

C++语言概述

1、C++语言的起源
1980年由美国贝尔实验室Bjarne Stroustrup博士在C语言的基础上开发出来的,称为“带类的C”。
2、C++语言的特点
高效、灵活、面向对象
3、基本符号集
词法单元:标识符、关键字、常量、运算符、分隔符
4、标识符
用于变量名、函数名、常量名、类型名、对象名、语句标号等。命名规则如下:
①以英文字母或下划线开头,由字母、数字及下划线组成,汉字不能作为标识符的一部分
②识别大小写
③标识符长度是任意的,但有的编译系统仅识别前32个字符
④标识符不能和系统保留字相同
⑤起一个有意义的名字, 查看更多...