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

Прога на структуры - C++

Восстановить пароль Регистрация
 
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
05.02.2011, 18:14     Прога на структуры #1
Помогите написать программы со структурами:
"Ввести в комп. информацию про сотрудников отдела: Фамилия, Имя, Возраст.
Вывести имена сотрудников, возраст которых превышает 28 лет"
Вот написал начало, дальше не понимаю как..
Спасибо заранее=)
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <iostream.h>
using namespace std; 
 
int _tmain(int argc, _TCHAR* argv[])
{ struc age {char family [10];
int name;
int year; }
 
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bobrovskii
57 / 57 / 3
Регистрация: 22.01.2011
Сообщений: 187
05.02.2011, 18:25     Прога на структуры #2
leha-demi, у тебя
C
1
struc
а надо бы struct, может поэтому не ростет?
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
05.02.2011, 18:48  [ТС]     Прога на структуры #3
Ой, да=)
Ну я имел ввиду подкинуть мысль как дальше делать....
no0ker
100 / 87 / 4
Регистрация: 17.12.2010
Сообщений: 416
05.02.2011, 19:24     Прога на структуры #4
может быть, дальше стоит создать массив этих структур. или вектор.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
05.02.2011, 20:37     Прога на структуры #5
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
#include <iostream>
#include <vector>
#include <string>
 
using std::vector;
using std::string;
 
struct Employee {
  std::string name;
  std::string surname;
  unsigned int age;
  Employee(std::string name_, std::string surname_, unsigned int age_)
    : name(name_), surname(surname_), age(age_) {}
};
 
int main(int argc, char **argv) {
  std::vector<Employee> employees;
 
  employees.push_back(Employee("Ivan", "Ivanov", 32));
  employees.push_back(Employee("Mikhael", "Fedorov", 28));
  employees.push_back(Employee("Olga", "Stepanova", 31));
  employees.push_back(Employee("Ilya", "Kuznetsov", 25));
 
  for (int i = 0; i < employees.size(); ++i)
    if (employees[i].age > 28)
      std::cout << "Name: " << employees[i].name
                << ", surname: " << employees[i].surname
                << ", age: " << employees[i].age << std::endl;
 
  return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.02.2011, 21:00     Прога на структуры #6
Для прекращения ввода послать сигнал EOF (CTRL+Z - Windows, CTRL+D (?) - Linux).

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <string>
 
class Employee
{
public:
   Employee(const std::string& name_="", const std::string& surname_="", unsigned short year_=0):
                name(name_), surname(surname_), year(year_)
   {
   }
   const std::string& Getname() const {return name;}
   const std::string& Getsurname() const {return surname;}
   const int Getyear() const {return year;}
   void SetInformation(const std::string& n, const std::string& s, unsigned short y)
   {
        name=n;
        surname=s; 
        year=y;
   }
private:
   std::string name;
   std::string surname;
   unsigned short year;
};
 
std::ostream& operator <<(std::ostream& os, const Employee& one)
{
    os<<"Name: "<< one.Getname() <<'\n'
    <<"Surname: "<< one.Getsurname() <<'\n'
    <<"Year: "<< one.Getyear() <<'\n';
    return os;
}
 
std::istream& operator >>(std::istream& is, Employee& one)
{
     std::string name_, surname_;
     unsigned short year_;
     std::cout<<"Enter name\n";
     is>>name_;
     std::cout<<"Enter surname\n";
     is>>surname_;
     std::cout<<"Enter year\n";
     is>>year_;
     one.SetInformation(name_, surname_, year_);
     return is;
}
 
int main()
{
    const int max_y=28;
    std::vector<Employee> empl((std::istream_iterator<Employee>(std::cin)), std::istream_iterator<Employee>());
    std::for_each(empl.begin(), empl.end(), [max_y](const Employee& one)
    {
        if(one.Getyear() > max_y)
           std::cout<<one<<'\n';
    });
    return 0;
}
Yandex
Объявления
05.02.2011, 21:00     Прога на структуры
Ответ Создать тему
Опции темы

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