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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
DramaQueen
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 30
#1

Замена If на Switch вызвала ошибки - C++

07.05.2014, 01:24. Просмотров 1209. Ответов 42
Метки нет (Все метки)

Создаю структуру, подключаю к ней txt файл, использовала if, все работало, решила поменять на switch начал ругаться
Замена If на Switch вызвала ошибки
Не понимаю, что именно нужно исправить
Замена If на Switch вызвала ошибки
Добрые, умные люди, помогите, пожалуйста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2014, 01:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена If на Switch вызвала ошибки (C++):

замена switch на if. - C++
Задание: Заменить в примере оператор switch структурой операторов if. Вопрос: Как можно заменить default??

Замена чисел на символы (switch) - C++
Написать программу замены введенного числа от 0 до 9 соответствующим символом (1=! 2=@ ...) с оператором switch

Посмотрите ошибки: switch и строка в char - C++
#include <locale.h> #include <stdio.h> #include <string.h> using namespace std; int main() { setlocale(LC_ALL, "rus"); ...

Ваша программа вызвала нарушение доступа(ошибка сегментации) - C++
Уже видел тему с той же проблемой, но так и не смог интерпретировать то что написано там под решение моей проблемы вот собственно код: ...

Замена if else на switch - Java SE
Доброго времени суток. Нуждаюсь в помощи с лабораторной работой. Задание: написать программу, решающую данное уравнение, используя if...

Оправдана ли замена If на Switch - C#
Всем привет! Я получаю ответ от сервера: string killer; killer = new StreamReader(response.GetResponseStream(),...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13237 / 7509 / 847
Регистрация: 27.09.2012
Сообщений: 18,447
Записей в блоге: 3
Завершенные тесты: 1
07.05.2014, 01:25 #2
Цитата Сообщение от DramaQueen Посмотреть сообщение
Создаю структуру, подключаю к ней txt файл
чего?
Цитата Сообщение от DramaQueen Посмотреть сообщение
использовала if, все работало, решила поменять на switch начал ругаться
где код?
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
07.05.2014, 01:26 #3
DramaQueen, положите код прямо в пост и добрые люди сразу помогут.
0
Croessmah
Эксперт CЭксперт С++
13237 / 7509 / 847
Регистрация: 27.09.2012
Сообщений: 18,447
Записей в блоге: 3
Завершенные тесты: 1
07.05.2014, 01:28 #4
Цитата Сообщение от IGPIGP Посмотреть сообщение
положите код прямо в пост и добрые люди сразу помогут.
только тегами кода его выделите, а то добрых не останется
1
DramaQueen
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 30
07.05.2014, 01:40  [ТС] #5
Объяснять я не мастак, но иначе не могу, не хватает знаний)
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
struct Prokat 
{
    int vel;
    int vrem;
    char cost[30];
    char zalog[30];
};
int main(void)
{
    setlocale(0, "rus");
    printf("Здравствуйте, Вас приветствует фирма проката велосипедов STELS! \n");
    struct Prokat p;
    printf("Наш ассортимент проката: \n");
    ifstream input_file("Ассортимент.txt");
    char vzros[1000], podrost[100], det[100];
    input_file.getline(vzros, sizeof(vzros));
    input_file.getline(podrost, sizeof(podrost));
    input_file.getline(det, sizeof(det));
    cout << vzros << endl;
    cout << podrost << endl;
    cout << det << endl;
    printf("\Пожалуйста, введите номер выбранного Вами велосипеда: \n");
    scanf_s("%i", &p.vel);
    int vel;
    switch (vel)
        {
    case '1':
                printf("Наши тарифы: \n");
                ifstream input_file("ТарифыВзрослый.txt");
                char chas1[1000], den1[100], info1[300];
                input_file.getline(chas1, sizeof(chas1));
                input_file.getline(den1, sizeof(den1));
                input_file.getline(info1, sizeof(info1));
                cout << chas1 << endl;
                cout << den1 << endl;
                cout << info1 << endl;
                printf("\nПожалуйста, введите номер выбранного Вами тарифа: \n");
                scanf_s("%i", &p.vrem);
                int vrem;
                switch (vrem)
                {
Добавлено через 11 минут
Изначально было так:
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
struct Prokat 
{
    int vel;
    int vrem;
    char cost[30];
    char zalog[30];
};
int main(void)
{
    setlocale(0, "rus");
    printf("Здравствуйте, Вас приветствует фирма проката велосипедов STELS! \n");
    struct Prokat p;
    printf("Ассортимент проката: \n");
    ifstream input_file("Ассортимент.txt");
    char vzros[1000], podrost[100], det[100];
    input_file.getline(vzros, sizeof(vzros));
    input_file.getline(podrost, sizeof(podrost));
    input_file.getline(det, sizeof(det));
    cout << vzros << endl;
    cout << podrost << endl;
    cout << det << endl;
    printf("\Пожалуйста, введите номер выбранного Вами велосипеда: \n");
    scanf_s("%i", &p.vel);
    {
        int vel;
        if (vel = 1)
            printf("Наши тарифы: \n");
        ifstream input_file("ТарифыВзрослый.txt");
        char chas1[1000], den1[100], info1[300];
        input_file.getline(chas1, sizeof(chas1));
        input_file.getline(den1, sizeof(den1));
        input_file.getline(info1, sizeof(info1));
        cout << chas1 << endl;
        cout << den1 << endl;
        cout << info1 << endl;
        printf("\nПожалуйста, введите номер выбранного Вами тарифа: \n");
        scanf_s("%i", &p.vrem);
        { 
            int vrem;
            if (vrem = 1)
            printf("Стоимость: ");
        ifstream input_file("СтоимостьВзЧ.txt");
        char stoim1[1000];
        input_file.getline(stoim1, sizeof(stoim1));
        cout << stoim1 << endl; }
        
 
    }
Но я поняла,что запутаюсь в if`ах, поменяла на switch.. ну а дальше беда
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
07.05.2014, 01:45 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <windows.h>
using namespace std;
 
int main (){
SetConsoleCP (1251); SetConsoleOutputCP (1251);
int vel;//тут мусор
cout<<"1 или 2?"<<endl;
cin>>vel;//что-то присвоить надо
switch(vel){
case 1: cout<<"1"<<endl; break;
case 2: cout<<"2"<<endl; break;
default : cout<<"Не 1 и ни 2..."<<endl;
}
system("pause");
return 0;
}

Не по теме:

DramaQueen, сочетание красного и зелёного, - классика. Это я задний фон имею ввиду. А то Croessmah, тоже зелёный) Но он и так не обидится.

0
Croessmah
Эксперт CЭксперт С++
13237 / 7509 / 847
Регистрация: 27.09.2012
Сообщений: 18,447
Записей в блоге: 3
Завершенные тесты: 1
07.05.2014, 01:55 #7

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
А то Croessmah, тоже зелёный) Но он и так не обидится.
у меня глаза красные


и сразу тут
C++
1
if (vel = 1)
присваивание. Оператор сравнения ==
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
07.05.2014, 02:21 #8
DramaQueen, иной раз исправление ошибки может всё разрушить:
Цитата Сообщение от DramaQueen Посмотреть сообщение
if (vel = 1)
Если написать правильно:
C++
1
if (vel == 1)
то работать не станет. Причина та же, у vel нет значения на которое Вы рассчитываете.

Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
у меня глаза красные

Не по теме:

Ты сам признался! А как бы я ещё об этом узнал? Ни-как.



Добавлено через 23 минуты
DramaQueen, Вы удивитесь, но если убрать if'ы то ничего не изменится и это обычно не к добру. Расскажите, что должна делать программка. Забегая вперёд: поле vel, это марка или возрастная группа велосипеда?
0
DramaQueen
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 30
07.05.2014, 11:51  [ТС] #9
Не по теме:

DramaQueen, сочетание красного и зелёного, - классика. Это я задний фон имею ввиду. А то Croessmah, тоже зелёный) Но он и так не обидится.
Благодарю) ирония в том, что сейчас учусь в беларуси, если вы понимаете о чем я


Суть программы: я предлагаю пользователю ассортимент(взрослый, подростковый и детский) в зависимости от выбора, предлагаю тарифы, затем вывожу итоговую цену)
К сожалению, ошибку немного позже исправлю пока на парах.

Добавлено через 2 часа 55 минут
Присваивание не помогло :с
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
07.05.2014, 18:16 #10
Цитата Сообщение от DramaQueen Посмотреть сообщение
если вы понимаете о чем я
DramaQueen, я стараюсь, но никога не унываю от непонимания, - напортив, загадка стимулирует.
Что касается Беларуси, мною любимой, то теряюсь в мыслях интерпретируюя цвета в этом контексте:
Красный цвет, - цвет надежды человечества? В Вашем случае, - более чем (имхо).
Зелёный цвет, - фон в котором угадывается чей-то монумент. Бюст если не ошибаюсь. Я не против бюста. Хотя с уверенностью могу сказать только, что это не Croessmah.
То есть непонятно, но интригует. Что же ещё нужно? Всё правильно.
Давайте о задаче поговорим. В Вашей структуре есть поля и непонятно, что значит поле vel. Это возрастная группа или марка (название модели). Я не могу связать данные в файле (видимо записи полей структуры) с анализом и действиями в программе. Выложите-ка задание так, как оно изложено в методичке.
0
DramaQueen
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 30
07.05.2014, 18:57  [ТС] #11
Это курсовая :с
Система учета заказов в пункте проката (Ассортимент проката, тарифы в зависимости от времени, стоимость проката, учет возврата). Входные и выходные данные могут храниться в текстовых файлах, файлах приложений Microsoft и базах данных.
Все данные(Ассортимент проката, тарифы в зависимости от времени, стоимость проката, учет возврата) хранятся в txt файлах, моя задача написать структуру на заданную тему.
Я создаю диалог с пользователем, вывожу ассортимент. Осуществляется выбор, дальше идут варианты тарифов, для vel=1 один тариф, для vel=2 другой и тд. vel это номер выбора из ассортимента)

С if программа работает примерно так, но это только маленький кусочек программы, еще писать и писать
0
Миниатюры
Замена If на Switch вызвала ошибки  
DramaQueen
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 30
07.05.2014, 20:27  [ТС] #12
Еще вот какой-то глюк
0
Миниатюры
Замена If на Switch вызвала ошибки  
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
07.05.2014, 20:38 #13
Цитата Сообщение от DramaQueen Посмотреть сообщение
Еще вот какой-то глюк
Я писал, что vel объявлена, но не ей присвоено значение. Напишите:
C++
1
int vel = p.vel;
Но легче не станет. Структуру лучше бы назвать Bicycle (велосипед). Поле vel - age_group (возрастная группа). Стоимость - тип int, float или double.
Вообще это не задача, а курсовая работа, то есть не на 15 мин. дело. Посмотрю, что смогу сделать.
1
DramaQueen
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 30
07.05.2014, 20:46  [ТС] #14
Цитата Сообщение от IGPIGP Посмотреть сообщение
Но легче не станет.
Ошибку не выдает, но и тарифы не выводит
Цитата Сообщение от IGPIGP Посмотреть сообщение
Структуру лучше бы назвать Bicycle (велосипед). Поле vel - age_group (возрастная группа). Стоимость - тип int, float или double.
я учту)
Цитата Сообщение от IGPIGP Посмотреть сообщение
Вообще это не задача, а курсовая работа, то есть не на 15 мин. дело. Посмотрю, что смогу сделать.
огромное спасибо, вообще, за какое-либо внимание к проблеме
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
09.05.2014, 09:16 #15
DramaQueen, не было времени вдуматься, вот посмотрите, может что-то пригодится. До после праздника, с коим и поздравляю!
1
Вложения
Тип файла: 7z Bycicle.7z (3.6 Кб, 4 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 09:16
Привет! Вот еще темы с ответами:

Замена switch полиморфизмом - C#
Здравствуйте. Читаю в данный момент книгу по рефакторингу, решил посмотреть свой старый код и переделать. Скажите, как можно заменить это...

Замена конструкции switch словарем - Java
Здравствуйте форумчане! Есть задача вывести словами трехзначное число(325 -&gt; ТристаДвадцатьПять, 512 -&gt; ПятсотДвенадцать) Написал код,...

замена switch.case константами класса - PHP ООП
есть папка lang. в ней хранятся файлы rus.php, eng.php и тд. Содержимое их выглядит примерно так: rus.php class LANG{ static...

Ошибки на интерфейсе Cisco Switch - Cisco
В чем может быть проблема? Физика? На порту коммутатора на другом конце у провайдера вроде все в норме.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.05.2014, 09:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru