Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2014, 16:02   #1
Kseni564
Пользователь
 
Регистрация: 04.05.2014
Сообщений: 14
По умолчанию C++Проверить код и прокомментировать

Уважаемые программисты, проверьте пожалуйста этот код, вроде все правильно но не выводит сортировку. А еще большая просьба: прокомментировать основные строки задачи, потому что мне нужно будет ее объяснить человеку, не хочу ошибиться. Задание такое:
описать структуру с именем STUDENT, содержащую следующие поля:
а)фамилия и имя(строка 15 символов),
б) год рождения(целое неотриц. число),
в)номер группы( число целое или строка из 3 символов),
г)оценки за сессию по 4 предметам( массив из 4 типа float)
В этой программе, реализовать следующие функции:1)вывести список студентов, фамилии которых начинаются на букву В, с указанием года их рождения; список вывести в упорядоченном по возрасту виде(начиная со старшего).

Код:
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
struct STUDENT // структура STUDENT
{ 
  string name;
  int year;
  int group; 
  static const int mark_size=4;
  float marks[mark_size];
  STUDENT();
  STUDENT(const STUDENT &rhs);///// тоже надо добавить, забыл сказать)))
  void input(){
     cout << "Введите фамилию студента " << endl; 
     cin >>name;
     cout<<" Год рождения "<<endl;
     cin>> year;
     cout << "Введите номер группы " << endl; 
     cin >> group; 
     cout << "Введите "<< mark_size <<" оценки " << endl; 
     for (int i = 0; i < mark_size; i++) 
     cin >> marks[i];
  }

 void output(){
  cout << "Фамилия " << name<<endl;
  cout<< "Год " << year << endl;
  cout << "Группа " << group<< endl; 
  cout <<" Oценки " << endl; 
  for (int i = 0; i < mark_size; i++) 
  cout << marks[i]<<" "; 
  cout << endl <<"_______________" << endl;
 }
};

STUDENT::STUDENT(){
 name="";
 year=0;
 group=0;
 for(int i=0; i<mark_size; ++i)marks[i]=0;
}

STUDENT::STUDENT(const STUDENT &rhs){//////////
 name=rhs.name;
 year=rhs.year;
 group=rhs.group;
 for(int i=0; i<mark_size; ++i)marks[i]=rhs.marks[i];
}//////////

int main (){
SetConsoleCP (1251); SetConsoleOutputCP (1251);
const int students_size = 6; // количество студентов
STUDENT student[students_size];//было students))
for (int i = 0; i < students_size; i++) 
 student[i].input(); //
cout<<"Введено:"<<endl<<endl;
for (int i = 0; i < students_size; i++)
 student[i].output();
//////////////////////////////////////////
int count_of_B = 0;
for (int i = 0; i < students_size; i++)
if(student[i].name.c_str()[0] == 'В') count_of_B ++ ;

STUDENT *students = new STUDENT[count_of_B];

int ind =0;
for (int i = 0; i < students_size; i++)
if(student[i].name.c_str()[0] == 'В') students[ind ++ ] = student[i]; 

//дальше имя students нам уже подходит а вот размер
//переписываем ниже все students_size на count_of_B)) 
for (int i=0; i<count_of_B-1; i++) {
 for (int j=0; j<(count_of_B-i); j++) {
  if ( students[j].year > students[j+1].year) {//
 STUDENT Temp = students[j];//
  students[j] = students[j+1];
  students[j+1] = Temp;
  }
 }
}

cout<<"Сортировано:"<<endl<<endl;
for (int i = 0; i < count_of_B; i++)
 students[i].output(); 
system("pause");
return 0;
}
From Stilet: Чтоб я больше такого форматирования не видел!

Последний раз редактировалось Stilet; 11.05.2014 в 17:31.
Kseni564 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите понять код (прокомментировать код шифрации на C++). bicks Помощь студентам 3 10.12.2013 21:31
нужно прокомментировать код Господин Никто Помощь студентам 6 09.06.2013 14:08
Проверить код Artem131 Общие вопросы C/C++ 0 29.04.2013 22:47
Прокомментировать код программы lolbox C# (си шарп) 0 24.03.2013 10:11
C# - прокомментировать код программы шифрования магическим квадратом Darh Помощь студентам 0 07.11.2012 10:48