Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 6
1

Функция window() в Turbo C++

23.10.2016, 14:26. Показов 1967. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите, пожалуйста, со следующей проблемой.
Нужно создать меню, в котором можно выбрать функцию "ввод", где ввести массив, и функцию "Просмотр", где показаны элементы введённого массива. Суть в том, что меню должно быть в одном синем окне в левом верхнем углу экрана, а для ввода значений и просмотра должно быть красное окно в правом верхнем углу экрана.
Если я выбираю, к примеру, ввод, красное окно появляется. Но я ввожу лишь n (число элементов), а потом курсор переходит в левый верхний угол и уже значения элементов массива вводятся почему-то там. Если я нажимаю просмотр, красное окно появляется, но пишется всё опять не в нём, а в левом верхнем углу экрана. Что может быть не так?
Вот мой код:

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//прототипы функций
void main(void);
void vvod(int *n, int **A, int **B, int **C);
void prosm(int n, int *A);
 
void main(void)
 
{
  int n,p2,mf,flash,flash1;
  int i,mn;
  int k;
  float p1;
  int k1,r,z8;
  int min;
  int *A=0; int *B=0; int *C=0;
  int t;
  int ik=3,nom,pr,sum,z;
  char kod;
  char *nazv[]={"Vvod", "Prosmotr", "Exit"};
 
while (1)
{
  window(1,1,80,25);
  textbackground(GREEN);
  clrscr(); 
  window(1,1,22,22);
  textbackground(BLACK);
  clrscr();
  window(1,1,20,20);
  textbackground(BLUE);
  clrscr();
 
    textcolor(YELLOW);
    cprintf("\nMENU");
    kod=' ';
    k=0;
      while (kod!=13)
                          {
                           for (i=0;i<ik;i++)
                                                   {
                                                     if (i==k)
                                                                 {
                                                                  textbackground(GREEN);
                                                                  textcolor(BLACK);
                                                                 }
                                                     else
                                                                 {
                                                                 textbackground(BLUE);
                                                                 textcolor(WHITE);
                                                                 }
                                                     gotoxy(2,i+4);
                                                     cprintf("%s",nazv[i]);
                                                    }
                                 kod=getch();
                                 if (kod==0)
                                                {
                                                  switch(getch())
                                                {
                                                  case 72:
                                                  if (k>0)
                                                             {
                                                               k=k-1; break;
                                                             }
                                                  else k=ik-1;
                                                  case 80:
                                                  if (k<ik-1)
                                                             {
                                                  k=k+1; break;
                                                              }
                                                  else k=0;
                                                   }
                                                   }
                                                   }
 
 
                                      switch (k)
                                                   {
                                                    case 0:
                                                    window(50,1,80,10);
                                                    textbackground(RED);
                                                    clrscr();
                                                    vvod(&n,&A,&B,&C);
                                                    break;
 
                                                    case 1:
                                                    window(50,1,80,10);
                                                    textbackground(RED);
                                                    clrscr();
                                                    prosm(n,A); break;
 
                                                    case 2:
                                                    p2=zadacha1(A,n,i,&mf);
                                                    if (mf==0) printf("\nNULL!");
                                                    else
                                                    printf("\n%i",p2);
                                                    getch();
                                                    break;
 
                                                    case 3:  return;
}
}
}
 
void vvod(int *n,int **D, int **F, int **W)
{
  int i;
 
printf("Vvedi razmernost->");
scanf("%i",n);
int *A=new int[*n];
int *B=new int[*n];
int *C=new int[*n];
                        for(i=0;i<*n;i++)
                                                 {
                                                   printf("\nA[%i]=",i);
                                                   scanf("%i",&A[i]); B[i]=A[i]; C[i]=A[i];
                                                  }
                                             *D=A; *F=B; *W=C;
}
 
void prosm(int n, int*A)
{
 
     int i;
 
for(i=0;i<n;i++)
printf("\nA[%d]=%d",i,A[i]);
 
printf("\nIsh. Vektor\n");
for(i=0;i<n;i++)
printf("%i ",A[i]);
getch();
}
Добавлено через 26 минут
Я нашёл. При работе с окнами нужно вместо printf/scanf использовать cprintf/cscanf.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2016, 14:26
Ответы с готовыми решениями:

функция window
Добрый день , проблема с функцией window. Помогите исправить или подсказать может что то не...

window похожая функция
есть какая-то функция на visual studio типа window очень надо

JS функция window.open() в Сафари
Здравствуйте! У меня ест такой код: // Предаём данные php скрипту $.post ( &quot;test.php&quot;, ...

Window.addEventListener функция с параметрами
window.addEventListener('resize', function(l, t, rw, rh) { alert(l + '; ' + t + '; ' + rw + ';...

1
nmcf
23.10.2016, 15:07     Функция window() в Turbo C++
  #2

Не по теме:

Pearl Jam, такую древность уже никто не использует.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2016, 15:07

Почему после метода click перестает работать функция $(window).scroll(function(){.})
Здравствуйте! Почему после метода click(нажатие на ссылку) перестает работать функция ...

Вызов Window.ShowDialog() срабатывает как Window.Show(), т.е. я могу нажимать на другие окна
Здравствуйте, уважаемые форумчане. Столкнулся с проблемой. У меня есть окно, которое выполняет...

Функция для факториала в Turbo Basic
Здравствуйте! Хочу сразу сказать я не программист и вообще в компах ничего не шарю, я врач, в этом...

Ошибка - Процедура и функция (Turbo Pascal)
Ребят, сделал программу, видит ошибку, где не понятно, помогите!!! Unit Laba4; Interface ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru