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

Помогите пожалуйста разобраться с Switch case - C++

Восстановить пароль Регистрация
 
ZxSpectrum
Сообщений: n/a
24.04.2012, 07:26     Помогите пожалуйста разобраться с Switch case #1
Сразу предупрежу ,что я полный ламер) Мне нужно выполнить лабораторку с использованием конструкции switch-case. Вот ее условие:


Вычислить и вывести на экран значения аргумента и значения функции, заданной несколькими выражениями, для заданного интервала хн ≤ x ≤ хк и шага dx изменения аргумента. Параметры a, b, c – действительные числа.

Вариант 10.(смотри ссылку)
http://savepic.su/1817836.htm

Вот что я сумел на данный момент сделать, вся загвоздка в том что я не знаю как задать нужное мне условие для "case",который непременно желает оставаться константой(

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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
main()
{
 
int a, b, c, dx, F, xn, xk, x;
int n;
 
printf("Enter:\n");
std::cout<<"a = "; 
std::cin>>a; 
std::cout<<"b = "; 
std::cin>>b; 
std::cout<<"c = "; 
std::cin>>c; 
std::cout<<"xn = "; 
std::cin>>xn; 
std::cout<<"xk = "; 
std::cin>>xk; 
std::cout<<"dx = "; 
std::cin>>dx; 
 
n=0;
printf("Results:\n");
 
for (x=xn; x<=xk; x=x+dx)
{
switch(x-10<0 && a==0) 
{case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10:
case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: 
case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: 
case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40:
F =(cos(x)+1)/(b-x); break; 
 
switch(x-10>0 && a!=0)
{case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10:
case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: 
case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: 
case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40:
F=(a*x*x-b*x+c)/(sin(x)); break; 
 
 
default: F=(log(x+c))/(2*b);}}
 
 
}
printf ("%3d. x=%6.2f F=%8.3f\n\n",n,x,F);
printf("F=%d \n", F);
getch();
return 0;
 
}
 
Ну вот ее рабочее решение с помощью if else :
 
 
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
float a, b, c, dx, F, xn, xk, x;
int n;
 
clrscr();
 
printf("Enter a, b, c, xn, xk, dx:\n");
scanf("%f%f%f%f%f%f",&a,&b,&c,&xn,&xk,&dx);
n=0;
printf("Results:\n");
 
for (x=xn; x<=xk; x=x+dx)
{
if (x-10<0 && a==0)
{F =(cos(x)+1)/(b-x);}
 
else if (x-10>0 && a!=0)
{F=(a*x*x-b*x+c)/(sin(x));}
 
else
F=(log(x+c))/(2*b);
 
printf ("%3d. x=%6.2f F=%8.3f\n\n",n,x,F);
}
 
getch();
return 0;
}


Всем СПАСИБО ЗА ВНИМАНИЕ!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2012, 07:26     Помогите пожалуйста разобраться с Switch case
Посмотрите здесь:

C++ Пожалуйста помогите разобраться)
invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста. C++
C++ Помогите разобраться с switch
case-switch C++
Помогите, пожалуйста, разобраться с массивами. У меня почему то не получается. C++
C++ Пожалуйста, помогите разобраться с заданием по программированию
C++ Помогите, пожалуйста, разобраться с программой. двумерные массивы
C++ Switch + case

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
24.04.2012, 08:53     Помогите пожалуйста разобраться с Switch case #2
В строке
switch(выражение)
выражение
должно принимать целочисленное значение,
которое потом анализируется в case ветвях.
C++
1
2
3
4
5
6
7
8
9
if(a==0)
switch(x)
{
...
}else
switch(x)
{
....
}
Yandex
Объявления
24.04.2012, 08:53     Помогите пожалуйста разобраться с Switch case
Ответ Создать тему
Опции темы

Текущее время: 11:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru