Задание:
Описать структуру с именем STUDENT, содержащие поля:
Написать программу, выполняющую следующие действия:
Сделал всё, кроме вывода записей по алфавиту (вроде как всё), вообще в голову не лезет, сказали сделать с помощью strcmp()
, но додуматься не могу.
Код:
#include <iostream>
#include <string.h>
#include <cctype>
using namespace std;
struct student
{
char* fio;
int group;
int usp[5];
};
int main()
{
student data[10];
int n = 3;
for (int i = 0; i < n; i++)
{
char temp[256];
cout << "Введите ФИО студента №" << i << endl;
cin >> temp;
//cin.getline(temp, 256, '\n');
data[i].fio = new char[strlen(temp) + 1];
strcpy(data[i].fio, temp);
cout << "Введите номер группы студента №" << i << endl;
cin >> data[i].group;
cout << "Введите успеваемость студента №" << i << endl;
for(int j = 0; j < 5; j++)
cin >> data[i].usp[j];
}
cout << endl << "Записи, отсортированные по алфавиту:";
/*
Вывести отсортированную структуру
*/
cout << endl << endl << "Студенты имеющие двойки: ";
for(int i = 0; i < n; i++){
for(int j = 0; j < 5; j++){
if(data[i].usp[j] == 2){
cout << endl << "Фамилия: " << data[i].fio << endl;
cout << "Номер группы: " << data[i].group << endl;
cout << "Успеваемость: ";
for(int g = 0; g < 5; g++)
cout << data[i].usp[g] << " ";
break;
}
}
}
}
Вы почему то стали инициализировать только первые три элемента массива. Для начала четко укажите количество студентов:
constexpr int n = 10;
student data[n];
// ваш код где нужно инициализировать все элементы
существуют очень много альгоритмов для сортировки. Представлю один из них для сортировки ваших С_строк:
for (int k = n / 2; k > 0; k /=2)
for (int i = 0; i < n - k; ++i)
for (int j = i; j >= 0; --j)
if (strcmp(data[j].fio, data[j + k].fio) > 0) {
student temp = data[j];
data[j] = data[j + k];
data[j + k] = temp;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Задание: Вывести слова введенного текста, изменив каждое слово следующим образом: буквы слова, стоящие до первой гласной, перенести в конец...
Проблема в xPtr, никак не могу найти ошибку, он на нулевом элементе даже
Как избавиться от локальных переменных, используя элементы класса в read()?
Я плохо понимаю, как умные указатели (особенно shared_ptr) взаимодействуют с полиморфными типамиОбщая картина кажется простой, но как только я начинаю...