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

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

Войти
Регистрация
Восстановить пароль
 
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Drawing operation was attemted when there was no current window - C++

17.05.2014, 21:49. Просмотров 499. Ответов 2
Метки нет (Все метки)

Написал программу, которая строит один из трех графиков по выбору пользователя (1, 2 или 3). Если пользователь выбирает номер графика, не предусмотренного в программе (например нажимает цифру 4), то на экране появляется сообщение, предупреждающее его о том, что нужно выбрать одно из трех чисел 1, 2 или 3. Но при этом на экране так же появляется ошибка "Drawing operation was attemted when there was no current window".
Пытался поставить getch() и return, но не помогает.
Ниже представлен код программы:
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
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#include <locale>
const int X0=400;
const int Y0=400;
const float xmin=-10;
const float xmax=10;
int main()
{
setlocale(LC_ALL,"Russian");
float b,xmin=-10,xmax=10,h=0.001,a,x,y,c;
int l;
printf("Âûáåðèòå ГЈГ°Г*ГґГЁГЄ\n 1) y=a*x*x*x+b*x+c\n 2) y=a*cos(x+b)+c\n 3) y=a*log(fabs(x+b))+c;\n");
scanf("%d",&l);
if(l==1)
{
printf ("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ a=");
scanf("%f",&a);
printf ("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ b=");
scanf("%f",&b);
printf("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ c=");
scanf("%f", &c);
initwindow(800,800);
line (X0,0,X0,799);
line (0,Y0,799,Y0);
 
for (x=xmin;x<=xmax;x+=h)
{
  y=a*x*x*x+b*x+c;
 
 putpixel(x+X0,-y+Y0, 3);
 
}
}
else
if(l==2)
{
   printf ("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ a=");
scanf("%f",&a);
printf ("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ b=");
scanf("%f",&b);
printf("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ c=");
scanf("%f", &c);
initwindow(800,800);
line (X0,0,X0,799);
line (0,Y0,799,Y0);
 
for (x=xmin;x<=xmax;x+=h)
{
  y=a*cos(x+b)+c;
 
 putpixel(x+X0,-y+Y0, 4);
 
} }
else
if(l==3)
{
   printf ("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ a=");
scanf("%f",&a);
printf ("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ b=");
scanf("%f",&b);
printf("Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ c=");
scanf("%f", &c);
initwindow(800,800);
line (X0,0,X0,799);
line (0,Y0,799,Y0);
 
for (x=xmin;x<=xmax;x+=h)
{
  y=a*log(fabs(x+b))+c;
 
 putpixel(x+X0,-y+Y0, 5);
 
} }
else
if((l!=1)&&(l!=2)&&(l!=3))
{printf("Íåîáõîäèìî âûáðГ*ГІГј ГЈГ°Г*ГґГЁГЄ 1, ГЈГ°Г*ГґГЁГЄ 2 èëè ГЈГ°Г*ГґГЁГЄ 3");}
closegraph();
getch();
return 1;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 21:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Drawing operation was attemted when there was no current window (C++):

Drawing operation was attempted when there was no current window. Что за ошибка? - C++
Пытаюсь запустить програмку из конспекта, который дали для изучения материала, а она не хочет запускаться, выдает сообщение &quot;Drawing...

Ошибка "Drawing operation was attempted when there was no current window" - C++
Значит код игры пятнашки.Запускаю и выдает такую ошибку &quot;Drawing operation was attempted when there was no current window&quot; что делать? ...

Ошибка ADODB.Field error '800a0bcd' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current recor - C# ASP.NET
Имею скрипт Set dbo = Server.CreateObject('ADODB.Connection') dbo.Open 'PEN1' Title = Request.QueryString('mess') SQLQuery =...

Голосовалка, ошибка: Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. - C# ASP.NET
Вопросы по голосовалке с ответами, из базы вытаскиваются, при нажатии на ГОЛОСОВАТЬ результаты показываются, но на первые три ответа. В...

Ошибка Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record - Delphi БД
Большое спасибо всем кто хоть что-нибудь подскажет или наведёт на нужную мысль!! Короче проблема такая. ADOQuery1.Close; ...

ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. - C# ASP.NET
Выдается следующая ошибка : === ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
17.05.2014, 21:55 #2
строки 76-78 замените на
C++
1
2
3
4
5
6
else
{
    printf("Необходимо выбрать график 1, график 2 или график 3");
    getch();
    return 1;
}
проверка в 77 строке лишняя и
closegraph(); не должна в этом случае вызываться.
1
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
17.05.2014, 22:15  [ТС] #3
zss, сделал все, как Вы написали, но ошибка осталась. Не знаете, в чем еще может быть проблема?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2014, 22:15
Привет! Вот еще темы с ответами:

Operation Invalid without current Index - MS Access
Есть прога на VB которая юзает MDB файл. Очень активно юзает, постоянно в нее пишет. Записей под миллион. В один прекрасный момент...

ADODB.Field error '800a0bcd' Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires - C# ASP.NET
вываливается ошибка: ADODB.Field error '800a0bcd' Either BOF or EOF is True, or the current record has been deleted; the operation...

Нарисовать сферу на форме в пространстве имен System.Drawing и System.Drawing.Drawing2D - C#
Задача нарисовать сферу на форме в пространстве имен System.Drawing и System.Drawing.Drawing2D. С возможностью вращения в плоскостях, и...

Ошибка The Undo operation encountered a context that is different from what was applied in the corresponding Set operation... - Visual Basic .NET
The Undo operation encountered a context that is different from what was applied in the corresponding Set operation.The possible cause...


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

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

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