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

class C++ - C++

Восстановить пароль Регистрация
 
sadaja
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 14
20.10.2013, 00:10     class C++ #1
Количество строк: 3. Столбцы: Фамилия, Имя, Род занятий (сотрудник, студент), Год поступления. Вычислить сотрудника, принятого на работу последним.
помогите решать задачку !!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
20.10.2013, 00:37     class C++ #2
Легко. Проходим циклом по всем сотрудникам и ищем того, у которого год поступление максимальный, сохраняем на него указатель. Затем выводим нужную информацию
sadaja
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 14
20.10.2013, 13:43  [ТС]     class C++ #3
Цитата Сообщение от I.M. Посмотреть сообщение
Легко. Проходим циклом по всем сотрудникам и ищем того, у которого год поступление максимальный, сохраняем на него указатель. Затем выводим нужную информацию
с помощью структуры я написал программку, а вот с классами у меня возникли проблемы!! вот у меня программка структуре:
#include<iostream>
#include<fstream>
using namespace std;
struct posl
{
char fam[20],im[20],rod[20];
int god ;
};
int main ()
{
struct posl tk[4];
int i,max;
struct posl*god1=new posl[4];

ifstream fin;
fin.open("file1.txt");
if(fin)
{
fin>>tk[i].god>>tk[i].fam>>tk[i].im>>tk[i].rod;
fin.close();
}

for (i=0; i<4; i++)
{cout<<"fam :";
cin>>tk[i].fam;
cout<<"im :";
cin>>tk[i].im;
cout<<"rod :";
cin>>tk[i].rod;
cout<<"god :";
cin>>tk[i].god;

}
max=tk[0].god;
for(i=1;i<4;i++)
{
if(max<tk[i].god)
max=tk[i].god;
}

cout<<"posl="<<max;
ofstream fout;
fout.open("file2.txt");
fout<<tk[i].god;
fout.close();
delete god1;
god1=NULL;
return 0;
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
20.10.2013, 13:45     class C++ #4
C++
1
2
3
4
5
6
7
8
9
10
11
/*struct posl
{
char fam[20],im[20],rod[20];
int god ;
};*/
class posl
{
public:
char fam[20],im[20],rod[20];
int god ;
};
sadaja
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 14
20.10.2013, 16:12  [ТС]     class C++ #5
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
/*struct posl
{
char fam[20],im[20],rod[20];
int god ;
};*/
class posl
{
public:
char fam[20],im[20],rod[20];
int god ;
};
и как надо добавит сюда конструктор и как его можно вызвать!! подскажите пожалуйста:
#include<iostream>

using namespace std;
class Posl
{
public:
char fam[20],im[20],rod[20];
int god ;
};
int main ()
{
Posl tk[4];
int i,max;
for (i=0; i<4; i++)
{cout<<"fam :";
cin>>tk[i].fam;
cout<<"im :";
cin>>tk[i].im;
cout<<"rod :";
cin>>tk[i].rod;
cout<<"god :";
cin>>tk[i].god;

}
max=tk[0].god;
for(i=1;i<4;i++)
{
if(max<tk[i].god)
max=tk[i].god;
}

cout<<"posl="<<max;

return 0;
}
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.10.2013, 16:19     class C++ #6
Croessmah, публичные данные? Фу-у
sadaja, переносите данные в private-секцию, в public-секцию добавляете методы доступа к ним.
Вообще, я бы рекомендовал отказаться от массивов char и использовать std::string.
sadaja, читаете из файла в локальные (временные) переменные. Потом передаете их как параметры конструктора для построения объекта.
Croessmah
20.10.2013, 17:08
  #7

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Croessmah, публичные данные? Фу-у
а мне какое дело?

Tulosba
20.10.2013, 17:12
  #8

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
а мне какое дело?
вредные советы давать не хорошо.

Kuzia domovenok
20.10.2013, 17:20
  #9

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
вредные советы давать не хорошо.
а, по-моему, хороший совет, как за 10 секунд превратить структуру в класс. Условие задачи выполнено. Иначе, зачем вообще такие странные задания?

Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.10.2013, 17:26     class C++ #10
Kuzia domovenok, класс подразумевает инкапсуляцию и сохранение инварианта. От того, что ключевые слова struct и class в C++ по сути взаимозаменяемы, структура не становится классом в терминологии ООП.
sadaja
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 14
20.10.2013, 17:37  [ТС]     class C++ #11
Цитата Сообщение от Tulosba Посмотреть сообщение
Kuzia domovenok, класс подразумевает инкапсуляцию и сохранение инварианта. От того, что ключевые слова struct и class в C++ по сути взаимозаменяемы, структура не становится классом в терминологии ООП.
подскажите пожалуйста как добавить конструктор и как его вызвать?? пожалуйста
Croessmah
20.10.2013, 18:08
  #12

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
переносите данные в private-секцию, в public-секцию добавляете методы доступа к ним.
Цитата Сообщение от Tulosba Посмотреть сообщение
Kuzia domovenok, класс подразумевает инкапсуляцию и сохранение инварианта.
class C++

увы, Ваш вариант так же не соответствует концепции ООП и инкапсуляции в частности

sadaja
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 14
20.10.2013, 18:43  [ТС]     class C++ #13
где надо добавит конструктора ? плиз что нибудь по советуйте !!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
20.10.2013, 18:45     class C++ #14
C++
1
2
3
4
5
6
7
8
9
class Posl
{
//...
   Posl ( ) { //Конструктор без параметров. В нем устанавливаем начальное состояние членов класса
   }
   Posl ( куча параметров ) { //Конструктор с параметрами. В нем устанавливаем начальное состояние членов класса, например, исходя из переданных значений
   }
//...
};
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.10.2013, 19:06     class C++ #15
Croessmah, public забыл. Это ж класс
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 19:36     class C++
Еще ссылки по теме:

C++ public class && static class
C++ Не пойму конструкцию template <template <class T> class X>
C++ Create a programm that creates an object of created class Time and tests the member functions of class

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
20.10.2013, 19:36     class C++ #16

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Croessmah, public забыл. Это ж класс
многоточия для слепых, наверное



Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от sadaja Посмотреть сообщение
с помощью структуры я написал программку, а вот с классами у меня возникли проблемы!
Цитата Сообщение от Tulosba Посмотреть сообщение
От того, что ключевые слова struct и class в C++ по сути взаимозаменяемы
Фронт работы ясен? Не про какие конструкторы в первоначальной постановке задачи речи не шло! Читаем внимательнее!

Цитата Сообщение от Tulosba Посмотреть сообщение
public забыл. Это ж класс
Цитата Сообщение от Tulosba Посмотреть сообщение
вредные советы давать не хорошо.
Следите за собой, а другие сами о себе позаботятся

Yandex
Объявления
20.10.2013, 19:36     class C++
Ответ Создать тему
Опции темы

Текущее время: 16:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru