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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. http://www.cyberforum.ru/cpp-beginners/thread556922.html
Прошу помочь. Ввести структуру time с полями часы, минуты, секунды. Составить и протестировать функции: next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t. Предусмотреть возможность смены суток. fun(t1, t2, d), которая вычисляет время d, прошедшее от времени t1 до времени t2. Добавлено через 13 часов 42 минуты :(Помогите пожалуйста...
C++ Сортировка по неубыванию Помогите решить пожалуйста! Только начала изучать С++, а решение нужно уже срочно.... Сначала задаётся число N (1 ≤ N ≤ 100), а затем N целых чисел, по модулю не превышающих 1000. Выведите N чисел в порядке неубывания. http://www.cyberforum.ru/cpp-beginners/thread556874.html
C++ Перевести код на С++
Прошу помощи с переводом кода на С++. Возникают трудности с корректным и правильным переводом кода. Заранее благодарен. AssignFile(f,'b.txt'); Reset(f); while not EOF(f) do ReadLn(f,s); CloseFile(f); i:=0; for c := 'А' to 'Я' do begin
C++ Арифметическое выражение
помогите решить пожалуйста,очень нужно,а сама что-то никак не разберусь.. В первой строке записано арифметическое выражение в виде: ЧислоОперацияЧисло. Число это натуральное число, не превышающее 10000. Операция - один из знаков +, -, *. В начале строки, в конце строки, а также между числами и знаком операции пробелов нет. Гарантируется, что длина строки не превышает 200 символов. ...
C++ Попиксельная отрисовка массива ? http://www.cyberforum.ru/cpp-beginners/thread556863.html
Здраствуйте. Задача такова. Необходимо взять двумерный массив из файла, элементы массива принимают значение от 0 до 255, затем необходимо "нарисовать" этот массив, т.е. каждому значению элемента массива будет соответствовать пиксел, а значение элемента массива будет определять цвет пикселя, градация серого. необходимо все сделать с использованием класса. учусь работать в Visual c++ 1) Как...
C++ Выборочный ввод чисел пользователем Нужно сделать двумерный массив и в любую точку записать число введёное пользователем. Т.е. курсор перемещается WSAD, выбирается место, считывает нажатое число и вписывает в массив. Подскажите хоть как это называется, а то не понятно что гуглить) С++ подробнее

Показать сообщение отдельно
ZxSpectrum
Сообщений: n/a

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

24.04.2012, 07:26. Просмотров 284. Ответов 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;
}


Всем СПАСИБО ЗА ВНИМАНИЕ!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru