Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите пожалуйста! / 19 сообщений из 19, страница 1 из 1
25.02.2013, 09:19
    #38164168
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Всем доброго времени суток! У меня есть задача создать класс анкета.в нем есть фио год рождения должность итд.есть задание сформировать новый массив в котором будут люди в возрасте от k до 1 лет и записать его в виде другой таблицы.подскажите плиз идею хотя бы!
...
Рейтинг: 0 / 0
25.02.2013, 11:16
    #38164339
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
fuzzВсем доброго времени суток! У меня есть задача создать класс анкета.в нем есть фио год рождения должность итд.есть задание сформировать новый массив в котором будут люди в возрасте от k до 1 лет и записать его в виде другой таблицы.подскажите плиз идею хотя бы!создать класс анкета

в нем есть фио год рождения должность итд

сформировать новый массив в котором будут люди в возрасте от k до 1 лет

записать его в виде другой таблицы
Не могу похвастаться тем, что я в точности понимаю, что Вам нужно сделать. Но. Сделали ли Вы первый пункт? Если нет, то в чём проблема?
Сделали ли Вы второй пункт? Если нет, то уточните "и т.д." и объясните, в чём проблема.
Сделали ли Вы третий пункт? Если нет, то уточните, что значит "сформировать массив"; уточните, что значит "в котором будут люди" (внутренний телепат подсказывает мне, что требуется массив объектов типа "анкета", но предпочту удостовериться).
Сделали ли Вы четвёртый пункт? Если нет, то уточните, что значит "записать его" (куда?); что значит "в виде таблицы"; уточните, что значит "другой" - вроде это первая таблица в задании.
...
Рейтинг: 0 / 0
25.02.2013, 11:38
    #38164377
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Не могу сделать создание нового массива сотрудников в возрасте
Код: plaintext
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.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
#include <string.h>
#define k 5
class AnketaPolz
{char Fam[30];
 char Imya[20];
 char Otch[20];
 char Godrojd[30];		
 char Dolz[20];
 char Domtel[20];
 char Mobtel[20];
public:
 void inputAnk();
 void outputAnk();
 void poAlfav();
 void vVozraste();
 void input();
 void setFam(char S1[30])
 {strcpy(Fam,S1);}
 void setImya(char S2[20])
 {strcpy(Imya,S2);}
 void setOtch(char S3[20])
 {strcpy(Otch,S3);}
 void setGodrojd(char S4[30])
 {strcpy(Godrojd,S4);}
 void setDolz(char S5[20])
 {strcpy(Dolz,S5);}
 void setDomtel(char S6[20])
 {strcpy(Domtel,S6);}
 void setMobtel(char S7[20])
 {strcpy(Mobtel,S7);}
 char*getFam()
 {return Fam;}
 char*getImya()
 {return Imya;}
 char*getOtch()
 {return Otch;}
 char*getGodrojd()
 {return Godrojd;}
 char*getDolz()
 {return Dolz;}
 char*getDomtel()
 {return Domtel;}
 char*getMobtel()
 {return Mobtel;}
} mas[k];

void input()
{char str1[20],str2[20],str3[20],str4[20],str5[20],str6[20],str7[20];
for(int i=0;i<k;i++)
 {cout<<"\n Familya"<<i+1<<":  ";
gets(str1);
mas[i].setFam(str1);
cout<<"\n Imya"<<i+1<<":  ";
gets(str2);
mas[i].setImya(str2);
cout<<"\n Otchestvo"<<i+1<<":  ";
gets(str3);
mas[i].setOtch(str3);
cout<<"\n God rojdeniya"<<i+1<<":  ";
gets(str4);
mas[i].setGodrojd(str4);
cout<<"\n Dolzhnost"<<i+1<<":  ";
gets(str5);
mas[i].setDolz(str5);
cout<<"\n Dom.Telefon"<<i+1<<":  ";
gets(str6);
mas[i].setDomtel(str6);
cout<<"\n Mobile Telefon"<<i+1<<":  ";
gets(str7);
mas[i].setMobtel(str7);
 }
}
void inputAnk()
{mas[0].setFam("Ivanov");
 mas[0].setImya("Ivan");
 mas[0].setOtch("Ivanovich");
 mas[0].setGodrojd("1973");
 mas[0].setDolz("manager");
 mas[0].setDomtel("3445637");
 mas[0].setMobtel("89192284596");
 mas[1].setFam("Volodin");
 mas[1].setImya("Vladimir");
 mas[1].setOtch("Sergeevich");
 mas[1].setGodrojd("1980");
 mas[1].setDolz("st.manager");
 mas[1].setDomtel("4895752");
 mas[1].setMobtel("89142182135");
 mas[2].setFam("Yurov");
 mas[2].setImya("Victor");
 mas[2].setOtch("Petrovich");
 mas[2].setGodrojd("1969");
 mas[2].setDolz("programmer");
 mas[2].setDomtel("3789842");
 mas[2].setMobtel("89295674537");
 mas[3].setFam("Haritonov");
 mas[3].setImya("Leonid");
 mas[3].setOtch("Pavlovich");
 mas[3].setGodrojd("1985");
 mas[3].setDolz("designer");
 mas[3].setDomtel("2699130");
 mas[3].setMobtel("89103336869");
 mas[4].setFam("Demidov");
 mas[4].setImya("Anton");
 mas[4].setOtch("Arturovich");
 mas[4].setGodrojd("1982");
 mas[4].setDolz("director");
 mas[4].setDomtel("4903569");
 mas[4].setMobtel("89152254564");

}
void outputAnk()
{cout<<'\n'<<"Ъ--------------------------------------------------------------------------ї";

 cout<<'\n'<<"і"<<setw(10)<<"Familya"<<"і"<<setw(8)<<"Imya"<<"і"<<setw(12)<<"Otchestvo"<<"і";
 cout<<setw(6)<<"Year"<<"і"<<setw(10)<<"Dolznost"<<"і";
 cout<<setw(10)<<"DomTelefon"<<"і"<<setw(12)<<"MobTelefon"<<"і";
cout<<'\n'<<"А--------------------------------------------------------------------------Щ";
 for(int i=0;i<k;i++)
{cout<<'\n'<<"і"<<setw(10)<<mas[i].getFam()<<"і"<<setw(8)<<mas[i].getImya()<<"і";
cout<<setw(12)<<mas[i].getOtch()<<"і"<<setw(6)<<mas[i].getGodrojd()<<"і";
cout<<setw(10)<<mas[i].getDolz()<<"і";
cout<<setw(10)<<mas[i].getDomtel()<<"і"<<setw(12)<<mas[i].getMobtel()<<"і";
 } cout<<'\n'<<"А--------------------------------------------------------------------------Щ";
 getch();}
void vVozraste()




void poAlfav()
{AnketaPolz A;
 cout<<"\n Massiv otsortirovan po familyam sotrudnikov:";
 for (int i=0;i<k;i++)
 {for (int j=0;j<k-1;j++)
  {if (strcmp(mas[i].getFam(),mas[j].getFam())<0)
   {A=mas[i];
    mas[i]=mas[j];
    mas[j]=A;}
  }

 }
  
  outputAnk();
}
void menu()
{clrscr();
 cout<<"1-Vvod sotrudnikov v ruchnuiy\n";
 cout<<"2-Avtomat vvod\n";
 cout<<"3-Vivod dannih \n";
 cout<<"4-Sortirovka po alfavity \n";
 cout<<"5-V vozraste \n";
 cout<<"Esc-Vixod \n";
}
void main()
{clrscr();
 char punkt;
 while(punkt!=27)
 {menu();
  punkt=getch();
  clrscr();
  switch(punkt)
  {case '1':input();getch;break;
   case '2':inputAnk();getch;break;
   case '3':outputAnk();getch();break;
   case '4':poAlfav();getch();break;
   case '5':vVozraste();getch();break;
  }
 }
}

вот мой код
...
Рейтинг: 0 / 0
25.02.2013, 11:59
    #38164424
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
fuzz,

Сделайте год рождения числом и добавьте метод getAge().

