Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти

Курсач

  • Автор темы Автор темы Mileas
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
14 Дек 2018
Сообщения
36
Реакции
0
Карочи, дело к ночи. Учим програмач в универе первые полгода, и ускоренно дошли до ООП. Я в афиге, сокурсники тем более. Кроч, сам курсач пытался раза 3 начинать с нуля, ничего особо не получилось, а потом уже банально перепутал проекты и все пошло через одно место. Вот само задание :

Для дипломников составлена база данных со следующей информацией: факультет, группа, кол-во студентов, кол-во заключенных договоров, сумма заключенных договоров.
Отсортировать записи по убыванию процента заключенных договоров.
Распечатать сведения о факультете, на котором предполагается наименьшее кол-во свободных дипломов.

Всю эту дичь нужно реализовать с помощью структуры и класса (т.е. одна и та же задача, но двумя разными методами). Насколько я понял (не бейте палками, я сильно не шарю) - различие будет только в одном блоке, в котором задаются переменные. Собсна, сам класс или структура. По-идее, остальной код не должен меняться. Это чисто мои мысли, и не факт что это правильно.

Вот это один из тех вариантов, которые я переделывал последним дублем. Крч, помогите либо исправить мою дребедень, либо написать новую.

P.S. учимся только полгода, поэтому никаких заумных функций и реализаций быть не должно.

C++:
Expand Collapse Copy
#include<stdio.h>

#include<pch.h>

#include<math.h>

#include<conio.h>

#include<string.h>

#include<iostream>

#include<fstream>

#include<locale.h>

#include<math.h>

using std::cin;

using std::cout;

using namespace std;

struct Diplomniki

{
string fakult, group, kolvo, dogoru, summ, percent;
};

void read(Diplomniki *F, int n)

{
ifstream SP("C:\\Users\\Dkb\\Desktop\\Project\\Hyinyaeby4aya_ne_rabotaet.txt", ios_base::in);

for (int i = 0; i < n; i++)

{
SP >> F[i].fakult >> F[i].group >> F[i].kolvo >> F[i].dogoru >> F[i].summ;

F[i].percent = F[i].dogoru / F[i].kolvo;

cout << "\nФакультет => " << F[i].fakult << "Группа => " << F[i].group << "Количество студентов в группе = " << F[i].kolvo << "Заключённые договора =" << F[i].dogoru << "Сумма заключённых договоров =" << F[i].summ << "Процент заключённых договоров" << F[i].percent << "\n";

}

SP.close();

}

void Fixsort(ostream& fixxsort, Diplomniki *F, int n)

{

fixxsort << "\n Отсортированые данные\n";

cout << "\nОтсортированые данные\n";

string tmp = 0;

for (int i = 0; i < n; i++)
{
for (int j = (n - 1); j >= (i + 1); j--)
{

if (F[j].percent > F[j - 1].percent)
{

tmp = F[j];

F[j] = F[j - 1];

F[j - 1] = tmp;
}
}
}

for (int i = 0; i < n; i++)

{

fixxsort << "\n" << F[i].fakult << ' ' << F[i].group << ' ' << F[i].kolvo << ' ' << F[i].dogoru << ' ' << F[i].summ << ' ' << F[i].percent;

cout << "\n" << F[i].fakult << ' ' << F[i].group << ' ' << F[i].kolvo << ' ' << F[i].dogoru << ' ' << F[i].summ << ' ' << F[i].percent;
}

}

void Sort(ostream& fixxsort, Diplomniki *F, string specc, int n)

{
cout << "\nФакультет с наименьшим числом свободных дипломов\n";

fixxsort << "\nФакультет с наименьшим числом свободных дипломов\n";

for (int i = 0; i < n; i++)

{

if (fakult == F[i].fakult && (F[i].percent > F[i - 1].percent))

{

fixxsort << "\n" << F[i].fakult << ' ' << F[i].group << ' ' << F[i].kolvo << ' ' << F[i].dogoru << ' ' << F[i].summ << ' ' << F[i].percent;

cout << "\n" << F[i].fakult << ' ' << F[i].group << ' ' << F[i].kolvo << ' ' << F[i].dogoru << ' ' << F[i].summ << ' ' << F[i].percent;
}
}

}

int main()

{
string specc;

unsigned short int ch;

ifstream SP("D:/FAIL.txt");

ofstream fixxsort("D:/fixxsort.txt");

if (!SP || !fixxsort)

{
cout << "Файл не открылся!" << endl;

system("pause");

exit(1);
}

ch = 0;

while (!SP.eof())

{

string str;

getline(SP, str);

ch++;

}

SP.close();

Diplomniki *F = new Diplomniki[ch];

read(F, ch);

Fixsort(fixxsort, F, ch);

Sort(fixxsort, F, ch);

fixxsort.close();

delete[]F;

system("pause");

return 0;
}
 
Последнее редактирование:
Syko blet`. 70 prosmotrov, 0 otvetov.
 
хуй кто те за бесплатно сделает
 
хуй кто те за бесплатно сделает
Т.е. указать на ошибки бесплатно в курсаче - нее, мы не можем. А бесплатно хуярить по кд ошибки в разных исходниках, выставляя во фри доступ - так это мы горазды. Понятно крч.

P.S. о "бесплатно" и речи не было.
 
/del тогда, хули.
 
Проберись в архив, найди стопку сданных в прошлом году, найди свою тему. Там будет диск со всем. Изи
 
Бля, есть сайт А24, зашел, заказа, готово, я всю сессию там заказывал
 
Назад
Сверху Снизу