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

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

Восстановить пароль Регистрация
 
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 19:44     Ошибка при вводе строки ! #1
Точнее не ошибка а не могу ввести строку(не вводится)! Подскажите в чём дело, заранее благодарен!
Вот код, функция 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");
     }*/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 19:44     Ошибка при вводе строки !
Посмотрите здесь:

Ошибка при вводе даных в файл C++
C++ Ошибка при вводе
Хэширование. Ошибка при вводе строки. C++
Ошибка при вводе матрицы. C++
Ошибка при вводе элементов матрицы C++ Builder
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 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(), вы его где нужно и где не нужно понаставили.
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
14.04.2012, 19:51     Ошибка при вводе строки ! #3
Цитата Сообщение от 001_alex Посмотреть сообщение
Точнее не ;
}*/[/CPP]
я не уверн канечно ты посмотри на функцию getch она вроде должна принимать аргумент? а у тебя не принимает ничего така не уверен
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 20:12  [ТС]     Ошибка при вводе строки ! #4
Ещё раз огромное спасибо diagon, добавил getchar() после puts("Vvedite stroku :"); и всё заработало
Yandex
Объявления
14.04.2012, 20:12     Ошибка при вводе строки !
Ответ Создать тему
Опции темы

Текущее время: 04:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru