Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Курсова работа по ООП С++

Featured Replies

Да се напише програма на С++, която отработва данните за пътниците на едно летище и:

    1. Дефинира клас, който съдържа следните данни: номер на полет, номер на билета, име на пътник, пол, номер на място, направление, цена на застраховка и минимум следните методи:

- 2 конструктора (един по подразбиране, един с параметри)

- метод за отпечатване на информацията на обект от този клас.

   2. Дефинира клас, който съдържа минимум следните данни: име на летище,  масив, чиито са обекти от предишният клас(размерът на масива се променя динамично).

Класът притежава минимум следните методи:
-2 конструктора(един по подразбиране, един с параметри)

-метод пожелание.

-метод за отпечатване съдържание на масива.

-метода за добавяне на пътник.

-метод за изтриване(по номер на билета) данните на пътник.

- по номер на полет извежда данните за всички негови пътници.

 

  Значи направил съм всичко, но не знам как да направя валидация, искам когато се въвежда номера на билета и се въведе съществуващ билет да изпише че вече има пътник с такъв билет и да поискам отново да се въведе билета.

  Опитах се със 2 for цикъла но нещо не става
 

fc11de79d97310fa.png

Редактирано от NerdyBurdy (преглед на промените)

Да се напише програма на С++, която данните за пътниците на едно летище и:

    1. Дефинира клас, който съдържа следните данни: номер на полет, номер на билета, име на пътник, пол, номер на място, направление, цена на застраховка и минимум следните методи:

- 2 конструктора (един по подразбиране, един с параметри)

- метод за отпечатване на информацията на обект от този клас.

   2. Дефинира клас, който съдържа минимум следните данни: име на летище,  масив, чиито са обекти от предишният клас(размерът на масива се променя динамично).

Класът притежава минимум следните методи:

-2 конструктора(един по подразбиране, един с параметри)

-метод пожелание.

-метод за отпечатване съдържание на масива.

-метода за добавяне на пътник.

-метод за изтриване(по номер на билета) данните на пътник.

 

  Значи направил съм всичко, но не знам как да направя валидация, искам когато се въвежда номера на билета и се въведе съществуващ билет да изпише че вече има пътник с такъв билет и да поискам отново да се въведе билета.

  Опитах се със 2 for цикъла но нещо не става

Покажете кода, който сте написал, така по спомени на очевидци трудно ще ви помогнем :)

  • Автор

Покажете кода, който сте написал, така по спомени на очевидци трудно ще ви помогнем :)

готово ;)

Когато потребителя въвежда билет, запазваш въведеното в някаква temp променлива. Пускаш един цикъл, които да върти всички въведени билети и ако няма съвпадение тогава запазва временната променлива като верен билет. Цялото това въвеждане и проверка го вкарваш в един do while, който ти изписва грешка и иска ново въвеждане, докато не вкараш билет който не съществува.

@NerdyBurdy Не ти схващам логиката на тея цикли изобщо.Проверка на нещо вече съществуващо би трябвало да бъде

   for (int i=0; i<n_br; i++) {
      n_m[i].readпътник();
      do {
        flag=0;
        n_m[i].readбилет();
        for (int j=0; j<i; j++) 
           if (n_m[i].alabala()==n_m[j].alabala()) {
             cout<<"Съществува вече такъв билет";
             cout<<"Въведете отново билета";
             flag=1;
             break;
             }
       } while (flag);

       

Редактирано от ined (преглед на промените)

Също така тези n_m и n_br хич не са читави имена за променливи. Имената трябва да са описателни и да обясняват за какво служи дадената променлива.

  • Автор

 

@NerdyBurdy Не ти схващам логиката на тея цикли изобщо.Проверка на нещо вече съществуващо би трябвало да бъде

   for (int i=0; i<n_br; i++) {
      n_m[i].readпътник();
      do {
        flag=0;
        n_m[i].readбилет();
        for (int j=0; j<i; j++) 
           if (n_m[i].alabala()==n_m[j].alabala()) {
             cout<<"Съществува вече такъв билет";
             cout<<"Въведете отново билета";
             flag=1;
             break;
             }
       } while (flag);

       

Написах твоя код но пак не става

bd3762de4ed6aadb.pngкато пусна програмата излиза ето това:

при въвеждането на първият пътник не дава никакви проблеми но когато започна да въвеждам данните на вторият пътник и стигна до въвеждането на билета след като въведа нещо и там enter излиза тази грешка

3109811fdb737cff.png

Редактирано от NerdyBurdy (преглед на промените)

Дава ви грешка не защото кода е сбъркан, ами защото грешно сте го преписали.

Увеличавате i вместо j във втория цикъл for, по този начин не само не проверявате вече въведените билети ами и стигате да проверка на пътници за които още няма въведени данни както и адреси от паметта които нямат нищо общо с масива n_m[]. 

 

И се престанете с тея картинки ако обичате, форума има таг за код <> не знам защо не го ползвате.

Редактирано от ined (преглед на промените)

  • Автор

Дава ви грешка не защото кода е сбъркан, ами защото грешно сте го преписали.

Увеличавате i вместо j във втория цикъл for, по този начин не само не проверявате вече въведените билети ами и стигате да проверка на пътници за които още няма въведени данни както и адреси от паметта които нямат нищо общо с масива n_m[]. 

 

И се престанете с тея картинки ако обичате, форума има таг за код <> не знам защо не го ползвате.

Много ви благодаря, програмата тръгна и върви както трябва.Много ми помогнахте. :)

  • 2 седмици по-късно...
  • Автор

Здравейте моля помогнете ми за следният метод: 

  -извежда данните за най-възрастната пътничка, платила най-скъпата застраховка.

a1ed03c9d8d36fb8.pngпогледнете и кода който съм задал като коментар

Редактирано от NerdyBurdy (преглед на промените)

Да оставим кода на страна, самия критерий е сбъркан - трябва да има някакъв приоритет кое е по-важно възрастта или застаховката - примерно първо търсиш кои жени са платили най-голямата застраховка и след това от тях коя е най-възрастната.

Редактирано от ined (преглед на промените)

  • Автор

Да оставим кода на страна, самия критерий е сбъркан - трябва да има някакъв приоритет кое е по-важно възрастта или застаховката - примерно търсиш кои жени са платили най-голямата застраховка и след това от тях коя е най-възрастната.

По принцип е така и аз се чудех какъв приоритет да сложа, но в условието което го пише на курсовата ми е точно така написано както аз съм го написал на вас.

Аз си мисля възрастта е с приоритет и ако има да кажем една жена на 80 години то тогава какво и да е нейната застраховка тя ще е най-скъпата застраховка

Трябват ми много спешно тези курсови задачи,почти не разбирам от програмиране :( .Благодаря предварително !! 

Съставете програма с функция на main() и избор чрез меню на функции за: 
1/ Въвеждане от клавиатура в масив до 20 реални числа 
2 /Определяне колко от тях са по-големи от съседните (предходния и следващия елемент от масива) и съхраняването на тези числа и поредния им номер в нов двумерен масив; 
3/ Презаписване на входния масив в нов и сортирането на този масив във низходящ ред; 
4/ Извеждане на екрана на входния масив и съответния нов масив с пояснителен текст. 

Съставете програма с функции за: 
1/ Въвеждане от клавиатурата във файл и в масив (чрез добавяне) данни за продажба на леки коли (до 40) от автокъщи: автокъща, автомобил номер, марка, година на производство, цена. Извеждане текущото съдържание на масива (файла) на екран; 
2/ Извеждане на екран справка за всички продавани леки коли от избрана автокъща(със запитване за нова справка); 
3/ Извеждане на екран данните за най-евтина кола по зададени от клавиатурата марка и година на производство. 

Главна функция main() с меню за избор на функциии проверка за състоянието на данните. Използване на глобални променливи или функции с предаване на параметри - по избор.

Това случакно да не беше бившия "бъдещ министър"?

Редактирано от ined (преглед на промените)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.