Форум программистов, компьютерный форум CyberForum.ru

Проблема с перегрузками функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл почему-то не заканчивается. http://www.cyberforum.ru/cpp-beginners/thread276556.html
Значит идея такая пока не сгенерируется число =2 цикл будет повторяться. Но когда число =2 цикл все равно не заканчивается. Подскажите почему? #include <iostream> #include <windows.h> #include<time.h> #include <cstdlib> #include <time.h> #define randomize() srand((unsigned)time(NULL)); #define random(p) ((int)(rand()*p/RAND_MAX)) using namespace std;
C++ Дан двумерный массив.посчитать сумму элементов в кажой строке. найти максимальную и минимальную сумму и помень эти строки местами. Дан двумерный массив.посчитать сумму элементов в кажой строке. найти максимальную и минимальную сумму и помень эти строки местами. Я смогла найти сумму элементов в каждой строке.помогите дописать код #include "stdafx.h" #include "iostream" #include <conio.h> #include <stdlib.h> #include <time.h> http://www.cyberforum.ru/cpp-beginners/thread276553.html
Будет ли утрачена память, когда конструктор копирования вызывается для уже существующего объекта класса? C++
class A { char * v; A(); ~A(); A(const A &obj); } ///////////////////// A::A() {
C++ Список
всем привет люди я нуждаюсь в помощи вот само задание .Создать список слов. Рассортировать список (слова) по их длине. Слова с одинаковой длиной сортировать по двум первым буквам. Я сделал часть программы но не могу разобраться как сделать список вот мой код #include <iostream> #include <stdlib> #include <stdio> #include <conio> #include <math> #define FOR for(int i=0;i<x;i++) struct RP...
C++ Разработка модели перемещения окна http://www.cyberforum.ru/cpp-beginners/thread276528.html
Доброго времени суток!:) Нужно разработать модель перемещения окна. И нужна ваша помощь в этом вопросе. Заранее благодарен:)
C++ Вывести код программы!!!(Олимпиада) Задание: Написать программу которая выводит на экран свой сбственный код. Ограничения: Внешнюю память (ввод с клавиатуы, чтение\запись в файл) не использовать. подробнее

Показать сообщение отдельно
REALIST07
Автор FAQ
Автор FAQ
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932

Проблема с перегрузками функций - C++

14.04.2011, 20:04. Просмотров 237. Ответов 4
Метки (Все метки)

Описать класс с именем STUDENT, содержащий следующие поля: фамилия и инициалы;номер группы; успеваемость (массив из пяти элементов).
Написать программу, выполняющую следующие действия:
а) ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT;записи должны быть упорядочены по возрастанию номера группы;
б) вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#define L 25
using namespace std;
class STUDENT
{
 
public :
    char firstname[L];
    char lastname[L];
    int groupnumber;
    int label[5];
friend ostream& operator<<(ostream& out,STUDENT &a);//именно с &
friend istream& operator>>(istream &in,STUDENT &a,int MAX);
};
 
 
float sred(int *a,int n)
{float j=0;
for (int i=0;i<n;i++)
    j+=a[i];
 
return (j/n);
 
}
 ostream& operator<<(ostream& out,STUDENT &a)
{
return (out<<a.firstname<<" "<<a.lastname<<" № "<<a.groupnumber);   
}
istream& operator>>(istream &in,STUDENT &a,int MAX)
{   
        for (int i=0;i<MAX;i++)
        {cout<<"Введите фамилию"<<i+1<<"-го"<<" студента:";
        cin.sync();//!!!
        cin.getline(a[i].firstname,L);
 
        cout<<"Введите имя"<<i+1<<"-го"<<" студента:";
        cin.get(a[i].lastname,L);
 
        cout<<"Номер группы:";cin>>a[i].groupnumber;
        for (int j=0;j<5;j++)
        { cout <<"Введите отметку по "<<j+1<<"-й дисциплине:";
        cin>>a[i].label[j];}}
        
}
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL,"Russian");int MAX;
 
cout<<"Программа:\n";
cout<<"1)Cоздает списки студентов!\n";
cout<<"2)Сортирует по номеру группы!\n";
cout<<"3)Выводит списки студентов,имеющих балл выше 4.0!\n";
cout<<"~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~\n";
cout<<"Введите размер списка студентов:";cin>>MAX;
 
STUDENT *a;float *labelsred;int *index,*num;int i,j;
a=new STUDENT[MAX];
labelsred=new float[MAX];
index=new int[MAX];
num=new int[MAX];
(cin,a);
for (i=0;i<MAX;i++)
{
    labelsred[i]=sred(&a[i].label[0],5);
    num[i]=a[i].groupnumber;
    index[i]=i;
}
int n,m,buffer1,buffer2;float buffer3;
n=MAX;
for (int i=0;i<n;i++)
{m=i;
for (int j=i+1;j<n-1;j++)
{
    if (num[j]<num[m])
    {m=j;
    buffer1=num[i];
    num[i]=num[m];
    num[m]=buffer1;
    buffer2=index[i];
    index[i]=index[m];
    index[m]=buffer2;
    buffer3=labelsred[i];
    labelsred[i]=labelsred[m];
    labelsred[m]=buffer3;
    }
 
}
 
}
 
for (int y=0;y<MAX;y++)
{ cout<<index[y]+1<<")"<<a[y];}
cout<<"Cписок студентов,у кого средний бал больше 4.0 :\n";
int kol=0;
for (int i=0;i<MAX;i++)
{
    if (labelsred[i]> 4.0) { cout<<a[i];kol++;}
}
 
if (kol==0) cout<<"Таких студентов нет!!!\n";
getch();
 
 
    return 0;
}
Не перегружается операция ввода
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru