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

Ветвления

25.10.2009, 16:43. Показов 3013. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Задали задачку :
"С помощью операторов ветвлений и присваивания записать фрагмент программы, вычисляющий значение переменной n по следующему правилу:
n :=
[ n+1, при i=4,
[ a+b, при i=1 или i=7 или i=9,
[ a-b в остальных случаях

Народ, надо написать прогу с помощью оператора switch... Я писала с помощью if, сказали через switch пиши... Все заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2009, 16:43
Ответы с готовыми решениями:

ВЕТВЛЕНИЯ В C++
Даны вещественные x, y, z. Вычислить: U= Выполнить задания двумя способами: с использованием оператора if и с использованием...

Ветвления
Помогите решить данную задачу.У меня она расчитывает только 1вое выражение.

Операторы ветвления С++
Дана точка на плоскости с координатами(x,y). Составить программу,которая выдает одно из сообщений "да","нет","на...

10
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
25.10.2009, 16:47
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
switch (i)
{
    switch (i)
    {
    case 4:
        n++;
        break;
    case 1:
        n = a + b;
        break;
    case 7:
        n = a + b;
        break;
    case 7:
        n = a + b;
        break;
    default:
        n = a - b;
    }
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.10.2009, 16:50
qwert, в Switch'е можно склеивать альтернативы по разным ключам

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        switch (i)
        {
        case 4:
                n = n + 1; //  <--- при такой записи у преподавателей будет меньше вопросов
                break;
        case 1:
        case 7:
        case 9:
                n = a + b;
                break;
        default:
                n = a - b;
                break; // <--- влепил ещё это, по той же причине
        }
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
25.10.2009, 16:53
Я знаю, я по той же причине, что и n = n + 1 так сделал.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.10.2009, 16:55
Цитата Сообщение от qwert Посмотреть сообщение
Я знаю, я по той же причине, что и n = n + 1 так сделал.
По опыту именно к дублированию case'ов в данной ситуации неизбежно прикопаются
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
25.10.2009, 16:57
Так прикопаться ведь можно к чему угодно, и к break после default.
0
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 8
25.10.2009, 17:08  [ТС]
qwert, спасибо, но я неного не поняла :

у меня есть файл fp.out, туда после работы проги записывается значение n

вот код программы исправьте пожалуйста...

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
#include <stdio.h>
 
int n, i, a, b;
 
switch(i);
 
FILE *fp.out;
 
int main(void)
{
fp.out = fopen("fp.out","w");
fprintf(fp,"n=%d",n);
switch (i)
{
        switch (i)
        {
        case 4:
                n++;
                break;
        case 1:
                n = a + b;
                break;
        case 7:
                n = a + b;
                break;
        case 7:
                n = a + b;
                break;
        default:
                n = a - b;
        }
return 0;
 
}
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
25.10.2009, 17:16
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
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    setlocale (LC_ALL, ".1251");
    int n, i, a, b;
    cout << "Введите i, a, b\n";
    cin >> i >> a >> b;
    FILE * f;
    if (!(f = fopen ("fp.txt", "wt")))
    {
        cout << "Error\n";
        return 1;
    }
    switch (i)
    {
    case 4:
        n = n + 1;
        break;
    case 1:
        n = a + b;
        break;
    case 7:
        n = a + b;
        break;
    case 9:
        n = a + b;
        break;
    default:
        n = a - b;
        break;
    }
    fprintf (f, "%d", n);
    fclose (f);
    return 0; 
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.10.2009, 17:20
Цитата Сообщение от qwert Посмотреть сообщение
Так прикопаться ведь можно к чему угодно, и к break после default.
Просто поводы для прикапывания у препов более-менее среднестатистические
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
25.10.2009, 17:21
Может быть.
0
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 8
25.10.2009, 17:39  [ТС]
Всем спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2009, 17:39
Помогаю со студенческими работами здесь

Пример ветвления
Всем привет. :) Не так давно начал изучать C++, скачал методичку и решил начать с простых примеров. Но вот увы у меня выдается ошибка и...

операторы ветвления
Вводиться двузначное число. Определить, равен ли квадрат этого числа учетверенной сумме кубов его цифр. Например, для числа 48 ответ...

Циклы и ветвления
помогите плииииз мне сегодня в 8 утра сдавать) 4. Вывести на консоль простые числа, начиная с 2, заканчивая ближайшим простым...

Программа ветвления
Построить программу, которая вводит координаты точки (x, y) и определяет, попадает ли точка в заштрихованную область на рисунке, который...

Основы ветвления
Встретился на сайте с такой подачей ветвления: if ( !qwe ) Что значит восклицательный знак, неравенство?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru