Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Shef4u
15 / 15 / 4
Регистрация: 31.10.2011
Сообщений: 116
#1

Структуры

27.11.2012, 20:46. Просмотров 194. Ответов 0
Метки нет (Все метки)

Ребята, помогите пожалуйста решить задачу. Есть массив с 10 структур, куда заносятся данные об студентах: Имя, номер группы и количество пропусков. Надо чтобы выводило записи по спаданию номеров групп. Цикл для этого то работает, и номера групп берет правильно, но имена выводит не соответствующие номеру группы. вот код:

Код
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <windows.h>
#pragma argsused
struct Student
{
char PIB[60];
int Num, Nka;
} *st;
void vvid(int nom, Student *st)
{
cout<<"\nÂíåñ³òü â³äîìîñò³\n"<<(nom+1) ;
cout<<"\nϲÁ: ";         cin>>st ->PIB;
cout<<"\nÍîìåð ãðóïè: "; cin>>st ->Num;
cout<<"\nÊ-ñòü ïðîïóñê³â: "; cin>>st ->Nka;
}

int main(int argc, char* argv[])
{   SetConsoleOutputCP(1251);
const int n=11;
Student spysok[n];
int i, N;
cout<<"\n Ââåä³òü ê³ëüê³ñòü ñòóäåíò³â ó ãðóï³ (< 10): "; cin >> N;
   for(i=0;i<N;i++) vvid(i,&spysok[i]);
      cout<<"\n\aÑïèñîê Ñòóäåíò³â";
   for(i=0;i<N;i++)
   {cout<<"\nÑòóäåíò: "<<spysok[i].PIB<<endl<<"Ãðóïà: "<<spysok[i].Num<<endl<<"Ïðîïóñêè: "<<spysok[i].Nka<<endl;
   }
   //2 çàâäàííÿ
  /* int max;
   max=spysok[0].Num;
   for (i=1;i<n;i++)
   { if (spysok[i].Num>max) max=spysok[i].Num;
    }
    cout<<"\nMAX: "<<endl;   */
       for(int i=0; i < N; i++) {
    for(int j = N-1; j > i; j-- ) {
      if ( spysok[j-1].Num < spysok[j].Num )
    {
      int x=spysok[j-1].Num;
      spysok[j-1].Num=spysok[j].Num;
      spysok[j].Num=x;
    }}}

    for(int i=0; i < N; i++)
    { cout<<endl<<spysok[i].PIB<<endl<<spysok[i].Num; } //вот тут выводит правильно номер, но не имя.

   //3 çàâäàííÿ
    for(i=0;i<N;i++)
    { if (spysok[i].Nka>20)
   cout<<"\nÓ íàñòóïíèõ ñòóäåíò³â á³ëüøå 20 ïðîïóñê³â\n";
   else cout<<"Ñòóäåíò³â ç ê-ñòþ ïðîïóñê³â > 20 íåìàº"; break;
    }
    for(i=0;i<N;i++)
    { if (spysok[i].Nka>20)
    cout<<"\nÑòóäåíò: "<<spysok[i].PIB<<endl<<"Ãðóïà: "<<spysok[i].Num<<endl;
    }
    cout<<endl;

system("pause");
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 20:46
Ответы с готовыми решениями:

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в...

Функция внутри структуры использует указатель, как поле этой структуры
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
Автоматизированная информационная система на железнодорожном вокзале содержит...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры)
Есть у меня вот такая структура, например struct Subject { int cost; int...

Вывод структуры, строка как элемент структуры
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 20:46

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла?
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f=...

Структуры. Вызов данных структуры по указателю. с++
Условие задачи: Помогите, пожалуйста, с как реализовать печать вообще...

Структуры. Работа с файлами, содержащими структуры
2) Дана совокупность сведений, каждое из которых состоит из следующих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru