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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 09:18   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И через if, и через switch можно, разница только во внешнем виде.
Цитата:
сколько стоимость 3 минут я вот додуплить не могу
Полязователя просят ввести код города и длительность. Чтобы узнать цену его разговора надо просто умножить длительность разговора на цену 1 минуты для соответствующего города. Как это сделать уже зависит от того как хранить данные о городах и ценах (что проходили).

Если со свитчем и данные ни в каком массиве\структуре и т.п. не хранить, то просто:
Код:
switch(переменная с кодом города)
{
case 423:
   cout << "Владивосток" << endl;
   cout << "Цена минуты: 2.20" << endl;
   cout << "Стоимость разговора: " << цена минуты этого города*переменная с длительностью разговора << endl;
   break;
case 979:
...
case тыщапицот:
...
default: //если надо что-то делать когда введен неверный код
}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.09.2011 в 13:58.
Alex11223 вне форума Ответить с цитированием
Старый 27.09.2011, 11:48   #12
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Я всеравно не понял с вычеслением алгоритма вот мой код посмотрите
Код:
#include <iostream>
#include <windows.h>
using namespace std;
int main ()
{
	SetConsoleOutputCP(1251);
 
	int kodgoroda, dlitelnost, stoimost;

	cout<<"Ведите код города"<<endl;
	cin>>kodgoroda;

	cout<<"Ведите длительность минут"<<endl;
	cin>>dlitelnost;

	stoimost=2.20*dlitelnost;

	switch(kodgoroda)
	{
	case 423:
		cout<<"Владивосток"<<endl;
		cout<<"Цена минуты 2.20"<<endl;
		cout<<"Стоимость разговора : "<<stoimost<<endl;
		break;
	case 950:
		cout<<"Москва"<<endl;
		cout<<"Цена минуты 1.00"<<endl;
		cout<<"Стоимость разговора :"<<stoimost<<endl;
		break;
	case 815:
		cout<<"Мурманск"<<endl;
		cout<<"Цена минуты 1.20"<<endl;
		cout<<"Стоимость разговора :"<<stoimost<<endl;
		break;
	case 846:
		cout<<"Самара"<<endl;
		cout<<"Цена минуты 1.40"<<endl;
		cout<<"Стоимость разговора :"<<stoimost<<endl;
		break;
	default:
		cout<<"Такого города не сушествует"<<endl;
	}
}
что я не так сделал в вычеслении?

Последний раз редактировалось Stilet; 27.09.2011 в 21:50.
FRATER1234 вне форума Ответить с цитированием
Старый 27.09.2011, 13:56   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
stoimost=2.20*dlitelnost;
Перечитай мой код выше. Цена же разная для всех городов.
UPD: хотя я там написал "переменная", а их у нас нету. Имелось в виду просто 2.20*длительность и т.д. для каждого города с ценой этого города.

Кстати, переменная со стоимостью разговора должна быть не целочисленного типа, тут же не нужно "округлять" 4.40 до 4 и т.д.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.09.2011 в 14:02.
Alex11223 вне форума Ответить с цитированием
Старый 27.09.2011, 14:15   #14
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

так а свитч ругаеться на double (( а как сделать с остатком если я пробывал деление по модулю нефига не получаеться((
FRATER1234 вне форума Ответить с цитированием
Старый 27.09.2011, 14:17   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

код города-то за что double?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.09.2011 в 14:22.
Alex11223 вне форума Ответить с цитированием
Старый 27.09.2011, 16:35   #16
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Получаеться мне поросто код города оставить в int а вычисления вывести через double ?я правельно понял и он тогда не будет ругаться на switch
FRATER1234 вне форума Ответить с цитированием
Старый 27.09.2011, 16:39   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да, длительность разговора тоже можно int. Попробовал бы, а не спрашивал) Возможно еще возникнут проблемы с выводом лишних знаков после запятой, но не уверен, в любом случае гугл знает как это решить.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.09.2011 в 16:43.
Alex11223 вне форума Ответить с цитированием
Старый 27.09.2011, 19:07   #18
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Всё сделал спс вам за помощь весьма благодарен
вот мой код
Код:
#include <iostream>
#include <windows.h>
using namespace std;
int main ()
{
	SetConsoleOutputCP(1251);
 
	int kodgoroda, dlitelnost; 
	double stoimost1, stoimost2, stoimost3, stoimost4, ostatok;

	cout<<"Ведите код города"<<endl;
	cin>>kodgoroda;

	cout<<"Ведите длительность минут"<<endl;
	cin>>dlitelnost;

    stoimost1=2.20*dlitelnost;
	stoimost2=1.00*dlitelnost;
	stoimost3=1.20*dlitelnost;
	stoimost4=1.40*dlitelnost;
	
    switch (kodgoroda)
	{
	case 423:
		cout<<"Владивосток"<<endl;
		cout<<"Цена минуты 2.20"<<endl;
		cout<<"Стоимость разговора : "<<stoimost1<<endl;
		break;
	case 950:
		cout<<"Москва"<<endl;
		cout<<"Цена минуты 1.00"<<endl;
		cout<<"Стоимость разговора :"<<stoimost2<<endl;
		break;
	case 815:
		cout<<"Мурманск"<<endl;
		cout<<"Цена минуты 1.20"<<endl;
		cout<<"Стоимость разговора :"<<stoimost3<<endl;
		break;
	case 846:
		cout<<"Самара"<<endl;
		cout<<"Цена минуты 1.40"<<endl;
		cout<<"Стоимость разговора :"<<stoimost4<<endl;
		break;
	default:
		cout<<"Такого города не сушествует"<<endl;
		break;
	}
}
Воть работаеть)

Последний раз редактировалось Stilet; 27.09.2011 в 21:50.
FRATER1234 вне форума Ответить с цитированием
Старый 27.09.2011, 19:18   #19
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Я наверно уже вас достал скорей всего но вот ишо чисто я сам пишу игру эелементарную "Как стать миллионером" и я вот что хотел спросить как сделать 4 вопроса выбирая?? как сделать остановку игры ?? и забирание денег ??
вот мой начальный код через if делаю
Код:
#include <iostream>
#include <Windows.h>
using namespace std;
void main ()
{
	SetConsoleOutputCP(1251);


	cout<<"Добро пожаловать. В игру Как стать милионером."<<endl;
	cout<<"Давай с играем утебя есть 2 ответа один из них правельный выбор затобой"<<endl;

	
	bool choose1,zaberaem,choose2,choose3;
	
	cout<<"И так ваш первый вопрос"<<endl;
	cout<<"Первый вопрос : Какая операционная система Windows самая старая?"<<endl;

	
	cout<<"0 - Windows 7"<<endl;
	cout<<"1 - Windows 95"<<endl;
	cin>>choose1;
    if (choose1)
	{
		cout<<"Вы выйграли 100грн"<<endl;
	}
	else{
	
		cout<<"Вы проиграли"<<endl;
	}
	
	cout<<"Играем Дальше?"<<endl;
	cout<<"1-Да 0-Нет"<<endl;
	cin>>zaberaem;
	
	if (zaberaem)
	{
		cout<<"да играем"<<endl;

	}
	else{
	
		cout<<"Поздровляем вас с выйгрешем в 100грн"<<endl;
	}
	
	cout<<"Второй вопрос : Кто глава компании Apple?"<<endl;
	cout<<"И так варианты ответов"<<endl;

	cout<<"1-Стив Джобс"<<endl;
    cout<<"0-Билл Гейтц"<<endl;

	if (choose2)
	{
		cout<<"Вы выйграли 200грн"<<endl;
	}
	else{
	
		cout<<"Вы проиграли"<<endl;
	}

}

Последний раз редактировалось Stilet; 27.09.2011 в 21:50.
FRATER1234 вне форума Ответить с цитированием
Старый 27.09.2011, 21:27   #20
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Может ктото мне помочь с моим кодом? с игрой? просто я не могу понять как остановить её и как сделать чтоб в конце каждого вопроса можно было забрать деньги
FRATER1234 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться feesta Помощь студентам 0 10.04.2011 20:19
Не могу разобраться Lokin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 22.03.2010 22:45
Не могу разобраться Zmaxer Помощь студентам 24 10.10.2009 18:52