Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 01:11   #1
pdesyatnyk
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию C++ программа внутри другой, как ф-ция

здрасте, нужна помощь. Вот в этот код
Код HTML:
#include <dos.h>
#include <windows.h>
#include <bios.h>
#include <conio.h>
#include <ctype.h>
#include <math.h>
#define J 20

int panel();
int help();
int l3();
int l4();
int l5();

int main(void)
{
	int FLAG=0;
	_setcursortype(_NOCURSOR);
	textmode(C80);
	panel();
	help();
	while(FLAG!=27)
	{
		FLAG=toascii(bioskey(0));
		switch (FLAG)
		{
			case 49:
			{
				l3();
				break;
			}
			case 50:
			{
				l4();
				break;
			}
			case 51:
			{
				l5();
				break;
			}
		}
	}
	getch();
	clrscr();
	return(0);
}

int panel(void)
{
	window(1,1,20,1);
	textattr(BLACK+(RED<<4));
	clrscr();
	gotoxy(7,1);
	cprintf("  ESC  ");
	window(21,1,40,1);
	textattr(BLUE+(CYAN<<4));
	clrscr();
	gotoxy(9,1);
	cprintf("lab3");
	window(41,1,60,1);
	textattr(LIGHTGRAY+(MAGENTA<<4));
	clrscr();
	gotoxy(9,1);
	cprintf("lab4");
	window(61,1,80,1);
	textattr(GREEN+(RED<<4));
	clrscr();
	gotoxy(9,1);
	cprintf("lab5");
	return(0);
}

int help(void)
{
	window(1,25,80,25);
	textattr(YELLOW+(MAGENTA<<4));
	clrscr();
	gotoxy(11,1);
	cprintf("PRESS:1-LAB3; PRESS:2-LAB4; PRESS:3-LAB5; PRES:ESC-ESC");
	return(0);
}

int l3(void)
{
	double x,a,y;
	window(1,3,25,23);
	textattr(CYAN+(BLUE<<4));
	clrscr();
	gotoxy(2,1);
	cprintf("Enter value x: ");
	cscanf("%lf", &x);
	gotoxy(2,2);
	cprintf("Entrer value a: ");
	cscanf("%lf", &a);
	if (x<7)
	{
		 gotoxy(2,3);
		 cprintf("y=aln(x) \n");
		 y=a*log(x);
	}
	else
	if((x>=7) && (x<=15))
	{
		gotoxy(2,3);
		cprintf("y=lg(ax) \n");
		y=log10(a*x);
	}
   else
	{
		gotoxy(2,3);
		cprintf("y=e^ax \n");
		y=exp(a*x);
	}
	gotoxy(2,4);
	cprintf("The value of y: %3.2lf\n\n", y);
	return(0);
}

int l4(void)
{
	int k=0;
	double y=0,x=0,a=0;
	window(26,3,53,23);
	textattr(MAGENTA+(LIGHTGRAY<<4));
	clrscr();
	gotoxy(2,1);
	cprintf(" 1. y=aln(x) \n");
	gotoxy(2,2);
	cprintf(" 2. y=lg(ax) \n");
	gotoxy(2,3);
	cprintf(" 3. y=e^ax \n");
	gotoxy(2,4);
	cprintf("Your choice (1, 2, 3): ");
	cscanf("%d",&k);
	if((k>0)&&(k<4))
	{
		gotoxy(2,6);
		cprintf("Enter value x: ");
		cscanf("%lf", &x);
		gotoxy(2,7);
		cprintf("Entrer value a: ");
		cscanf("%lf", &a);
		switch (k)
			{
				case 1:
				{
					if (x>0)
					{
						y=a*log(x);
					}
					else
					{
						gotoxy(2,8);
						cprintf("Error! x<0 \n");
					}
				}
				break;
				case 2:
				{
					if (x*a>0)
					{
					y=log10(a*x);
					}
					else
					{
						gotoxy(2,8);
						cprintf("Error! x<0 \n");
					}
				}
				break;
				case 3:
				{
					y=exp(a*x);
				};break;
			}
		gotoxy(2,8);
		cprintf("The value of y: %3.2lf\n", y);
	}
	else
	{
		gotoxy(2,9);
		cprintf("Error!\n");
	}
return(0);
}

int l5(void)
{
	double x,a,b,y;
	window(54,3,80,23);
	textattr(RED+(GREEN<<4));
	clrscr();
	gotoxy(2,1);
	cprintf("Enter value x: ");
	cscanf("%lf", &x);
	gotoxy(2,2);
	cprintf("Entrer value a: ");
	cscanf("%lf", &a);
	gotoxy(2,3);
	cprintf("Entrer value b: ");
	cscanf("%lf", &b);
	if(((a+x)/(b+x))>=0 && (a+x)>0)
	{
		y = pow((a+b),2)*sqrt((a+x)/(b+x))*log(a+x);
		gotoxy(2,4);
		cprintf("\nThe value of y: %3.5lf\n", y);
	}
	else
	{
		gotoxy(2,4);
		cprintf("\n\nError!\n");
	}
}

вставить вот этот, как ф-цию вместо l3 например

Код HTML:
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <string.h>

struct type
{
char name[15];
char surname[15];
char group[10];
float a,b,x;
char y[50];
} mys;

double func(float a, float b, float x)
{
double y;
y=sqrt( (a+b*pow((x*x),(1/3)) )/(b+log( (pow(a,4))+(pow(x,6)) ))) ;

return y;
}

void input(struct type &mys)
{
printf("Write your name : ");
scanf("%s", mys.name);
printf("Write your surname : ");
scanf("%s", mys.surname);
printf("Write your Group : ");
scanf("%s", mys.group);
printf("\n\nCurrent function y=sqrt( (a+b*pow((x*x),(1/3)) )/(b+log( (pow(a,4))+(pow(x,6)) ))) ");
printf("Write a: ");
scanf("%f", &mys.a);
printf("Write b: ");
scanf("%f", &mys.b);
printf("Write x: ");
scanf("%f", &mys.x);

if ( (mys.a ==0) && (mys.b==0) )
{
strcpy(mys.y,"Error ! ");
}
else
{
sprintf(mys.y,"%5.3f\n", func(mys.a, mys.b, mys.x));
}
}

void output(struct type mys)
{

printf("Name: %s %s\n", mys.surname, mys.name);
printf("Group: %s\n", mys.group);
printf(" y= %s \n", mys.y);
}

int main()
{
clrscr();
FILE *file;

file = fopen("data.txt","w");

input(mys);

output(mys);

fprintf(file,"Name: %s %s\nGroup: %s\nThe value of y: %s ",mys.surname, mys.name, mys.group, mys.y);

fclose(file);

char c;
printf("Do you want to delete this fail? Press - y/n \n");
scanf("%s",&c);
if (c=='y')
{
remove("data.txt");
printf("The fail is deleted!");
}
else
printf("The fail is saved.\n End!");

getch();
return 0;
}
ах, да, заранее спасибо)

Последний раз редактировалось pdesyatnyk; 11.05.2012 в 01:15.
pdesyatnyk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна программа на майкрософт аксес подробности внутри fantaYKT Фриланс 0 03.04.2012 06:31
Сортировка по имени в Qbasic, программа внутри DAN1L Помощь студентам 6 13.02.2012 17:29
Стэк. Программа и задание внутри. Найти ошибку TYMON Общие вопросы .NET 3 15.11.2010 23:11
Рекурсивная ф-ция (обьяснить) Zedx Помощь студентам 14 26.09.2010 23:34
Программа. Паскаль. Описание внутри. Nexx Помощь студентам 5 07.12.2007 20:07