Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.12.2011, 00:46   #1
vamp_2012
Новичок
 
Регистрация: 11.12.2011
Сообщений: 1
Репутация: 3
По умолчанию Нужно исправить ошибки

#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <process.h>
#define PathToDriver "C:\\bc_\\"
struct DataType
{
float x, y;
};
DataType* Data;
int RecNum=0;
float f(int func, float x)
{
switch (func)
{
case 1:
return 0.348*x*x+0.696*x-8.348;
break;
case 2:
return 8*sin(x/2+3.14/8);
break;
case 3:
return 0.21*x*x*x+0.85*x*x-2.34*x-0.4;
break;
}

return 0;
}
float f1(int func, float x)
{
switch (func)
{
case 1:
return 0.696*x+0.696;
break;
case 2:
return 4*cos(x/2+3.14/8);
break;
case 3:
return 0.63*x*x+1.7*x-2.34;
break;
}
return 0;
}
void DrawLogo()
{
gotoxy(20, 8);
printf("------");
gotoxy(20, 9);
printf("! !");
gotoxy(20, 10);
printf("! This program is created !");
gotoxy(20, 11);
printf("! for demonstrating the Newton's method !");
gotoxy(20, 12);
printf("! of solving equations !");
gotoxy(20, 13);
printf("! !");
gotoxy(20, 14);
printf("! made by Ahramovich T.V. !");
gotoxy(20, 15);
printf("! !");
gotoxy(20, 16);
printf("---------");
}
void DrawMainMenu()
{
printf("! Exit !");
printf(" File !");
printf(" Solve !\n");
printf("----------\n");
}
void Save()
{
FILE *stream;
stream=fopen("Result.txt", "w+");
fprintf(stream, "This file contains the results\n\nIteration x y\n");
fprintf(stream, "-----\n");
for (int i=0; i<RecNum-1; i++)
fprintf(stream, " %d %f %f\n", i+1, Data[i].x, Data[i].y);
fclose(stream);
clrscr();
DrawMainMenu();
gotoxy(20, 9);
printf("-------");
gotoxy(20, 10);
printf("! File Result.txt is succesfully saved !");
gotoxy(20, 11);
printf("! !");
gotoxy(20, 12);
printf("! Press any key to EXIT !");
gotoxy(20, 13);
printf("-----------");
getch();
}
void Open()
{
FILE *stream;
char *str;
str=new char[255];
clrscr();
stream=fopen("Result.txt", "o");
fscanf(stream, str);
printf(str);
delete str;
fclose(stream);
printf("\n\n-------");
printf("\nPress any key to EXIT");
getch();
}

void FileMenu()
{
char ch;
clrscr();
DrawMainMenu();
printf(" ! Save !\n");
printf(" ! Open !\n");
printf(" ----------\n");
ch=getch();
switch (ch)
{
case 's':
Save();
break;
case 'o':
Open();
break;
default:
break;
}
}
void grafik(int func)
{
int gdriver=DETECT
int g_mode;
int g_error;
initgraph(&g_driver,&g_mode,PathToD river);
g_error=graphresult() ;
if (g_error!=grOk)
{
printf("Error have been rised while initiatin graphiks \n",g_error);
printf("error message is",g_error,grapherrormsg(g_error)) ;
puts("to quit press <Enter>");
getch();
exit(1);
}
DrawMainMenu();
setcolor(DARKGRAY);
line(240, 80, 639, 80);
line(240, 80, 240, 479);
line(240, 479, 639, 479);
line(639, 479, 639, 80);
setcolor(WHITE);
line(440, 90, 440, 470);
line(250, 280, 630, 280);
for (int i=0; i<18; i++)
{
line(i*20+260, 283, i*20+260, 277);
line(437, 460-i*20, 443, 460-i*20);
}
line (630, 280, 620, 283);
line (630, 280, 620, 277);
line (440, 90, 443, 100);
line (440, 90, 437, 100);
outtextxy(620, 290, "x");
outtextxy(420, 90, "y");

float x=-8.3;
float y;
int px;
int py;
while (x<6.3)
{
y=f(func, x);
px=20*x+440;
py=-20*y+280;
if (py>85)
putpixel(px, py, YELLOW);
x=x+0.001;
}
}

void Newton(int func, double a)
{
RecNum=0;

double x0, y0;
int x, y;
int i=0;
x0=a;

grafik(func);

Data[i].x=x0;
Data[i].y=f(func, x0);
i++;
printf("%f ", x0);
printf("%f \n", f(func, x0));

x=x0*20+440;
y=-f(func, x0)*20+280;
setcolor(RED);
circle(x, y, 2);
circle(x, y, 1);

while (fabs(f(func, x0))>0.000001)
{
x0=x0-f(func, x0)/f1(func, x0);
Data[i].x=x0;
Data[i].y=f(func, x0);
i++;
printf("%f ", x0);
printf("%f \n", f(func, x0));
x=x0*20+440;
y=-f(func, x0)*20+280;
circle(x, y, 2);
circle(x, y, 1);
}

RecNum=i;

setcolor(GREEN);
circle(x, y, 2);
circle(x, y, 1);

printf("\n-------");
printf("\nPress any key to EXIT");
}


void SolveMenu()
{
char ch;

clrscr();
DrawMainMenu();
printf(" ! 1: ax^2+bx+c [1, 8] !\n");
printf(" ! 2: ax^3+bx^2+cx+d [-7, 1] !\n");
printf(" ! 3: sin(x/k-w) [-2, 5] !\n");
printf(" -------------\n");

ch=getch();

switch (ch)
{
case '1':
clrscr();
DrawMainMenu();
Newton(1, 1);
getch();
closegraph();
break;

case '2':
clrscr();
DrawMainMenu();
Newton(3, -7);
getch();
closegraph();
break;

case '3':
clrscr();
DrawMainMenu();
Newton(2, -2);
getch();
closegraph();
break;

default:
break;
}
}

void MainMenu()
{
char ch;
clrscr();
DrawMainMenu();
DrawLogo();

ch=getch();

while (ch!='e')
{
switch (ch)
{
case ('f'):
FileMenu();
break;

case 's':
SolveMenu();
break;

default:
clrscr();
break;
}
clrscr();
DrawMainMenu();
ch=getch();
}
}
void main()
{
Data=new DataType [20];
MainMenu();
delete Data;
}
vamp_2012 вне форума   Ответить с цитированием
Старый 11.12.2011, 12:17   #2
Mandrivnyk
Software Developer
Профессионал
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Адрес: Stuttgart
Сообщений: 1,098
Репутация: 119

icq: 260063504
По умолчанию

42 (с)

Телепаты в отпуске.
Поэтому, если ты рассчитываешь получить хоть какой-нибудь ответ, озаботь себя более конкретным описанием проблемы -- описание задания, какие ошибки наблюдаются...
Кстати, "здравствуйте" и "пожалуйста" тоже будут не лишними.
Ну и еще одно -- код оформляется тегами CODE .. /CODE (кнопочка с решеткой).
В таком виде он нечитабелен.
__________________
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума   Ответить с цитированием
Старый 11.12.2011, 13:14   #3
Blade
Software Engineer
Профессионал
 
Аватар для Blade
 
Регистрация: 07.04.2007
Адрес: Москва
Сообщений: 1,618
Репутация: 389

icq: 303547894
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
В таком виде он нечитабелен.
Такой код не станет читабельным даже с тегом code
__________________
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно исправить ошибки ДмитрийРэй Помощь студентам 0 22.05.2011 16:37
Нужно исправить ошибки в С+ Ximik28 Общие вопросы C/C++ 12 11.01.2011 05:14
нужно исправить ошибки( basav1k Помощь студентам 3 17.05.2010 22:46
C++. Есть код нужно исправить ошибки megavolt91 Общие вопросы C/C++ 6 06.06.2009 19:27
C++. Есть код нужно исправить ошибки megavolt91 Помощь студентам 1 01.06.2009 18:38


00:12.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru