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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 13:40   #1
Андрей!
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 45
Вопрос Классы, строки

Помогите пожалуйста найти ошибку:
Суть в том - что я учусь работать с классами и начал писать прогу для работы со строками, но столкнулся с проблемой. Код вроде написан правильно, но выдаёт ошибку

Вот код программы:

Код:
#include <stdio.h>
#include <conio.h>
#include <locale.h>

class Stroka
{
  private:
    void calc();
  public:
    void get();
	void print();
	char str[256];
    Stroka();
    ~Stroka();
}

Stroka::Stroka()
{}

void Stroka::get()
{
  printf("Введите строку символов:\n");
  scanf("%s", str);
}

void Stroka::print()
{
  printf("Введена строка:\n%s", str);   	 
};

int main()
{
  setlocale(LC_ALL,"Rus");
  Stroka m;
  m.get();
  m.print();
  getch();
  return 0;
}
Если поставить ";" в строке Stroka::Stroka(){}; - то всё ок компилится, но строка почему то выводится до пробела
Андрей! вне форума Ответить с цитированием
Старый 11.03.2012, 14:01   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
class Stroka
{
  private:
    void calc();
  public:
    void get();
	void print();
	char str[256];
    Stroka();
    ~Stroka();
};
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 11.03.2012, 14:11   #3
Андрей!
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Ezhuk Посмотреть сообщение
Код:
class Stroka
{
  private:
    void calc();
  public:
    void get();
	void print();
	char str[256];
    Stroka();
    ~Stroka();
};
подскажи пожалуйста что не так



вот код если что:

Код:
#include <stdio.h>
#include <conio.h>
#include <locale.h>

class Stroka
{
  private:
    void calc();
  public:
    void get();
	void print();
	char str[256];
    Stroka();
};

Stroka::Stroka()
{}

void Stroka::get()
{
  printf("Введите строку символов:\n");
  scanf("%s", str);
}

void Stroka::print()
{
  printf("Введена строка:\n%s", str);   	 
};

int main()
{
  setlocale(LC_ALL,"Rus");
  Stroka str;
  str.get();
  str.print();
  getch();
  return 0;
}
Андрей! вне форума Ответить с цитированием
Старый 11.03.2012, 14:17   #4
Андрей!
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 45
По умолчанию

А, вроде понял)
scanf на gets заменил, я дебил
Андрей! вне форума Ответить с цитированием
Старый 11.03.2012, 14:27   #5
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
#include <iostream>
#include <istream>

class Stroka
{

public:
    Stroka();
    void get();
    void print();
	
private:
    void calc();
    char str[256];
};

Stroka::Stroka()
{str[0]=0;}

void Stroka::get()
{
  printf("Введите строку символов:\n");
  std::cin.getline(str,256,'\n');

}

void Stroka::print()
{
  printf("Введена строка:\n%s", str);   	 
};

int main()
{
  setlocale(LC_ALL,"Rus");
  Stroka str;
  str.get();
  str.print();
  return 0;
}
Вот так получше выглядит =)
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 11.03.2012, 20:11   #6
Андрей!
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Ezhuk Посмотреть сообщение
Код:
#include <iostream>
#include <istream>

class Stroka
{

public:
    Stroka();
    void get();
    void print();
	
private:
    void calc();
    char str[256];
};

Stroka::Stroka()
{str[0]=0;}

void Stroka::get()
{
  printf("Введите строку символов:\n");
  std::cin.getline(str,256,'\n');

}

void Stroka::print()
{
  printf("Введена строка:\n%s", str);   	 
};

int main()
{
  setlocale(LC_ALL,"Rus");
  Stroka str;
  str.get();
  str.print();
  return 0;
}
Вот так получше выглядит =)
так больше мне мозг ломает))
Андрей! вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы... datileo Общие вопросы C/C++ 3 13.05.2011 20:38
Классы vladxxl Общие вопросы C/C++ 0 19.04.2011 17:24
Классы С++ и строки Inna_L Общие вопросы C/C++ 3 11.11.2010 12:44
Классы с++. ahab Помощь студентам 4 19.12.2009 12:43