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

На Простом СИ!!! - C++

Восстановить пароль Регистрация
 
zRemix
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 20
21.04.2010, 10:09     На Простом СИ!!! #1
Народ нужна помощь очень сильно надо решить вот такую задачку буду очень благодарен кто поможет...
выслать задачку можно на почту Calipso-777@mail.ru или выложить тут...
Очень надеюсь что кто нить поможет...
А вот собственно она:
Продавец продает соки двух сортов. Перед началом работы он загружает полностью емкости объемом 20 стаканов. Стакана сока каждого сорта имеет свою цену.
Разработать функцию, моделирующую обслуживание продавцом одного покупателя при условии, что каждый покупатель заказывает только один стакан сока и при расчете ему может быть выдана сдача.
Разработать программу, использующую созданную функцию и моделирующую обслуживание очереди из 30 человек.

Добавлено через 13 часов 47 минут
буду очень благодарен кто сможет подсказать хотя бы как как ее составить...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uggway
219 / 133 / 9
Регистрация: 12.04.2010
Сообщений: 248
21.04.2010, 11:56     На Простом СИ!!! #2
Примерно так:
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
int money =1000;//начальные деньги продовца
int cost[]={100,200};//цена 
int juice[]={20,20};//количество 
 
int func(int type,int m)
{
    int c = cost[type];
    if(juice[type]==0) return m;
    if(m >= c){
         if(money >= m-c){
               money+=c;
               juice[type]--;
               return m-c;
         }
    }
    return m;   
}
 
int  main(void)
{int s;int t;
    for(int i = 0;i<30;i++){
        cout<<"Покупатель "<<i<<endl<<"Тип сока:"<<endl;
        cin>>t;
        cout<<"Деньги:"<<endl;
        cin>>s;
        s = func(t,s);
        cout<<"Сдача:"<<s<<endl;
   } 
    return 0;
}
zRemix
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 20
21.04.2010, 13:20  [ТС]     На Простом СИ!!! #3
Спасибо большое uggway
stv
26 / 26 / 6
Регистрация: 05.03.2010
Сообщений: 171
21.04.2010, 13:24     На Простом СИ!!! #4
Цитата Сообщение от uggway Посмотреть сообщение
cout
Такой "простой" Си
zRemix
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 20
21.04.2010, 13:48  [ТС]     На Простом СИ!!! #5
было бы неплохо если другие тоже изложат свою точку зрения на эту задачку...
п.с Если не трудно разъясняйте я тока начал изучать СИ и немного не понимаю в функциях...
Буду благодарен таким людям как uggway...
stv
26 / 26 / 6
Регистрация: 05.03.2010
Сообщений: 171
21.04.2010, 14:06     На Простом СИ!!! #6
Код, предложенный uggway на языке С++.
Вот его аналог на Си
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
int money =1000;//начальные деньги продавца
int cost[]={100,200};//цена 
int juice[]={20,20};//количество 
 
int func(int type,int m)
{
    int c = cost[type];
    if(juice[type]==0) return m;
    if(m >= c){
         if(money >= m-c){
               money+=c;
               juice[type]--;
               return m-c;
         }
    }
    return m;   
}
 
int  main(void)
{int s;int t;
    for(int i = 0;i<30;i++){
        printf("Customer: %i \nKind of juice: ", i+1);
        scanf("%i", &t);
        printf("Money: ");
        scanf("%i", &s);
        s = func(t,s);
        printf("Change: %i", s);
   } 
    return 0;
}
zRemix
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 20
21.04.2010, 16:24  [ТС]     На Простом СИ!!! #7
stv благодарю за корректировку для простого СИ теперь не мог ли ты разъяснить каждую функцию что она выполняет...
stv
26 / 26 / 6
Регистрация: 05.03.2010
Сообщений: 171
21.04.2010, 16:59     На Простом СИ!!! #8
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
int money =1000;//начальные деньги продавца
int cost[]={100,200};//цена 
int juice[]={20,20};//количество 
 
int func(int type,int m)    /*Функция принимает в качестве параметров два целочисленных               значения: тип напитка (1 или 2) и количество денег у покупателя m. */
{
    int c = cost[type];   //Записываем в с цену текущего напитка
    if(juice[type]==0) return m; /*Если напиток кончился, возвращаем то же самое кол-во денег без покупки */
    if(m >= c){    /*Если денег у покупателя больше, чем стоимость напитка, то*/
         if(money >= m-c){ /*Если у продавца хватает на сдачу*/
               money+=c;  /*Прибавляем плату за напиток к деньгам продавца*/
               juice[type]--; /*Уменьшаем кол-во напитка, т.к. он только что был продан*/
               return m-c; /*Возвращаем сдачу*/
         }
    }
    return m;   /*Иначе возвращаем деньги без напитка*/
}
 
int  main(void)
{int s;int t; /*t - тип напитка; s - кол-во денег у покупателя*/
    for(int i = 0;i<30;i++){
        printf("Customer: %i \nKind of juice: ", i+1);
        scanf("%i", &t);
        printf("Money: ");
        scanf("%i", &s);
        s = func(t,s); /*Передаем в функцию кол-во денег и тип напитка, возвращаем сдачу*/
        printf("Change: %i", s); /*Выводим сдачу*/
   } 
    return 0; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2010, 19:05     На Простом СИ!!!
Еще ссылки по теме:

C++ Шаблонная функция в простом классе и ошибка "Ссылка на неразрешенный внешний символ"
Найти ошибку в простом уравнении C++
Управление потоками на простом примере C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zRemix
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 20
21.04.2010, 19:05  [ТС]     На Простом СИ!!! #9
Спасибо stv за корректировку задачки и разъяснения...
Однокурсники не могут решить задачки также как и я...
Тоже нуждаются в помощи Народ кто может помогите а то завтра надо здать а если не здадим будет очень хороший втык...
Также спасибо за помощь таким людям как stv и uggway...
Народ если не трудно помогите однокурсникам вот две их задачки:

1) Студент ведет картотеку библиографических описаний публикаций по интересующей его теме. В картотеку он включает карточки с описаниями книг и статей из сборников и периодических изданий (научно-технических и научно-популярных журналов, специализированных и массовых газет).
Каждое библиографическое описание обязательно выключает название публикации, автора или авторов (не более трех). Другие части описания выключаются в зависимости от вида издания, в котором помещена публикация.
Для книги указываются город, где издана книга, наименование издательства, год издания и об ем в страницах.
Для статьи в сборнике – название сборника, номер сборника (если он имеется), город, год, номер страницы, на которой начинается публикация и через дефис номер страницы, на которой она заканчивается.
Для статьи в периодическом издании – название издания, номер тома, номер выпуска, год издания, номера страниц начала и конец статьи.
Для статьи в газете – название газеты, город, дата выхода газеты, порядковый номер газеты.
В карточку для каждой публикации заносятся ключевые слова (не более пяти), характеризующие содержание публикации и дата заполнения карточки.
Разработать программу, реализующую рабочее место ведения картотеки библиографических описаний. Разработать для использования в программе функции:
включения публикации в картотеку;
формирования по запросу перечня публикаций заданного автора;
формирования по запросу перечня публикаций, содержащих в описании заданное ключевое слово;
формирования по запросу перечня публикаций, изданных в указанном году.

вот его почта: nykke@mail.ru

а вот вторая задачка:

В гостиницу прибыла группа из К туристов. Каждый турист должен быть поселен в отдельный номер. Администратор располагает перечнем свободных номеров с указанием их вместимости (одноместный, двухместный, трехместный). Кроме того, у администратора имеется поступивший независимо от этого перечня перечень номеров, в которых будет производиться замена мебели.
Разработать функцию, которая описывает алгоритм поселения туриста в номер, и использующую ее программу, моделирующую работу администратора при следующих предположениях:
поселение происходит в одноместные номера и только при их отсутствии в номера большей вместимости (сначала в двухместные, а по их занятии – в трехместные);
поселение возможно только в те номера, в которых не будет производиться замена мебели;
после окончания поселения у администратора образуется перечень поселенных туристов с указанием занимаемых ими номеров.

и его почта : boikoolegnet@mail.ru

Очень надеюсь что найдутся люди которым не тяжело за это взяться...
Yandex
Объявления
21.04.2010, 19:05     На Простом СИ!!!
Ответ Создать тему
Опции темы

Текущее время: 17:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru