Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 1710
∙ повысить рейтинг »
Гаряка Асмик
Статус: Бакалавр
Рейтинг: 1623
∙ повысить рейтинг »
_Ayl_
Статус: Студент
Рейтинг: 1544
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / C/C++

Номер выпуска:1482
Дата выхода:31.01.2010, 08:30
Администратор рассылки:Dr_Andrew, Старший модератор
Подписчиков / экспертов:682 / 190
Вопросов / ответов:1 / 1
IRC-канал по теме:#C

Вопрос № 176287: Помогите пожалуйста исправить/переделать слегка программу. В ходе переделки, у меня появилась проблема которую я не понимаю как исправить. Код программы в приложении. Задание: Работа с восьмеричными числами. Восмеричные числа записываются в массив...



Вопрос № 176287:

Помогите пожалуйста исправить/переделать слегка программу. В ходе переделки, у меня появилась проблема которую я не понимаю как исправить. Код программы в приложении.
Задание: Работа с восьмеричными числами. Восмеричные числа записываются в массив, т.е. например вводим число 15(массив получается a[0]=1 a[1]=5) и выводится число 15. Программа должна выполнять операции(сложение, вычитание, умножение и т.д.) с восмеричными числами.
Пример: меню программы:
1 - сложение
2 - вычитание
.....
8 - сдвиг влево
Выбираем например действие 1(сложение). Программа просит ввести два восмеричных числа и складывает их.
Далее выбираем действие 2(вычитание). Программа просит ввести новые два восмеричных числа и вычитает их.
Как нужно переделать: программа полностью работает нормально, но преподавателю не нравится, что у меня при каждом выборе действия, нужно вводить новые восмеричные числа. Поэтому препод. сказал мне сделать так, чтобы 1 раз ввел два восмеричных чис ла и при кажом выборе действия выдовался сразу результат. Т.е. меню будет выглядеть вот так:
1 - введите 1 восмеричное число
2 - введите 2 восмеричное число
3 - сложение
.....

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

Отправлен: 25.01.2010, 13:32
Вопрос задал: Azarov88, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Лейла, 4-й класс :
Здравствуйте, Azarov88.
Подправленная программа в приложении.
Теперь после сдвига вправо/влево вы продолжаете работать со старыми значениями.
Для этого было изменено:
1. начальные числа задаются один раз. Их объявление до цикла while (true) (чтобы они не обнулялись).
Octal obj1;
Octal obj2;
Задаются здесь:
case 'z': obj1.vvod(); obj2.vvod(); break;

2. всегда работаем с промежуточным obj3, не затирая obj1 и obj2:
case '8':obj3=obj1;
obj3.sdvig_right();
case '9':obj3=obj1;
obj3.sdvig_left();

Программа также работала с новыми значениями после операций
obj1.incr(); и obj1.decr(); потому что затирались старые значение obj1

Исправляем так:
obj3.incr(obj1); //в параметрах передаем объект-цифру, а результат записывается в obj3.
obj3.decr(obj1);

Соответственно, заголовки процедур изменяем так:
void Octal::incr(Octal &M)
и void Octal::decr(O ctal &M)

Добавлен уточненный вариант программы по просьбе автора ответа
-----
∙ Отредактировал: Сучкова Татьяна Михайловна, Администратор
∙ Дата редактирования: 31.01.2010, 00:50 (время московское)

Приложение:

Ответ отправил: Лейла, 4-й класс
Ответ отправлен: 26.01.2010, 20:13
Номер ответа: 258982

Оценка ответа: 5

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 258982 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 23.01.2010

    В избранное