Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Builder c++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

asyun08

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 1 | Зарегистр. 21-05-2014 | Отправлено: 18:44 21-05-2014
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asyun08

Цитата:
"автомат по продаже продуктов"

Вот такие классы и делай - класс продукт, класс автомат
к примеру поля класса продукт
-Наименование
-Цена
-Тип
-Вид
-Код
-Цвет
-Размер
и т.п.
у автомата важнее будут методы
-продать
-оформить чек
-добавить товар
-убрать товар
и т.п.
 
Добавлено:
Еще хранилище товаров яп (тм) добавил

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 02:44 22-05-2014
rrromano



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Класс продуктов сделать общим родительским с основными базовыми свойствами и методами, а от него унаследовать конкретные продукты со своими уникальными свойствами (например, цвет). Например класс Продукт, от него наследуем Пиво. Или Продукт - Напитки - Пиво.

Всего записей: 283 | Зарегистр. 20-09-2006 | Отправлено: 16:04 23-05-2014
igoreshka3333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#include <iostream.h>
#include <conio.h>
#include<windows.h>
#include <math.h>
 
int main()
{
 SetConsoleCP(1251); //подключение рус.языка
 SetConsoleOutputCP(1251);
 double fu, f, m, i, d, fa;
 cout<<"Введите денежную сумму в долларах: ";
 cin >> d;
 cout << endl << " Фунт стерлингов: " << fu = d/1.487<< endl
 << "Франк: " << f = d/0.172 << endl
 << "Немецкая марка: " << m = d/0.584<< endl
 << "Японская Йена: " << i = d/0.00955;
 getch ();
 return 0;
}
Подскажите, где тут ошибка?

Всего записей: 6 | Зарегистр. 26-07-2014 | Отправлено: 17:00 26-07-2014
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#include <iostream>
...
using namespace std;
 
int main()
...
cout << endl << " pounds: " <<  d/1.487<< endl  
или
cout << endl << " pounds: " <<  (fu = d/1.487)<< endl
...
итд

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 18:32 26-07-2014
igoreshka3333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо!

Всего записей: 6 | Зарегистр. 26-07-2014 | Отправлено: 21:32 26-07-2014
igoreshka3333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
 
int main ()
{
 SetConsoleCP(1251);  
 SetConsoleOutputCP(1251);
 double shilling, pens;
 int newpens,  funt;
 cout <<"Введите количество фунтов: ";
 cin >> funt;
 cout << "Введите количество шилингов: ";
 cin >> shilling;
 cout << "Введите количество пенсов: ";
 cin >> pens;
 newpens = ((12 * shilling) + pens)/2.4;
 cout << "Десятичных фунтов " << funt << "." << newpens;
 getch ();
 return 0;
}
Помогите, пожалуйста. Переменная newpens имеет тип int. Она якобы показывает сотые, a funt целые, но как сделать, что б, будучи целым числом, newpens округлялось. Программа вычисляет только целую часть.. Если допустим результат 88, 9 оно пишет 88, а надо 89!

Всего записей: 6 | Зарегистр. 26-07-2014 | Отправлено: 11:00 27-07-2014
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
...
    printf("%.2f\n", funt + shilling / 12 + pens / 240);
...

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 12:29 27-07-2014
igoreshka3333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ваш пример не зароботал, но, помучавшись, у меня получилось:
 
cin >> pens;
cout << funt << ".";
printf("%.f", ((12 * shilling) + pens)/2.4);
 
Спасибо)
 
printf("%.f" ...... То есть при помощи оператора ПРИНТ и точки производится округление? А можно ли без оператора ПРИНТ?

Всего записей: 6 | Зарегистр. 26-07-2014 | Отправлено: 18:00 27-07-2014
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно, но это будет вдвое длиннее:
cout << setiosflags(ios::fixed) << setprecision(2) << (funt + shilling / 20 + pens / 240);
И ещё придётся #include <iomanip> в начале добавить.
 
В предыдщем примере ошибка- в фунте 20 шиллингов а не 12, значит ...  shilling / 20 ...

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 19:21 27-07-2014 | Исправлено: ne_viens, 19:22 27-07-2014
igoreshka3333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Понял))

Всего записей: 6 | Зарегистр. 26-07-2014 | Отправлено: 19:40 27-07-2014
igoreshka3333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Программа считывает строку и выводит кол-во слов и символов
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#include <iomanip>
 
int main ()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 int chcount = 0;
 int wdcount = 1;
 char ch ;
 cout << "Введите строку: ";
 while(ch != '\r')
  {
   ch = getche();
   if(ch == ' ')
   wdcount++;
   else
   chcount++;
  }
 cout << ""\nCлов: " << wdcount << endl;
 cout << "Букв: " << (chcount - 1)  << endl;
 getch ();
 return 0;
}
 
Обьясните, плиз, почему (chcount - 1). Почему получается лишняя единица?

Всего записей: 6 | Зарегистр. 26-07-2014 | Отправлено: 19:05 29-07-2014 | Исправлено: igoreshka3333, 19:07 29-07-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Builder c++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru