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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2010, 19:40   #21
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2ozo
не логичнее делать проверку на key == "end" в самом начале бесконечного цикла, после ввода key? + буст тут не нужен
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 27.09.2010, 20:32   #22
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Цитата:
try{
int digit = boost::lexical_cast< int >( key );
}catch( boost::bad_lexical_cast ){
wasDigit = 0;
}
я вот тут вообще повис : )

Цитата:
int d=0;

while ((d==0) || (d==3))
{
cout<<d<<endl;
cin>>d;
}
будет работать пока d будет равен 0 или 3

Цитата:
int d=0;
int g=0;
while ((d==0) && (g==3))
{
cout<<d<<" "<<g;
cin>>d>>g;
}
будет работать пока d=0 и g=3
проще говоря_логическое И___будет &&
_____________логическое ИЛИ будет ||
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось Stilet; 28.09.2010 в 07:40.
kaljan775 вне форума Ответить с цитированием
Старый 27.09.2010, 20:58   #23
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

товарищ ололо... учите матчасть(синтаксис языка короче)!
Код:
 while((x=cin.get())x!=end)
   {
      cin>>x;
   }
а вообще надо так:
Код:
 
while(strcmp(x=cin.get(), "end") != 0)  // я не знаю какого типа end, но предполагаю что char*
{
      cin>>x;
}
// и вобще тут {} ненужно, так как одно выражение в цикле:
while(strcmp(x=cin.get(), "end") != 0) cin >> x;

Последний раз редактировалось NiCola999; 27.09.2010 в 21:00.
NiCola999 вне форума Ответить с цитированием
Старый 27.09.2010, 21:13   #24
ололошенько
Заблокирован
 
Регистрация: 10.08.2010
Сообщений: 566
По умолчанию

[BCC32 Error] 2.cpp(12): E2094 'operator>>' not implemented in type 'istream' for arguments of type 'string'
[BCC32 Error] 2.cpp(14): E2094 'operator!=' not implemented in type 'string' for arguments of type 'const char *'
[BCC32 Error] 2.cpp(15): E2378 Do-while statement missing ;

3 ошибки копировал,так как сам толком не пойму что они значат пока...
почему цыкл while начинаеться после блока do непойму,чё за string обясните вконце концов и почему у тебя end в кавычках а не в ' '???

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
товарищ ололо... учите матчасть(синтаксис языка короче)!
Код:
 while((x=cin.get())x!=end)
   {
      cin>>x;
   }
а вообще надо так:
Код:
 
while(strcmp(x=cin.get(), "end") != 0)  // я не знаю какого типа end, но предполагаю что char*
{
      cin>>x;
}
// и вобще тут {} ненужно, так как одно выражение в цикле:
while(strcmp(x=cin.get(), "end") != 0) cin >> x;
блин,как то же я делал таким способом которым написал это точно,то что блок там не нужен я и так знаю но он и не мешает,просто удобнее с ним,З.Ы. учу програмирование токо пол месяца так что не нада плз нагружаться меня всякими терминами в ожидании что я пойму что вы написали...

З.Ы. ещё рас
твой способ работает,токо если убрать strcmp и кавычки на end заменить ' ' и к томуже цыкл не останавливаеться не на end не на 0

Последний раз редактировалось Stilet; 28.09.2010 в 07:41.
ололошенько вне форума Ответить с цитированием
Старый 27.09.2010, 21:22   #25
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Вы пишете ерунду! изучайте синтаксис и стандартные функции языка.

Последний раз редактировалось NiCola999; 27.09.2010 в 21:26.
NiCola999 вне форума Ответить с цитированием
Старый 27.09.2010, 21:27   #26
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

насколько я знаю в с++ нет строк (string), есть символы(char). однако в msdn есть что-то про string

Цитата:
#include <string>
#include <iostream>

void main()
{
string ist;
cout<<"введите строку символов";
cin>> ist;
cout<<ist;

system("pause");
}
а вот со while (думаю что кривовато но для примера пойдет)

Цитата:
#include <iostream>
#include <string>

void main()
{
string s="";

while (s!="end")
{
cout<<s<<endl;
cin>>s;
}

system("pause");
}
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 27.09.2010 в 21:33. Причина: :D
kaljan775 вне форума Ответить с цитированием
Старый 27.09.2010, 21:35   #27
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

в стандартной библиотеке STD С++ есть тип string
Код:
#include <iostream>
using namespace std; // пространство std

int main(){
     string str = "ololo";
     cout << str << endl;
     return 0;
}
NiCola999 вне форума Ответить с цитированием
Старый 27.09.2010, 21:38   #28
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

выдает ошибку, не хватает

Цитата:
#include <string>
у меня visual studio 2010
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 27.09.2010, 21:46   #29
ололошенько
Заблокирован
 
Регистрация: 10.08.2010
Сообщений: 566
По умолчанию

зачем перед main писать войд?
ололошенько вне форума Ответить с цитированием
Старый 27.09.2010, 21:48   #30
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2ozo
не логичнее делать проверку на key == "end" в самом начале бесконечного цикла, после ввода key? + буст тут не нужен
Это я намекнул товарищу, что можно сделать и поизврощенней, всегда можно, а :
Код:
do{
  std::cin >> str;
while( str != "end" );
Вполне хорошо оО
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прерывание в Си Misha_M. Помощь студентам 2 04.02.2010 20:11
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
6 прерывание ленусик Помощь студентам 5 30.05.2008 16:57
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10