Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
#1

C - do while - C++

29.10.2009, 21:13. Просмотров 858. Ответов 10
Метки нет (Все метки)

Всем привет.Необходимо выполнять цикл do while до тех пор,пока не введена строка.Как это реализовать на си ? Че ток ни переделал - не работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
29.10.2009, 21:22 #2
C
1
2
3
4
5
6
7
8
9
10
11
#define ENTER 13
char basicStr[MAX_LENGHT], ch;
        
    // ввод строки до нажатия клавиши Enter
    // в отличии от scanf не останавливается поле пробела
    printf("Enter basic string:" );
    while ((ch=getch())!=ENTER)
    {
        basicStr[i++]=ch;
        printf("%c",ch);
    }   basicStr[i]='\0';
0
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
29.10.2009, 22:10  [ТС] #3
Чего-то я не догнал.при чем здесь клавиша? Надо вырубать цикл при вводе строки например "sammy"
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,340
Завершенные тесты: 1
29.10.2009, 22:25 #4
Welemir,
C++
1
2
3
4
char a[256];
while(a==NULL){
cin>>a;
}
вроди так
0
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
29.10.2009, 22:31  [ТС] #5
1) Во-первых,мне С надо.а не С++.Тему читай.
2) Какой нафиг НУЛЛ ? Мне завершение программы нужно на КОНКРЕТНУЮ строку.

ЗЫ: А за попытку спасибо.
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,340
Завершенные тесты: 1
29.10.2009, 22:41 #6
Welemir, это как я понимаю нужно конкретное слово,так?..

Добавлено через 7 минут
Welemir, так пробовал?вроде не трудно или я не врубаю
C
1
2
3
4
char a[256];
while(a!="sammy"){
//тут scanf,я с этой функцией не знаком
}
1
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
29.10.2009, 22:57 #7
а теперь - правильный вариант

C++
1
2
char str[1000] = {0};
do { gets(str); } while (strcmp(str, "zzz"));
1
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
29.10.2009, 23:25  [ТС] #8
Кажись,терь понял,но почему тот вариант не работал епт? Ща проверю...

Добавлено через 24 секунды
гг,Медведь,этот-то вариант у меня и не работал)))И я е** почему.
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
30.10.2009, 05:49 #9
Цитата Сообщение от Welemir Посмотреть сообщение
Чего-то я не догнал.при чем здесь клавиша? Надо вырубать цикл при вводе строки например "sammy"
билин вводишь строку и нажимаешь энтер, как по твоему закончить ввод?
но можно конечно и gets
Rififi, короче, прав
0
blackswan
13 / 13 / 0
Регистрация: 08.07.2009
Сообщений: 61
30.10.2009, 10:29 #10
вот этот момент непонятен
Цитата Сообщение от Rififi Посмотреть сообщение
а теперь - правильный вариант
C++
1
strcmp(str, "zzz")
почему три "z"? ведь сработает сразу же... тогда зачем тут цикл?

Не по теме:

снова спрашиваю без отдельной темы, как сделать новый типы массив и матрицу (неопределенного размера) из элементов - указателей на структуру типа *matrix с помощью typedef

0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,340
Завершенные тесты: 1
30.10.2009, 14:29 #11
Цитата Сообщение от blackswan Посмотреть сообщение
снова спрашиваю без отдельной темы, как сделать новый типы массив и матрицу (неопределенного размера) из элементов - указателей на структуру типа *matrix с помощью typedef
на форуме не один раз обсуждались массивы и матрицы,поиск
0
30.10.2009, 14:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru