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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Помощ за курсова работа! Не мога да я fix-на

Featured Replies

Здравейте, колеги! Имам изпит скоро с курсова задача! Тази задача ме затруднява и не мога да я довърша.. Моля някой да ми помогне понеже се мъча доста време вече..
Условие:

А) Създаване на файл и масив за регистриране на полети на летище Варна през м. Март на текущата година чрез добаяяване на данни за полета: ден от месеца, номер на полета, трите имена на пилота, брой пътници (първа и втора класа), цена на билетите(първа и втора класа).
Б)Редактиране на съдържанието на файла чрез:
- Корекция на данни в полетата брой пърници по въведен номер на полет;
В)Извеждане на справки за:
-Полетите на зададен пилот;
-Всички регистрирани през месеца полети.
Главна фунцкия main() - с меню за избор на функции и проверка за състоянието на данните. Използване на глобални променливи или функциии с предаване на параметри
- по избор 


и моят код



#include<iostream>
#include<fstream> 
#include<string>
using namespace std;

struct flight
{
int den; //ден на полета
int fln; //номер на полета
char ime[14]; //име на пилота
char prezime[14]; // презиме на пилота
char familia[14]; //фамилия на пилота
int br1; //брой пътници първа класа
int br2; //брой пътници втора класа
float price1; //цена за пътници първа класа
float price2; //цена за пътници втора класа
};
fstream poleti;
int add_flight(flight inf[]) //добавяне на полети
{
int n;
poleti.open("Poleti.txt", ios::out);
if (poleti.fail())
{
cout << "Неуспешно отваряне";
exit(1);
}
cout << "Въведете число (до 30) което ще отговаря на броя полети които ще вкарате: ";
do
{
cin >> n;
} while (n < 0 || n > 30);
for (int i = 0; i < n; i++)
{
cout << "Въведете денят (от 1-ви до 31-ви) в който ще се състой полетът: ";
do{
cin >> inf.den;
} while (inf.den < 1 || inf.den > 31);
poleti << inf.den << endl;
cout << "Номер на полетът: ";
cin >> inf.fln;
poleti << inf.fln << endl;
cout << "Име на пилота: ";
cin >> inf.ime;
poleti << inf.ime << endl;
cout << "Презиме: ";
cin >> inf.prezime;
poleti << inf.prezime << endl;
cout << "Фамилия: ";
cin >> inf.familia;
poleti << inf.familia << endl;
cout << "Брой пътници от първа класа (от 0 до 24): ";
do{
cin >> inf.br1;
poleti << inf.br1 << endl;
} while (inf.br1 < 0 || inf.br1 > 24);
cout << "Брой пътници от втора класа (от 0 до 500): ";
do{
cin >> inf.br2;
poleti << inf.br2 << endl;
} while (inf.br2 < 0 || inf.br2 > 500);
cout << "Цена на билет за първа класа: ";
do{
cin >> inf.price1;
poleti << inf.price1 << endl;
} while (inf.price1 < 1);
cout << "Цена на билет за втора класа: ";
do{
cin >> inf.price2;
poleti << inf.price2 << endl;
} while (inf.price2 < 1);
cout << endl << endl;
}
poleti.close();
return n;
}
void redaktirane(flight inf[], int n) //редактиране на пътници
{
int t_fln; //временен полетен номер
poleti.open("Poleti.txt", ios::out);
poleti.seekg(0);
if (poleti.fail())
{
cout << "Неуспешно отваряне";
exit(1);
}
cout << "Въведете номерът на полета чиито информация желаете да промените: ";
cin >> t_fln;
for (int i = 0; i < n; i++)
{
poleti >> inf.den;
poleti >> inf.fln;
poleti >> inf.ime;
poleti >> inf.br1;
poleti >> inf.br2;
poleti >> inf.price1;
poleti >> inf.price2;
if (t_fln == inf.fln)
{
cout << "Добавете нова ст-ст за пътници първа класа: ";
do{
cin >> inf.br1;
poleti << inf.br1 << endl;
} while (inf.br1 < 0 || inf.br1 > 24);
cout << "Добавете нова ст-ст за пътници втора класа: ";
do{
cin >> inf.br2;
poleti << inf.br2 << endl;
} while (inf.br2 < 0 || inf.br2 > 500);

}
}
poleti.close();
}
void spravka(flight inf[], int n) //справка за всички полети и за полети на зададен пилот
{
int choice2, flag = 0;
string t_ime;
string t_prezime;
string t_familia;
poleti.open("Poleti.txt", ios::in);
poleti.seekg(0);
if (poleti.fail())
{
cout << "Неуспешно отваряне";
exit(1);
}
do{
cout << endl << "Изберете..." << endl;
cout << "1. Изкарване на полет по зададено име на пилот" << endl;
cout << "2. Изкарване на справка за всички полети за месеца" << endl;
cout << "3. Изход" << endl;
cout << "Избор: ";
cin >> choice2;
switch (choice2)
{
case 1:{cout << "Въведете търсеният пилот..." << endl;
cout << "Име: ";
cin >> t_ime;
cout << "Презиме: ";
cin >> t_prezime;
cout << "Фамилия: ";
cin >> t_familia;
for (int i = 0; i < n; i++)
{
poleti >> inf.den;
poleti >> inf.fln;
poleti >> inf.ime;
poleti >> inf.prezime;
poleti >> inf.familia;
poleti >> inf.br1;
poleti >> inf.br2;
poleti >> inf.price1;
poleti >> inf.price2;
if (t_ime == inf.ime && t_prezime == inf.prezime && t_familia == inf.familia)
{
cout << "Ден: " << inf.den << endl;
cout << "Номер на полет: " << inf.fln << endl;
cout << "Име на пилота: " << inf.ime << endl;
cout << "Презиме: " << inf.prezime << endl;
cout << "Фамилия " << inf.familia << endl;
cout << "Брой на пътници първа класа: " << inf.br1 << endl;
cout << "Цена на билет за пътници първа класа: " << inf.price1 << endl;
cout << "Брой на пътници втора класа: " << inf.br2 << endl;
cout << "Цена на билет за пътници втора класа: " << inf.price2 << endl;
cout << endl;
flag++;
}
} break; }
case 2: for (int i = 0; i < n; i++)
{
poleti >> inf.den;
poleti >> inf.fln;
poleti >> inf.ime;
poleti >> inf.prezime;
poleti >> inf.familia;
poleti >> inf.br1;
poleti >> inf.br2;
poleti >> inf.price1;
poleti >> inf.price2;
cout << "Ден: " << inf.den << endl;
cout << "Номер на полет: " << inf.fln << endl;
cout << "Име на пилота: " << inf.ime << " " << inf.prezime << " " << inf.familia << endl;
cout << "Брой на пътници първа класа: " << inf.br1 << endl;
cout << "Цена на билет за пътници първа класа: " << inf.price1 << endl;
cout << "Брой на пътници втора класа: " << inf.br2 << endl;
cout << "Цена на билет за пътници втора класа: " << inf.price2 << endl;
cout << endl;
}
}
} while (choice2 != 3);
poleti.close();
}

void main()
{
setlocale(LC_ALL, "Bulgarian");
int choice1;
int n;
flight inf[30];
do
{
cout << "Меню..." << endl;
cout << "1. Записване на полети (изтрива предишното съдържание при отваряне, ако има такова)" << endl;
cout << "2. Редактиране на съдържание" << endl;
cout << "3. Изкарване на справка" << endl;
cout << "4. Край" << endl;
cout << "Въведете вашият избор: ";
cin >> choice1;
switch (choice1)
{
case 1:n = add_flight(inf); break;
case 2: redaktirane(inf, n); break;
case 3:spravka(inf, n);
}
} while (choice1 != 4);


}


Ще съм ви много благодарен ако ми помогнете! Хубав ден !

Ами и оня ден имаше един, той пък за кораби. 

Не смесвайте С стрингове с С++ STL стрингове. С стринга е последователност от байтове, които завършват с байт със стойност нула. С++ стринга е клас, който пази дължината на стринга и самия стринг, както и капацитета до който може да се увеличава стринга, преди да се наложи реалокация на памет.

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

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

 

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

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

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

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

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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