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

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

Войти
Регистрация
Восстановить пароль
 
TheWonderer
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 8
#1

Программа слетает - C++

06.11.2013, 22:24. Просмотров 292. Ответов 7
Метки нет (Все метки)

Здравствуйте, взял код из книги, но при выполнении программа слетает после вода слова и нажатия Enter

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <cstring>
using namespace std;
 
   char *keyword[4][2] = {
  "for", "for(init; cond; inc)",
  "if", "if(cond) ... else ...",
  "switch", "switch(var) { case-list }",
  "while", "while(cond) ..." };
  
  int main()
  {
    char str[80];
    int i;
    
    cout << "Enter keyword: ";
    cin >> str;
    
    for(i=0; *keyword[i][0]; i++)
     {
       if(!strcmp(keyword[i][0], str))
         cout << keyword[i][1] << endl;
     }
     
     return 0;
  }
не могу понять что не так...?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2013, 22:24     Программа слетает
Посмотрите здесь:

Слетает прога при присваивании разименованованному указателю - C++
Помогите плз! Не могу присвоить значение элементу строки; #include &lt;iostream&gt; using namespace std; main() { char* s1 =...

Программа слетает с ошибкой .Access violation At ... Address - C++ Builder
Доброе время суток. Народ, нужна небольшая консультация. Я на С++ Builder только начинаю писать. Суть вопроса Есть форма. На...

Слетает активация - Windows 8, 8.1
Добрый день. Дано: ПК с Win 8.1 Профессиональная (коробочная версия). Домен: Win 2003. Проблема: после ввода в домен слетает...

Слетает кодировка - Python
Только осваиваю питон и pyqt # -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui class MyWindow(QtGui.QWidget): def...

Слетает wi-fi адаптер - Windows 7
Добрый всем. Решил поставить семерку на ноут, да так, чтобы не просто стояла, а еще в интернет через wi-fi выходила. Поставил ОС,...

Sidebar слетает - HTML, CSS
Всем привет, уже мозг кипит. Дело в том когда добавляю новую новость, справа слетает в самый низ sidebar. Хотя должен оставаться на...

Слетает кодировка - PHP БД
Здравствуйте. У меня возникла стандартная проблема с кодировкой. Так вот, заливаю сайт на хост, временно всё работает, я ничего не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Водяной Змей
Заблокирован
06.11.2013, 22:36     Программа слетает #2
Консоль всегда автоматически закрывается, если не добавить ожидание ввода или нажатия клавиши.

Включите в проект заголовочный файл conio и перед return вызывайте getch() или _getch().
TheWonderer
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 8
06.11.2013, 22:46  [ТС]     Программа слетает #3
не в этом дело, а вот вчем после запуска появляется запрос "ввести слово" я к примеру вел for потом отображается справка и программа вылетает (выдает ошибку) http://www.cyberforum.ru/attachment....1&d=1383763522
Миниатюры
Программа слетает  
Водяной Змей
Заблокирован
06.11.2013, 23:34     Программа слетает #4
Что за странное условие цикла - *keyword[i][0]?
Я так понял, Вам надо, чтобы цикл повторился 4 раза. А это i<4 и всё.
nord_v
227 / 176 / 69
Регистрация: 22.08.2013
Сообщений: 724
07.11.2013, 05:39     Программа слетает #5
Что должна делать программа? Что за массив?:
C++
1
2
3
4
5
char *keyword[4][2] = {
  "for", "for(init; cond; inc)",
  "if", "if(cond) ... else ...",
  "switch", "switch(var) { case-list }",
  "while", "while(cond) ..." };
fridi
-8 / 40 / 1
Регистрация: 21.09.2009
Сообщений: 145
07.11.2013, 07:26     Программа слетает #6
C++ (Qt)
1
2
3
4
5
6
7
   for(i=0;  i < sizeof(keyword)/sizeof(keyword[0]); i++)
     {
       if(!strcmp(keyword[i][0], str))
         cout << keyword[i][1] << endl;
     }
     
    getch();
Max Dark
шКодер самоучка
1813 / 1614 / 588
Регистрация: 09.10.2013
Сообщений: 3,618
Записей в блоге: 6
Завершенные тесты: 2
07.11.2013, 07:40     Программа слетает #7
C++
1
2
3
4
5
6
  const char **keyword[2] = {
  { "for", "for(init; cond; inc)" },
  { "if", "if(cond) ... else ..." },
  {"switch", "switch(var) { case-list }" },
  {"while", "while(cond) ..."},
  { NULL, NULL} };
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2013, 09:17     Программа слетает
Еще ссылки по теме:

Регулярно слетает ОС - Носители информации
Установил я Windows 7 на Western Digital Green 1Tb Установил программ, драйверов перезагружался всё работало отлично Выключил на ночь...

слетает TF флаг - Assembler
win 7, система x64, приложение x32 написал дебагер который ставит бряк и затем включает TF флаг и начинает трассировку трассирует...

Слетает Винда - Windows 7
Ко мне обратился клиент,с просьбой переустановить систему.При запуске вылазила просьба о восстановлении системы,при этом запуская его...

Слетает BIOS - BIOS
Доброго времени суток. Возникла проблема с BIOS. Играл в игру Grid 2 и через 2ч слетел биос. Системник работает, все кулеры крутятся, но...

Слетает установка - Oracle
Пытаюсь поставить Oracle 11g r2 на windows 7 x64. Перед пунктом Typical installation окно просто закрывается без всяких вопросов. В чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
TheWonderer
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 8
07.11.2013, 09:17  [ТС]     Программа слетает #8
Понял свою ошибку, забыл до бавить нулевую строку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cstring>
#include <conio.h>
using namespace std;
 
   char *keyword[][2] = {
  "for", "for(init; cond; inc)",
  "if", "if(cond) ... else ...",
  "switch", "switch(var) { case-list }",
  "while", "while(cond) ...",
  "", "" }; // нулевая строка
  
  int main()
  {
    char str[80];
    int i;
    
    cout << "Enter keyword: ";
    cin >> str;
    
    for(i=0; *keyword[i][0]; i++) // *keyword[i][0] - проверяет на нулевое значение.
     {
       if(!strcmp(keyword[i][0], str))
         cout << keyword[i][1] << endl;
     }
     getch();
     return 0;
  }
Всем спасибо.
Yandex
Объявления
07.11.2013, 09:17     Программа слетает
Ответ Создать тему
Опции темы

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