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

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

Войти
Регистрация
Восстановить пароль
 
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
#1

Ошибка при вводе строки ! - C++

14.04.2012, 19:44. Просмотров 413. Ответов 3
Метки нет (Все метки)

Точнее не ошибка а не могу ввести строку(не вводится)! Подскажите в чём дело, заранее благодарен!
Вот код, функция void vvod(char **D)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <vcl.h>
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
 
/*Ïðîòîòèïû ГґГіГ*êöèé*/
     int menu(int kp, char*NAZ[]);
     void main(void);
     void vvod(char **st);
     void prosm(int n, char *st);
     void zadacha1(int n);
//     int zadacha2();
//     int zadacha3 (int n, int **A);
 
/*ÔóГ*êöèè*/
     int menu(int kp, char *NAZ[])
     {
     int k, i;
     clrscr();
     for (i=0; i<kp; i++)
     printf("\n %d %s", i+1, NAZ[i]);
     printf("\n\n Vuberite punkt -> ");
     scanf("%d",&k);
     return k;
     }
 
     void main(void)
     {
     char *st;
     int n;
//     int *A;
     int kol=5, nom;
     char*nazv[]={" Vvod", " Prosmotr",
     " Esli summa po moduly, elementov kagdogo posledyeyshchego slolbca\nmen'she pred'idyshchego, to ko vsem eleventam ctolbcov s nechetnymi\nnomerami indeksov dobavit' maksimal'nuy element, sredi elementov\nstoyshcih nad glavnoy dioganal`y ",
     " Nomer stroki, v kotoroy nahoditsy samay dlinnay ceriy odinakovyh\nelementov ",
     " Maksimum sredi summ elementov diagonale', parallel'nuh pobochnoy\ndiagonali",
     " Vuhod"};
     while(1)
     { nom=menu(kol, nazv);
     switch(nom)
       {
          case 1: vvod(&st); break;
          case 2: prosm(n, st);  break;
       //   case 3: zadacha1(n); break;
     //     case 4: break;
          //    case 5: break;
        case 6: return;
       }
    }
     }
/*Ââîä*/
     void vvod(char **D)
     {
        clrscr();
        char *st = new char [201];
        puts("Vvedite stroku :");
        gets(st);
        int *n = new int;
        *n = strlen(st);
        *D = st;    /*Г§Г*ГЇГЁГ±Гј Г*äðåñГ* âûäåëåГ*Г*îé ГЇГ*ìÿòè Гў ГіГЄГ*Г§Г*òåëü, Г*äðåñ êîòîðîãî
        Г*Г*õîäèòñÿ Гў ГіГЄГ*Г§Г*òåëå D*/
        getch();
     }
/*Ïðîñìîòð*/
     void  prosm(int n, char *st)
     {
      clrscr();
      printf("Ishonday stroka:\n");
      puts(st);
      getch();
     }
/*Г‡Г*Г¤Г*Г*ГЁГҐ В№1
     void zadacha1(int n)
     {
     printf("Ishonday stroka:\n");
     }*/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 19:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при вводе строки ! (C++):

Хэширование. Ошибка при вводе строки. - C++
Привет, друзья. Пишу лабу по хешированию, столкнулся с проблемой При вводе строки. При компиляции никаких ошибок нет, но вот когда ввожу...

Как сделать так, что бы длинна строки сама менялась при вводе строки? - C++
Есть такой код #include &quot;stdafx.h&quot; #include &quot;enter.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include...

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл? - C++
void mainmenu() { cout &lt;&lt; &quot;Введи число&quot; &lt;&lt; endl; cin &gt;&gt; choice; if (choice == 1) { cout &lt;&lt; &quot;Hello&quot; &lt;&lt; endl; } ...

Ошибка при вводе - C++
мне нужно записать числа с файла в список , подскажите что не так выводит последнее лишнее число не пойму откуда оно берется #include...

Ошибка при вводе числа - C++
Подозреваю, что где-то нужно обнулить переменную rows. Потому что (как показано на скрине) число &quot;45&quot; всегда состоит из первой цифры кол-ва...

Ошибка при вводе матрицы. - C++
Здравствуйте, сейчас пишу программу для проверки матрицы на латинский и магический квадрат, мне каждое действие нужно сделать отдельной...

3
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.04.2012, 19:50 #2
Цитата Сообщение от 001_alex Посмотреть сообщение
puts("Vvedite stroku :");
* * * * gets(st);
Тут ошибка.
Добавьте между ними getchar().
Хотя нет, не тут.
У меня все нормально вводиться, правда я поставил
C
1
2
#define clrscr();
#define getch();
Чтобы компилировалось.
Скорее всего, проблема в getch(), вы его где нужно и где не нужно понаставили.
1
n971030
150 / 97 / 1
Регистрация: 23.01.2010
Сообщений: 1,275
14.04.2012, 19:51 #3
Цитата Сообщение от 001_alex Посмотреть сообщение
Точнее не ;
}*/[/CPP]
я не уверн канечно ты посмотри на функцию getch она вроде должна принимать аргумент? а у тебя не принимает ничего така не уверен
1
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 20:12  [ТС] #4
Ещё раз огромное спасибо diagon, добавил getchar() после puts("Vvedite stroku :"); и всё заработало
0
14.04.2012, 20:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2012, 20:12
Привет! Вот еще темы с ответами:

Непонятная ошибка при вводе - C++
Дана символьная строка. Слово - последовательность символов между пробелами, не содержащая пробелы внутри себя. Определить количество слов...

Ошибка при вводе дерева - C++
В заданном непустом бинарном дереве найти длину (число ветвей) пути от корня до ближайшей вершины со значением, равным заданному....

При вводе строки выводить только цифры - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;iostream&quot; #include &quot;ctype.h&quot; using namespace std; void read(char *x) { int i...

Не прекращается ввод при вводе пустой строки - C++
Подскажите, пожалуйста, почему у меня не происходит прерывание цикла при вводе пустой строки вместо имени студента: #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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