Глобальный массив mas, с которым работают не-статические методы класса, не принимающие иных аргументов - это ужас, имейте в виду. Делайте функции вне класса типа "отсортировать массив M размера s по возрасту", как вариант.
Научный сотрудник в возрасте от 1 до 5 лет - это посильнее "Фауста" Гёте.
Код, создающий новый массив peopleArray размера size:
Код: plaintext
1.
AnketaPolz* peopleArray = new AnketaPolz[size];

Удостоверьтесь, что Вы понимаете, что означает эта инструкция, прежде чем её использовать.
...
Рейтинг: 0 / 0
25.02.2013, 12:11
    #38164444
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
нет =(для меня пока этьо слишком высоко(.даже не знаю что придумать
...
Рейтинг: 0 / 0
25.02.2013, 12:41
    #38164498
Sheraton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
fuzz, зачем вы пользуетесь char? В С++ есть прекрасный строковый тип string, жить с которым в миллион раз легче чем с char. Зачем вы пользуетесь массивами? В С++ есть замечательный контейнер vector, пользоваться которым так же гораздо легче чем встроенными массивами.... Вы пытаетесь программировать на С++ используя допотопные типы из С и тем самым усложняете себе жизнь.
...
Рейтинг: 0 / 0
25.02.2013, 14:07
    #38164696
Inego
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Фотка ТЗ напоминает задачу из методички по спецкурсу "Программирование" с факультета резины для эксалаторов института мостов и тоннелей.
...
Рейтинг: 0 / 0
25.02.2013, 14:17
    #38164722
m_Sla
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
если правильно понял задание, то как-то так
Код: plaintext
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.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

//----------------------------------------------------------------------------------
class employee
{
    string Fam;
    string Imya;
    string Otch;
    int Godrojd;
    string Dolz;
    string Mobtel;
public:
    employee(string f="",string i="",string o="",int g=0,string d="",string m="")
    {
        set_data(f,i,o,g,d,m);
    }

    void set_data(string f,string i,string o,int g,string d,string m)
    {
        Fam=f;
        Imya=i;
        Otch=o;
        Godrojd=g;
        Dolz=d;
        Mobtel=m;
    }

    void print_to_display(bool print_mob_tel=true)
    {
        cout<<"|";
        cout<<setw(10)<<Fam<<"|";
        cout<<setw(8)<<Imya<<"|";
        cout<<setw(12)<<Otch<<"|";
        cout<<setw(6)<<Godrojd<<"|";
        cout<<setw(10)<<Dolz<<"|";
        if(print_mob_tel)cout<<setw(12)<<Mobtel<<"|";
        cout<<endl;
    }

    int getYear()
    {
        return Godrojd;
    }


    bool fam_cmp(employee e2)
    {
        return (Fam < e2.Fam);
    }

    bool god_cmp(employee e2)
    {
        return (Godrojd < e2.Godrojd);
    }
};
//----------------------------------------------------------------------------------

vector<employee> employees;
vector<employee> new_employees;

//----------------------------------------------------------------------------------

bool fam_cmp(employee e1,employee e2)
{
    return e1.fam_cmp(e2);
}
//----------------------------------------------------------------------------------

bool god_cmp(employee e1,employee e2)
{
    return !e1.god_cmp(e2);
}
//----------------------------------------------------------------------------------

void input()
{
    employees.push_back(employee("Ivanov","Ivan","Ivanovich",1973,"manager","89192284596"));
    employees.push_back(employee("Volodin","Vladimir","Sergeevich",1980,"st.manager","89142182135"));
    employees.push_back(employee("Yurov","Victor","Petrovich",1969,"programmer","89295674537"));
    employees.push_back(employee("Haritonov","Leonid","Pavlovich",1985,"designer","89103336869"));
    employees.push_back(employee("Demidov","Anton","Arturovich",1982,"director","89152254564"));
}
//----------------------------------------------------------------------------------

void print()
{
    cout<<"-----------------------------------------------------------------"<<endl;
    cout<<"|"<<setw(10)<<"Familya"<<"|"<<setw(8)<<"Imya"<<"|"<<setw(12)<<"Otchestvo"<<"|";
    cout<<setw(6)<<"Year"<<"|"<<setw(10)<<"Dolznost"<<"|";
    cout<<setw(12)<<"MobTelefon"<<"|"<<endl;
    cout<<"-----------------------------------------------------------------"<<endl;

    for(size_t i=0; i<employees.size(); i++)
        employees[i].print_to_display();

    cout<<"-----------------------------------------------------------------"<<endl<<endl;

}
//----------------------------------------------------------------------------------

void print_new()
{
    cout<<"----------------------------------------------------"<<endl;
    cout<<"|"<<setw(10)<<"Familya"<<"|"<<setw(8)<<"Imya"<<"|"<<setw(12)<<"Otchestvo"<<"|";
    cout<<setw(6)<<"Year"<<"|"<<setw(10)<<"Dolznost"<<"|";
    cout<<endl;
    cout<<"----------------------------------------------------"<<endl;

    for(size_t i=0; i<new_employees.size(); i++)
        new_employees[i].print_to_display(false);

    cout<<"----------------------------------------------------"<<endl<<endl;

}
//----------------------------------------------------------------------------------

void copy()
{
    int k=0;
    cout<<"? k=";
    cin>>k;

    new_employees.clear();
    for(size_t i=0; i<employees.size(); i++)
        if(employees[i].getYear()<=k)new_employees.push_back(employees[i]);

}
//----------------------------------------------------------------------------------

int main()
{
    input();

    print();
    sort(employees.begin(),employees.end(),fam_cmp);
    print();

    copy(); // создаем копию массива
    sort(new_employees.begin(),new_employees.end(),god_cmp);
    print_new();
}
//----------------------------------------------------------------------------------

...
Рейтинг: 0 / 0
25.02.2013, 14:56
    #38164849
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
InegoФотка ТЗ напоминает задачу из методички по спецкурсу "Программирование" с факультета резины для эксалаторов института мостов и тоннелей.
почему?
просто интересно стало
...
Рейтинг: 0 / 0
25.02.2013, 18:21
    #38165308
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
m_Sla спасибо большое.но боюсь borland не поймет bool
...
Рейтинг: 0 / 0
25.02.2013, 22:09
    #38165582
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Друзья! Помогите плиз переписать вот этот алгоритм под Borland 3.1
void copy()
{
int k=0;
cout<<"? k=";
cin>>k;

new_employees.clear();
for(size_t i=0; i<employees.size(); i++)
if(employees[i].getYear()<=k)new_employees.push_back(employees[i]);

}
...
Рейтинг: 0 / 0
26.02.2013, 01:43
    #38165709
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
fuzzДрузья! Помогите плиз переписать вот этот алгоритм под Borland 3.1
void copy()
{
int k=0;
cout<<"? k=";
cin>>k;

new_employees.clear();
for(size_t i=0; i<employees.size(); i++)
if(employees[i].getYear()<=k)new_employees.push_back(employees[i]);

}

Под Borland 3.1 не надо переписывать ничего. Borland 3.1 надо выкинуть на помойку.
...
Рейтинг: 0 / 0
26.02.2013, 09:14
    #38165804
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Я бы с радостью пересел на vs2010,но препод требует borland
...
Рейтинг: 0 / 0
26.02.2013, 18:41
    #38167002
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Помогите плиз, ничего не могу придумать
...
Рейтинг: 0 / 0
26.02.2013, 19:11
    #38167030
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
fuzz, ну заменяешь работу с коллекциям
на массив. Там всё достаточно просто.

cin/count соотвественно на printf/scanf
если есть необходимость.
...
Рейтинг: 0 / 0
26.02.2013, 19:20
    #38167046
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Да я понимаю что заменить на массив.второй день уже меняю
...
Рейтинг: 0 / 0
26.02.2013, 19:23
    #38167052
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
fuzz, ты не стесняйся diff-ы выкладывать. Это даже эффективнее чем
тут словами описывать. И лог компилляции если ошибка.
...
Рейтинг: 0 / 0
26.02.2013, 19:34
    #38167068
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Исходники пока неудобно выкладывать инета нет пока.вот сижу с телефона.
...
Рейтинг: 0 / 0
26.02.2013, 20:27
    #38167132
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуйста!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
{ AnketaPolz A;
Char m [5];
Cout << бла бла
Gets (m);
 For (int  I=o; I <k; I++ )
If (mas.setGodrojd <=m [I])
}
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите пожалуйста! / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]