Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2014, 20:05   #1
Yuliyasharashkina
 
Регистрация: 11.09.2014
Сообщений: 7
По умолчанию класс строка -число в восьмиричной системе счисления (С++)

• класс строка -число в восьмиричной системе счисления. Добавить числовое поле и методы перевода строки в число и назад;
• дополнить класс датой создания объекта.
Код:
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include <windows.h>
using namespace std;
//HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE);
class MyString
{
protected:
    char * string;
	int size;
public:
    MyString()						//конструктор По умолчанию.
    {
        size = 80;
        string = new char[size];	
    }
    MyString(char * string1)		//конструктор
    {
        string = string1;
		size = strlen(string);
    }
   
	void setString(char* str){		//ввод
		string = str;
		size = strlen(string);
	}
    void ShowMyString()				//вывод
    {
        cout<<"Строка: "<<string<<endl<<endl;
    }
	int getSize()					//возвращение размера массива
	{
		return size;
	}

	bool mysubstr(char *sub, int sizeStr, int sizeSubstr, bool &cond)
	{
		int index, count;int j, k;
		for(int i=0; i<sizeStr-sizeSubstr; i++)			//кол-во возможных подстрок,которые совпадают
		{
			count=0;
			index=i; 
			j=i,k=0;
			while (j<i+sizeSubstr&&cond)
			{	
				if(string[index]==sub[k]&&count<sizeSubstr)				//если элемент присутствует
				{
					++index;											//и будет проверять след. элемент
					count++;											//если подстрока целиком найдется не проверять.
					if(count==sizeSubstr)cond=false;
				}	
				k++; j++;						
			}
		}
		return cond;
	}

    ~MyString()
    {
        delete [] string;
    }
};
class OctaString:public MyString{
	int num;
 public: 
	OctaString()						//конструктор По умолчанию.
    {
        size = 80;
        string = new char[size];	
    }
    OctaString(char * string1)		//конструктор
    {
        string = string1;
		size = strlen(string);
    }
	void strToNum()

	{
		num=atoi(string);
	}
	void numToStr()
	{
		string = (char*)"" + num;
	}


}
int main()
{
 
setlocale(LC_ALL, "rus");

 cout<<"Введите строку: ";
 char* s;
 cin>> s;
 OctaString string(s);
 string.strToNum();
 cout«"Перевод строки в число и инкремент: ";
string.strToNum();
cout « string.setNum(++string.getNum());

 _getch();
 return 0;
}

Последний раз редактировалось Stilet; 10.12.2014 в 20:12.
Yuliyasharashkina вне форума Ответить с цитированием
Старый 10.12.2014, 22:38   #2
Jurijus123
Заблокирован
 
Регистрация: 12.11.2014
Сообщений: 120
По умолчанию

во первых точку с запитой непоставели, вовторых вторая ошибка данные неивляються членом OctaString.
Код:
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include <windows.h>
using namespace std;
//HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE);
class MyString
{
protected:
    char * string;
	int size;
public:
    MyString()						//??????????? ?? ?????????.
    {
        size = 80;
        string = new char[size];	
    }
    MyString(char * string1)		//???????????
    {
        string = string1;
		size = strlen(string);
    }
   
	void setString(char* str){		//????
		string = str;
		size = strlen(string);
	}
    void ShowMyString()				//?????
    {
        cout<<"??????: "<<string<<endl<<endl;
    }
	int getSize()					//??????????? ??????? ???????
	{
		return size;
	}

	bool mysubstr(char *sub, int sizeStr, int sizeSubstr, bool &cond)
	{
		int index, count;int j, k;
		for(int i=0; i<sizeStr-sizeSubstr; i++)			//???-?? ????????? ????????,??????? ?????????
		{
			count=0;
			index=i; 
			j=i,k=0;
			while (j<i+sizeSubstr&&cond)
			{	
				if(string[index]==sub[k]&&count<sizeSubstr)				//???? ??????? ????????????
				{
					++index;											//? ????? ????????? ????. ???????
					count++;											//???? ????????? ??????? ???????? ?? ?????????.
					if(count==sizeSubstr)cond=false;
				}	
				k++; j++;						
			}
		}
		return cond;
	}

    ~MyString()
    {
        delete [] string;
    }
};
class OctaString:public MyString{
	int num;
 public: 
	OctaString()						//??????????? ?? ?????????.
    {
        size = 80;
        string = new char[size];	
    }
    OctaString(char * string1)		//???????????
    {
        string = string1;
		size = strlen(string);
    }
	void strToNum()

	{
		num=atoi(string);
	}
	void numToStr()
	{
		string = (char*)"" + num;
	}


};
int main()
{
 
setlocale(LC_ALL, "rus");

 cout<<"??????? ??????: ";
 char* s;
 cin>> s;
 OctaString string(s);
 string.strToNum();
 cout<<"??????? ?????? ? ????? ? ?????????: ";
string.strToNum();
cout << string.setNum(++string.getNum());

//error C2039: 'setNum' : is not a member of 'OctaString'
// error C2039: 'getNum' : is not a member of 'OctaString'


 getch();
 return 0;
}
Jurijus123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] ИЗ четырнадцатеричной системе счисления в десятеричной системе счисления Safok Помощь студентам 1 17.11.2014 22:41
Задача. Сегмент данных и вывод в строку в восьмиричной системе. AlekseiGans Помощь студентам 9 20.10.2011 13:22
Ввести число типа unsigned long. Распечатать в десятичной, двоичной и шестнадцатеричной системе счисления gas777 Общие вопросы C/C++ 5 03.06.2011 09:19
"Число в p-ичной системе счисления. Перевести число в q-ичную систему" и не только :) Zinder Паскаль, Turbo Pascal, PascalABC.NET 4 10.04.2010 14:20
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа isus Помощь студентам 2 29.11.2009 23:32