Показать сообщение отдельно

  #5  
Старый 08.04.2008, 23:32
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме:
233095

Репутация: 21
Отправить сообщение для horlyk с помощью ICQ
По умолчанию

Цитата:
Сообщение от Forcer  
так и происходит
По идее должно происходить, а ты запусти на выполнение этот код и пройдись хоть 2 раза по самой проге с вводом единички - очень удивишься. Ну боян - бояном, почему в первый раз оно работает нормально, а во второй, когда вводишь 1 оно просто "пропускает" ввод символов, автоматически ставля 0 в количестве символов и задавая вопрос о том что нужно делать - выйти или не выйти? ппц, такой боян происходит с puts, а с cin работает нормально, но не так как этого хочется(если одно слово вводишь - нормально, а если 2 или более там уже дурдом творится а также если символ какойто, да и к тому же пробелы не считает). Меня puts устраивает, но почему оно пропускает его после повтора?
Кто поможет, тому сразу +10)

Вот мой код после миллиона вариантов:
#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;

int i = 1;
int kol;

int main()
{
char ws[256];
char wwod[] = "введите слово, предложение или еще чтото";
char res[] = "то что вы ввели содержит такое колличество символов: ";
char quit[] = "если вы хотите выйти - введите любое число, а если повторить - введите 1";

CharToOem(wwod,wwod);
CharToOem(res,res);
CharToOem(quit,quit);

while (i==1) {

puts(wwod);
gets (ws);
kol = strlen(ws);
cout << res << kol << endl;
puts(quit);
cin >> i;

if(i != 1)
{

exit(1);
};

}
return 0;
}

Последний раз редактировалось horlyk; 08.04.2008 в 23:43..
 
Ответить с цитированием