В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
podlubnijp08ieo
podlubnijp08ieo
08.04.2021 19:41 •  Информатика

Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все время обучения ни одной оценки 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++, с структур

Показать ответ
Ответ:
winterwhite123
winterwhite123
02.08.2020 10:49
Const   n = 5; var   i: integer;   a: array[1..n * 2 + 1] of integer; begin   writeln('исходный массив: ');   for i : = 1 to 2 * n do   begin       a[i] : = random(99) + 1;       write(a[i] : 5);   end;   for i : = 2 * n + 1 downto n + 1 do       a[i] : = a[i - 1];   a[n + 1] : = 0;   writeln();   writeln('полученный массив: ');   for i : = 1 to 2 * n + 1 do       write(a[i] : 5); end.
0,0(0 оценок)
Ответ:
DigroTube
DigroTube
29.07.2021 11:24
1)var n,k: integer; begin   write('число:   ');   readln(n);   k: =0;   repeat     k: =k*10+n mod 10;     n: =n div 10;   until n=0;   writeln('новое число:   ',k); end. 2) var n,k,m: integer; begin  write('двоичное число:   ');   readln(n);   k: =1;   m: =0;   repeat    m: =m+k*(n mod 10);     n: =n div 10;     k: =k*2;   until n=0;   writeln('десятичное число:   ',m); end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота