ислам1110
21.04.2023 02:59

Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все время обучения ни одной оценки 5. N = 5. Программу нужно написать в visual studio по подобию кода ниже (который в visual не работает):

#include
#include
#include
#include
#include
#include
using namespace std;
/* Описание прототипов функций */
void printru(char* s);
int sozd_f(char* filename);
int dob_dan(char* filename);
void vivod_dan(char* filename);
void sort_dan(char* filename);
/* Описание структуры, которая представляет монастырь */
struct mon {
char name[15]; /* название */
char sc; /* школа */
int cnt; /* количество монахов */
float sq; /* площадь */
};

main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int v;
char filename[] = "monastir.bin";
while (true){
cout<<"Выберите действие: \n";
cout<<"1: создать файл \n";
cout<<"2: добавить данные \n";
cout<<"3: вывести данные на экран \n";
cout<<"4: отсортировать по названиям монастырей \n";
cout<<"5: выйти \n";
cin>>v;
switch (v){
case 1: sozd_f(filename); break;
case 2: dob_dan(filename);break;
case 3: vivod_dan(filename); break;
case 4: sort_dan(filename);
vivod_dan(filename); break;
case 5: return 0;
default: cout<<"нeт такого пункта меню\n";
};
}
return 0;
}
//функция создания файла
int sozd_f(char* filename){
FILE *m_file;
m_file = fopen(filename, "w+");
if ( m_file==0 ) {
cout<<"Создать файл не удалось!\n";
return (1);
}
fclose(m_file);
}
//функция добавления данных
int dob_dan(char* filename) {
FILE *m_file;
char y_n;
struct mon x;
int tt;
m_file = fopen(filename, "ab");
if ( m_file==0 ) {
cout<<"Открыть файл не удалось!\n";
return(1);
}

do {
tt=0;
// Ввод данных
cout<<"Введите: название, школу, количество , площадь монастыря\n";
cin>> x.name;
cin>> x.sc;
cin>> x.cnt;
cin>> x.sq;
fwrite((char *) &x, sizeof(mon),1,m_file);
cout<<"Продолжить(y/n)?\n";
cin>>y_n;
if (y_n=='y'||y_n=='Y') tt=1;
} while(tt==1);
fclose(m_file);
}

//функция вывода данных на экран
void vivod_dan(char* filename){
FILE *m_file;
m_file = fopen(filename, "r");
cout<<"\n";
cout<<"| монастыри |\n";
cout<<"||\n";
cout<<"| название | школа | Количество | Площадь |\n";
cout<<"| | | монахов | земель |\n";
cout<<"|||||\n";
fseek(m_file, 0, SEEK_END);
int n = ftell(m_file) / sizeof(mon);
mon *mm = new mon[n];
fseek(m_file, 0, SEEK_SET);
// Функция fread позволяет считать весь файл за одно обращение
fread(mm, sizeof(mon), n, m_file);
fclose(m_file);
for(int i=0;i 0) m=j;
if (m>i) {
strcpy(x.name,mm[i].name);
x=mm[i];
mm[i]=mm[m];
mm[m]=x;
}
}
fopen(filename, "w");
fwrite(mm, sizeof(mon), n, m_file);
fclose(m_file);
}

Задача на c++, с структур

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
asdgvhmh
01.10.2020 18:31
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var a0:=a[0];
  var b:=a[1:].Where(x->x mod a0=0).ToArray;
  if b.Length>0 then b.Println
  else Writeln('Нет элементов, кратных первому');
end.

Пример
n= 16
-11 85 11 -9 -24 32 6 42 -92 -69 -87 2 -11 -77 -94 66
11 -11 -77 66

Замечание.
Если первый элемент тоже нужно включить в результирующий массив,
нужно записать так: var b:=Where(x->x mod a0=0).ToArray;
0,0(0 оценок)
Ответ:
yarlev88
04.11.2022 21:43

Если у вас есть изображения, которые занимают много места на диске, их размеры можно уменьшить, не изменяя размер изображения. Наилучшее сжатие достигается форматом JPG, но даже если изображение уже в этом формате, его всё равно можно уменьшить, так как у формата JPG есть адаптивная схема сжатия, позволяющая сохранять изоражение с разной степенью сжатия. Компромис здесь заключается в том, что чем меньше места занимает изображение, тем больше деталей теряется при сжатии. Нужно также помнить, что повторные сохранения в формате JPG также приводят к ухудшению качества изображения.


0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота