Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2017, 18:29   #1
Протогонист
Новичок
Джуниор
 
Регистрация: 20.07.2017
Сообщений: 3
По умолчанию [C++] Почему сообщение при компиляции не по порядку?

Добрый день, я только начал изучать С++. Подскажите, пожалуйста, что надо поправить в программе, чтобы слова располагались правильно по смыслу?

//Пользователь вводит число от 1 до 9999 (сумму выдачи в банкомате).
//Необходимо вывести на экран словами введенную сумму и в конце написать название валюты с правильным окончанием.
//Например: 7431 — семь тысяч четыреста тридцать один доллар, 2149 — две тысячи сто сорок девять долларов, 15 — пятнадцать долларов, 3 — три доллара.

Код:
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
	int i, x, x1, y,y1, z,z1, q,q1,q2;// задаем переменные
	
	cout << "Vvedite chislo: ",
		cin >> i;
	i >= 0 && i < 10000;// определяем условия основного числа
	x = i % 10;// вводим значения от 1 до 9
	
	x1 = i%100;// вводим значения от 10 до 19
	x1 = x + 10;
	x = x1 - 10;
	x1 >= 10 && x1 <= 19;
	
	y = i / 10;// вводим значения от 20 до 90, т.е. десятки
	y1 = y % 10;
	y1 >= 2 && y1 <= 9;

	z = y / 10;// вводоим значения для сотен 100-900
	z1 = z % 10;
	z1 >= 0 && z1 <= 9;
	

	z = y / 10;// вводоим значения для сотен 100-900
	z1 = z % 10;
	z1 >= 0 && z1 <= 9;

	q = z / 10;// вводоим значения для тысяч 1000-9000
	q1 = q % 10;
	q1 >= 0 && q1 <= 9;

	q2 = z % 100;// вводим значения от 10 до 19 для десятков тысяч
	q2 >= 10 && q2 <= 19;


	w = i / 10000;// вводим значения от 20 до 90, т.е. десятки
	w >= 2 && w <= 9;
	
	if (w = 2), { cout << "dvadcat"; }
	else if (w = 3); { cout << "tridcat"; }
	else if (w = 4), { cout << "sorok"; }
	else if (w = 5),{ cout << "pyatdesyat"; }
	else if (w = 6),{ cout << "shestdesyat"; }
	else if (w = 7),{ cout << "semdesyat"; }
	else if (w = 8),{ cout << "vosemdesyat"; }
	else if (w = 9),{ cout << "devyanosto"; }

	
	if (q1 == 0)
	else if (q1 == 1){ cout << "odna tisyacha"; }
	else if (q1 == 2){ cout << "dve tisyachy"; }
	else if (q1 == 3){ cout << "tri tisyachy"; }
	else if (q1 == 4){ cout << "chetire tisyachy"; }
	else if (q1 == 5){ cout << "pyat tisyach"; }
	else if (q1 == 6){ cout << "shest tisyach"; }
	else if (q1 == 7){ cout << "sem tisyach"; }
	else if (q1 == 8){ cout << "vosem tisyach"; }
	else if (q1 == 9){ cout << "devyat tisyachy"; }
	else (q2 == 10){ cout << "desyat tisyach"; }
	else if (q2 == 11){ cout << "odinnadcat tisyach"; }
	else if (q2 == 12){ cout << "dvenadcat tisyach"; }
	else if (q2 == 13){ cout << "trinadcat tisyach"; }
	else if (q2 == 14){ cout << "chetirnadcat tisyach"; }
	else if (q2 == 15){ cout << "pyatnadcat tisyach"; }
	else if (q2 == 16){ cout << "shestnadcat tisyach"; }
	else if (q2 == 17){ cout << "semnadcat tisyach"; }
	else if (q2 == 18){ cout << "vosemnadcat tisyach"; }
	else if (q2 == 19){ cout << "devyatnadcat tisyach"; }

	if (z1 == 0)
	else if (z1 == 1){ cout << "sto"; }
	else if (z1 == 2){ cout << "dvesty"; }
	else if (z1 == 3){ cout << "trista"; }
	else if (z1 == 4){ cout << "chetirista"; }
	else if (z1 == 5){ cout << "pyatsot"; }
	else if (z1 == 6){ cout << "shestsot"; }
	else if (z1 == 7){ cout << "semsot"; }
	else if (z1 == 8){ cout << "vosemsot"; }
	else if (z1 == 9){ cout << "devyatsot"; }


	if (y1 == 2){ cout << "dvadcat"; }
	else if (y1 == 3){ cout << "tridcat"; }
	else if (y1 == 4){ cout << "sorok"; }
	else if (y1 == 5){ cout << "pyatdesyat"; }
	else if (y1 == 6){ cout << "shestdesyat"; }
	else if (y1 == 7){ cout << "semdesyat"; }
	else if (y1 == 8){ cout << "vosemdesyat"; }
	else if (y1 == 9){ cout << "devyanosto"; }

	if (x == 0){ cout << "dollarov"; }
	else if (x == 1){ cout << "odin dollar"; }
	else if(x == 2){ cout << "dva dollara"; }
	else if(x == 3){ cout << "tri dollara"; }
	else if(x == 4){ cout << "chetire dollara"; }
	else if(x == 5){ cout << "pyat dollarov"; }
	else if(x == 6){ cout << "shest dollarov"; }
	else if(x == 7){ cout << "sem dollarov"; }
	else if(x == 8){ cout << "vosem dollarov"; }
	else if(x == 9){ cout <<"devyat dollarov"; }
	else (x = x1 - 10 && x == 0){ cout << "desyat dollarov"; }
	else if (x = x1 - 10 && xx == 1){ cout << "odinnadcat dollarov"; }
	else if (x = x1 - 10 && xx == 2){ cout << "dvenadcat dollarov"; }
	else if (x = x1 - 10 && xx == 3){ cout << "trinadcat dollarov"; }
	else if (x = x1 - 10 && xx == 4){ cout << "chetirnadcat dollarov"; }
	else if (x = x1 - 10 && xx == 5){ cout << "pyatnadcat dollarov"; }
	else if (x = x1 - 10 && xx == 6){ cout << "shestnadcat dollarov"; }
	else if (x = x1 - 10 && xx == 7){ cout << "semnadcat dollarov"; }
	else if (x = x1 - 10 && xx == 8){ cout << "vosemnadcat dollarov"; }
	else if (x = x1 - 10 && xx == 9){ cout << "devyatnadcat dollarov"; }
	
	_getch();
	return 0;
}
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 20.07.2017 в 18:44.
Протогонист вне форума Ответить с цитированием
Старый 20.07.2017, 19:21   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Очевидно же поменять ваши иф местами и выводить в любом удобном вам порядке.
p51x вне форума Ответить с цитированием
Старый 21.07.2017, 11:18   #3
Протогонист
Новичок
Джуниор
 
Регистрация: 20.07.2017
Сообщений: 3
По умолчанию Спасибо за ответ. )))

1. Я пробовал менять "иф" местами (первоначально они располагались в обратном порядке) , и это не принесло желаемого результата.
2. Может ли результат зависеть от программы в которой я пишу (Визуал Студио 2013)???

Последний раз редактировалось Протогонист; 21.07.2017 в 12:09.
Протогонист вне форума Ответить с цитированием
Старый 21.07.2017, 12:09   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Я пробовал менять "иф" местами (первоначально они располагались в обратном порядке) , и это не принесло желаемого результата.
Может стоит прочитать основы языка и записать их правильно? Давайте посмотрим на вашу прогу:
Код:
i >= 0 && i < 10000;// определяем условия основного числа
Что это? Куда вы результат дели? Он вам не важен? Тогда зачем эта и подобные строки?

Код:
if (w = 2), { cout << "dvadcat"; }
else if (w = 3); { cout << "tridcat"; }
1. Вы не знаете, чем оператор присвоения от оператора сравнения отличается?
2. Что это за запятые и точки с запятой после условия цикла? Вы в курсе для чего запятая и точка с запятой в языке?

Код:
else (q2 == 10){ cout << "desyat tisyach"; }
Что это? К чему?
p51x вне форума Ответить с цитированием
Старый 21.07.2017, 15:33   #5
Протогонист
Новичок
Джуниор
 
Регистрация: 20.07.2017
Сообщений: 3
По умолчанию

Спасибо за подсказку. Появились идеи. Буду разбираться. Кажется видео -урок №4 не внимательно посмотрел. )))
Протогонист вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему при запуске кода у меня на телефоне не высвечивается сообщение о подключении по bluetooth?|Pybluez kirya86 Python 9 12.05.2017 18:11
Почему при компиляции программы ,все переменные которые начинаются на 0 теряют этот ноль и становятся обрезанными. GRUB_666 Помощь студентам 13 27.12.2016 12:18
Почему разный размер файлов при компиляции? R_G Win Api 4 25.03.2016 12:17