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

Ошибка в логической операции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа case http://www.cyberforum.ru/cpp-beginners/thread815240.html
Здравствуйте! У меня есть следующая задача: "В китайском гороскопе года носят следующие названия: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, петух, собака, свинья. Учитывая, что 1996 - год крысы, написать программу, определяющую название года по его номеру." Оригинал: "У китайському гороскопі роки носять такі назви: щур, корова, тигр, заєць, дракон, змія, кінь, вівця,...
C++ C# C++ Задача поиск определенного символа в строке, запись того что после него в дргую строку Вот пошагово: 1)Создать файл из символов, последний символ *(маркер) 2)После маркера записать ешё некоторое кол-во символов 3) ДАлее анализируя файл мы в новый файл должны переписать то что мы сделали во втором пункте. PS Все файлы их названия вводятся с клавиатуры непосредственно в самой программе. Пока как то так. Адская смесь C# и C++ Пишу вот в таком стиле: #include<iostream>... http://www.cyberforum.ru/cpp-beginners/thread815229.html
Поиск в глубину(топологическая сортировка графа) C++
Помогите с кодом: на входе файл есть файл вида: n m v1 u1 v2 u2 .... vm um Здесь n - количество вершин графа (целое число, больше нуля), m - количество ребер графа (целое число, больше нуля), vi и ui * - Начальная и конечная вершина ребра i (1 ≤ vi ≤ n,
C++ Файл: Фильтрация входных данных
Здравствуйте, случилась такая вот проблема. Из кода можно видеть что работа с вводом данных начинается если введён номер аккаунта от 1 до 100 но проблема в том, что если ввести например букву вместо номера аккаунта то программа выдаёт непрерывный поток фраз. Моя попытка проверки вводимых данных не увенчалась успехом. Помогите кто знает. void add_new() { int i; clientData client; ...
C++ Оптимизация, рефакторинг кода http://www.cyberforum.ru/cpp-beginners/thread815200.html
Программа написанная для лаб.работы по предмету "Теория Графов". Программа с задачей перейти из одного способа задания(мб другое слово) графа в другой. Ниже приведен код, где осуществляется переход из способа "Гамма Соответствия" в способ "Матрицы Смежности". Можно ли получить консультацию и оценку кода? Упрощение и прочее. #include <iostream.h> #include <stdlib.h> void main() { ...
C++ Проблемы с мытематической функцией В Visual Studio подчеркивает pow #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> //#include <stdlib.h> int main (void) { int A; int i, P,min,kol; подробнее

Показать сообщение отдельно
iNsomNia7
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 32

Ошибка в логической операции - C++

22.03.2013, 02:04. Просмотров 496. Ответов 7
Метки (Все метки)

Напишите программу, которая циклически будет запрашивать ввод пользователем двух денежных сумм, выраженных в фунтах, шиллингах, пенсах. Программа должна складывать введенные суммы и выводить на экран результат, такжк выраженный в фунтах, шиллингах и пенсах. После каждой итерации программа должна спрашивать пользователя, желает ли он продолжить работу программы. При этом рекомендуется использовать цикл do. Естественной формой взаимодействия программы с пользователем была бы следующая:

Введите первую сумму: 5 10 6
Введите вторую сумму: 3 2 6
Всего 8 13 0
Продолжить(y/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
35
36
37
38
39
40
41
//8.cpp
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    char dir = 'a';
    while(dir != 'n')
    {
        unsigned int pounds1, pounds2, shil1, shil2, peni1, peni2;
        cout << "Enter the first sum: ";
        cin >> pounds1 >> shil1 >> peni1;
        cout << "Enter the second sum: ";
        cin >> pounds2 >> shil2 >> peni2;
        unsigned int pp = peni1 + peni2;
        unsigned int ss = shil1 + shil2;
        unsigned int popo = pounds1 + pounds2;
        if(pp > 11)
        {
 
            pp = pp - 12;
            ++ss;
        }
        if(ss > 19)
        {
            ss = ss - 20;
            ++popo;
        }
        cout << "Result is: " << popo << ' ' << ss << ' ' << pp << endl;
        do
        {
            cout  << "Continue?(y/n) ";
            dir = getche();
            cout << endl;
        }
        while(dir != 'n' || dir != 'y');
    }
 
    system("pause");
    return 0;
}

Проблема в

C++
1
2
3
4
5
6
7
do
        {
            cout  << "Continue?(y/n) ";
            dir = getche();
            cout << endl;
        }
        while(dir != 'n' || dir != 'y');
По идее должен либо заново выполнять программу при нажатии 'y' или же завершать работу при нажатии 'n', но ни того, ни другого не происходит. Пробовал задавать лишь одно условие while(dir != 'n'), все работало нормально...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru