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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2011, 23:42   #1
ZevS13
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 11
По умолчанию Сортировка массива структур

Не могу понять как отсортировать массив структур по убыванию, попробовал несколько алгоритмов,но не получается....программа должна выводить ведомость о посещении студентов, отсортированную по убыванию относительно рейтинга посещаемости.
Код:
#include "stdafx.h"
#include <iostream> 
#include <iomanip>
#include <algorithm>
#include <list>
using namespace std;
struct  Student                     
 {
   char Name[20];           //  Имя
   double Propusk;        //  Пропуск
   int Uvagit;                      //  Уважительный пропуск
   double Vpropusk;					//Пропуск в ведомость
   double Procprop;			//Процент пропусков 
   bool operator < ( const Student a )
        {
             return Procprop < a.Procprop;
        }
 };
typedef list<Student> entry;
int main()
{
	int n;
	entry elist;
	double s1,s2,s3;
	setlocale(0,"rus");
	cout<<"Формирование записи"<<endl;
	cout<<"Введите количество студентов";
	cin>>n;
	Student *zapis=new Student [n];
	
	cout <<"Документ должен сожержать "<<n<< " строки - записи: \n";
	     for( int i=0; i < n; i++)
      {
cout << "\nФормирование  " << i + 1 <<  "  записи";
cout << "\nВведите имя студента(не более 20 символов:   ";
cin >>  zapis[i].Name;      // Доступ к элементу а экземпляра структуры zapis[i]
							       // выполняется операцией точка (.)
cout << "\nУкажите число пропущенных часов студентом(целое число)  : \n";
cin >>  zapis[i].Propusk;       // Доступ к элементу t экземпляра структуры zapis[i]
cout << "\nУкажите число пропущенных часов студентом по уважительной причине(целое число)  : \n";
cin >>  zapis[i].Uvagit;       // Доступ к элементу k экземпляра структуры zapis[i]
	}
		 //  Выполнение расчетов:
      s1=0;s2=0;s3=0;
      for(int i=0; i < n; i++)
       {
          zapis[i].Vpropusk=zapis[i].Propusk-zapis[i].Uvagit;
		  zapis[i].Procprop=(zapis[i].Vpropusk/zapis[i].Propusk)*100;
                s1 += zapis[i].Propusk;
                s2 += zapis[i].Uvagit;
                s3 += zapis[i].Vpropusk;
			
       }
	  //  Построение "шапки" таблицы

	system("cls"),
	cout << "\n      Ведомость посещения занятий студентами:       ";
	cout <<endl<<"|------------------------------------------------------------------------------|";
	cout <<endl<<"|n|Фамилия     |Пропусков|Уважительный пропусков|Пропус в ведом.  |Проц.  проп.|";
	cout <<endl<<"|------------------------------------------------------------------------------|";

// Заполнение таблицы данными:
    for(int i=0;i<n;i++)
	
    cout << "\n|" << setw(1) << i+1 << "|" << setw(12) << zapis[i].Name << "|"

    << setw(9) << setprecision(3) << zapis[i].Propusk << "|"

    << setw(22) << setprecision(3)<<  zapis[i].Uvagit << "|"
    << setw(17) << setprecision(3)<< zapis[i].Vpropusk <<"|"
	<< setw(12) << setprecision(3)<<zapis[i].Procprop << "|";
    cout <<endl<<  "|------------------------------------------------------------------------------| ";
    cout <<endl<<  "|ИТОГ:" << setw(19) << setprecision(3) << s1
    << "|" << setw(22) << setprecision(3) << s2<< "|" <<setw(17) << setprecision(3) << s3 << "|" 
	<< setw(13) << setprecision(3) << "|";
    cout << "\n|------------------------------------------------------------------------------|"<<endl;



	system("pause");
	return 0;
}
ZevS13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива структур MrBobyara Помощь студентам 4 16.06.2010 11:48
сортировка массива структур silence_master Помощь студентам 4 05.05.2010 21:26
Сортировка массива структур 3OH! Помощь студентам 4 02.05.2010 21:32
Сортировка массива структур. nec117 Общие вопросы C/C++ 5 22.02.2009 18:01
Сортировка массива структур arturka Помощь студентам 1 21.06.2008 14:15