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

Оператор Switch и Загрузка из файла

26.05.2012, 22:36. Показов 542. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. Не могу разобраться, как мне осуществить данную затею.
Вот моё чудо:\

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define N 10000

void Time(int n,float*t);
void Vxod(int n,float*t,float*Uvh);
void Vixod(int n,float*t,float*Uvih);
void tablica(int n,float*t,float*Uvh,float*Uvih);
float dlitelnost(int ,float*,float*);
int pogr(int, float *, float*, float*, float );

void Time(int n,float*t)
{
int i;
float dt, tn=0, tk=20.0;
dt=(tk-tn)/(n-1);

for(i=0;i<n;i++)
{
t[i]=tn+i*dt;
}
return;
}

void Vxod(int n,float*t,float*Uvh)
{
int i;
float tm=10, tn=0, tk=20.0,U=75;
for(i=0;i<n;i++)
{
if (t[i]<tm) Uvh[i]=(U/(tm-tn))*(t[i]-tn); else
if (t[i]>=tm) Uvh[i]=(U/(tk-tm))*(tk-t[i]);
}

return;
}


void Vixod(int n,float*Uvh,float*Uvih)
{
int i;
float Uvh1=20.0,a=0.1,U2=40.0;
for(i=0;i<n;i++)
{
if (Uvh[i]>=0 && Uvh[i]<Uvh1) Uvih[i]=a*Uvh[i]*Uvh[i]; else Uvih[i]=U2;


}

return;
}

float dlitelnost(int n, float*t, float*Uvih)
{
int i;
float Uvih_max,U1,U2,T1,T2,T;

Uvih_max=Uvih[0];

for(i=1;i<n;i++)

{

if(Uvih[i]>Uvih_max) Uvih_max=Uvih[i];
}

U1=0.1*Uvih_max;
U2=0.9*Uvih_max;

printf("\n U1=%6.3f U2=%6.3f",U1,U2);
for(i=n-1;i>0;i--)
if(Uvih[i]>=U1)
{
T1=t[i];
break;

}
for(i=n-1;i>0;i--)
if(Uvih[i]>=U2)
{
T2=t[i];
break;

}
printf("\n T1=%6.3f T2=%6.3f",T1,T2);
T=T1-T2;
return T;
}

int pogr(int n, float *t, float*Uvh, float*Uvih, float W)
{

float Epx=0.012, P;

Time(n,t);
Vxod(n,t,Uvh);
Vixod(n,Uvh,Uvih);
P=fabs(W-dlitelnost(n,t,Uvih));
printf("\t T=%.4f P=%.3f n=%d",dlitelnost(n,t,Uvih),P,n);
if(P<Epx)
return n;


else {
W=dlitelnost(n,t,Uvih);
n=n*2;
pogr(n,t,Uvh,Uvih,W);
}
}


void tablica(int n,float*t,float*Uvh,float*Uvih)
{int i;
printf("\n i t[i] Uvh[i] Uvih[i]");
for(i=0;i<n;i++)
{
printf("\n %.3d %6.3f %6.3f %6.3f", i, t[i], Uvh[i],Uvih[i]);
}
}

int main()
{

int c,i,n=11;
float t[N],Uvih[N],Uvh[N], W=1000000;



Time(n,t);
Vxod(n,t,Uvh);
Vixod(n,Uvh,Uvih);
tablica(n,t,Uvh,Uvih);
printf("\n n=%d",pogr(n,t,Uvh,Uvih,W));



return(0);
}

Нужно внедрить оператор свитч(ну с этим все понятно, но тем не менее хотелось бы увидеть предложения), а во вторых, нужно сделать загрузку из файла.(Нужно засунуть каждую подпрограмму в текстовый файл). Помогите пожалуйста, поделитесь идеями и мыслями.
Заранее спасибо.

Добавлено через 9 часов 5 минут
Знающих людей на этом форуме, совсем нету?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2012, 22:36
Ответы с готовыми решениями:

Как оператор switch превратить в оператор if
Здравствуйте! Есть вот такая задачка: Для целого числа K (от 1 до 99 включительно) напечатать...

Оператор switch
Есть задание, никак не могу понять как это реализовать на java, помогите пожалуйста Написать...

Оператор switch
Сделать с помощью оператора switch: a*pow(x+7)-b когда x&lt;5 &amp;&amp; b!=0; (x-c*d)/a*x когда x&gt;5 &amp;&amp;...

оператор Switch????
Люди добрые помогите что здесь не так не пойму #include&lt;conio.h&gt; #include&lt;stdio.h&gt;...

3
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
27.05.2012, 00:16 2
Цитата Сообщение от jackieone Посмотреть сообщение
Нужно внедрить оператор свитч(ну с этим все понятно, но тем не менее хотелось бы увидеть предложения)
И какие могут быть предложения и что значит вообще внедрить? Это, как я понимаю, классическая система руководства во многих фирмах: нам нужно внедрить эту технологию. Зачем её внедрять, что она собой представляет, подходит ли она вообще здесь - это всё никого не интересует, главное внедрить. Оператор switch добавляют в код когда он необходим, а не когда хочется его внедрить с целью внедрения.


Цитата Сообщение от jackieone Посмотреть сообщение
(Нужно засунуть каждую подпрограмму в текстовый файл).
Тоесть вы хотите чтобы код функций загружался при выполнении программы? Тогда почитайте о том как создаются dll библиотеки, в интернете информации полно. Это в двух словах не опишешь, смотрите примеры.

Цитата Сообщение от jackieone Посмотреть сообщение
Знающих людей на этом форуме, совсем нету?
В следующий раз предъявите уважение к тем кто будет читать ваш код и прочитайте правила форума. Там ясно указано что код нужно засовывать в теги, иначе читать его неудобно и помогать желание пропадает.
0
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 3
27.05.2012, 01:43  [ТС] 3
Во-первых, прошу прощения. Поторопился.
Во-вторых, немного неточно описал саму роль switch в данном коде. Нужно сделать меню с помощью оператора switch.
И в-третьих,
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
 void zapis(float*t,float*Uvx,float*Uvix)
{int i;
FILE*fp1;
FILE*fp2;
FILE*fp3;
fp1=fopen("massiv_Time.txt","w");
fp2=fopen("massiv_Vxod.txt","w");
fp3=fopen("massiv_Vixod.txt","w");
 
if(fp1==NULL)
{printf("ne mogy zapisat file massiv_Time ");
exit(i);
}
if(fp2=NULL)
{printf("ne mogy zapisat file massive_Vxod");
exit(i);}
if(fp3=NULL)
{printf("\n ne mogy zapisat file massiv_Vixod");}
}
 
void read_file (float*t,float*Uvx,float*Uvix)
{ FILE
*f=fopen("fdksflk.txt","r");
int d;
while(!feof(f))
 
{fscanf(f,"%d",&d);
printf("%d",d);}
fclose(f);}
Нужен совет, я знаю лишь, что мне нужно "засунуть",если позволите так выражаться, эти 2 подпрограммы в код. Я не совсем понимаю принцип работы по которому в итоге будет программа работать.
Заранее спасибо.
0
Просто Икс
686 / 228 / 46
Регистрация: 15.12.2009
Сообщений: 677
27.05.2012, 01:59 4
Цитата Сообщение от jackieone Посмотреть сообщение
Нужно сделать меню с помощью оператора switch
ну так сделайте или Вам благословление нужно?
принцип работы оператора простой и там думать в сущности нечего, нужно делать

Цитата Сообщение от jackieone Посмотреть сообщение
Нужен совет, я знаю лишь, что мне нужно "засунуть"
Об этом Вам и сказали....
что тут нужно не просто лишь бы "засунуть", надо понять сначала зачем это надо, а иначе незачем.
0
27.05.2012, 01:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2012, 01:59
Помогаю со студенческими работами здесь

Оператор switch
Только учусь прогать на си, из некоторых ресурсов узнал, как работает switch. написал программку,...

Оператор switch
Возникла проблема. Не хочет высчитываться &quot;v&quot;. Что не так? #include &lt;iostream.h&gt; #include...

Оператор switch
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года....

Оператор switch
целое число в диапазоне 0 – 9. Вывести строку — название соответствующей цифры на английском языке...


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

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