Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23
1

Создать массив структур

13.04.2010, 19:49. Просмотров 2823. Ответов 7
Метки нет (Все метки)

Создать массив структур и выполнить задание согласно своему варианту.

Дана информация о шести вкладчиках в сберкассы. Структура имеет вид: фамилия, район, социальное положение, величина вклада. Вывести данные о том, сколько среди вкладчиков служащих, рабочих и колхозников.
1
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2010, 19:49
Ответы с готовыми решениями:

Создать массив структур, заполнив его информацией из файла “input.txt”. Упорядочить этот массив по убыванию суммы баллов
В файле “input.txt” задано количество студентов механикоматематического...

Создать массив структур
Дайте плз рекомендации по решению. Дана информация о четырех вузах. Структура...

Создать массив структур С++
Для книг, хранящихся в библиотеке, задаются регистрационный номер книги,...

Создать массив структур на c++
Здраствуйте. Подскажите как развязать задание, которое задали. С + + учим 2...

Как создать массив структур?
help

7
mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 10:32  [ТС] 2
Кто нибудь!!!!! Аууу!
0
BornLeader
53 / 49 / 9
Регистрация: 16.05.2008
Сообщений: 162
16.04.2010, 12:19 3
Лучший ответ Сообщение было отмечено как решение

Решение

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
#include <iostream>
using namespace std;
 
enum ClientType
{
  ctClerk = 0,
  ctWorker = 1,
  ctFarmer = 2
};
 
struct Client
{
  char* name;
  char* area;
  ClientType type;
  double deposit;
};
 
Client clients[]={
  {"Петя","город",ctClerk,1200.45},
  {"Вася","пригород",ctWorker,3400.67},
  {"Федя","село",ctFarmer,432.78},
  {"Егор","село",ctFarmer,67.05},
  {"Маша","пригород",ctWorker,67008.89},
  {"Леня","деревня",ctFarmer,125.35},
  {0, 0, ctClerk, 0},
};
 
int GetCount(Client* client_array,ClientType type)
{
  int result = 0;
  for(size_t i=0;client_array[i].name != 0;i++)
    if(client_array[i].type == type)
      result++;
  return result;
}
 
int main(void)
{
  cout << "Clerk count = " << GetCount(&clients[0], ctClerk) << endl;
  cout << "Worker count = " << GetCount(&clients[0], ctWorker) << endl;
  cout << "Farmer count = " << GetCount(&clients[0], ctFarmer) << endl;
  return 0;
}
4
mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 13:20  [ТС] 4
BornLeader, Спасибо!!!
Извени я не написал.....
Мне вот на Си/чистом надо/, а это С++ кажется. Можно переделать?
0
BornLeader
53 / 49 / 9
Регистрация: 16.05.2008
Сообщений: 162
16.04.2010, 14:10 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
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
 
enum ClientType
{
  ctClerk = 0,
  ctWorker = 1,
  ctFarmer = 2
};
 
struct Client
{
  char* name;
  char* area;
  int type;
  double deposit;
} clients[]={
  {"Петя","город",ctClerk,1200.45},
  {"Вася","пригород",ctWorker,3400.67},
  {"Федя","село",ctFarmer,432.78},
  {"Егор","село",ctFarmer,67.05},
  {"Маша","пригород",ctWorker,67008.89},
  {"Леня","деревня",ctFarmer,125.35},
  {0, 0, ctClerk, 0},
};
 
int GetCount(int type)
{
  int result = 0;
  int i;
  for(i=0; clients[i].name != 0;i++)
    if(clients[i].type == type)
      result++;
  return result;
}
 
int main(void)
{
  printf("Clerk count = %d\n", GetCount(ctClerk));
  printf("Worker count = %d\n",GetCount(ctWorker));
  printf("Farmer count = %d\n",GetCount(ctFarmer));
  return 0;
}
3
mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 16:36  [ТС] 6
BornLeader, конкретный тебе респект!
Здорово у тебя получается! Ты наверное работаешь с Си постоянно?
0
BornLeader
53 / 49 / 9
Регистрация: 16.05.2008
Сообщений: 162
16.04.2010, 16:38 7
Цитата Сообщение от mix1965 Посмотреть сообщение
Ты наверное работаешь с Си постоянно?
Постоянно на С++
0
mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 16:53  [ТС] 8
BornLeader, ,
а я элекроникой платы, винты ,видеокарты, бп,моники-проги писать скорее всего не придётся,
сети как бы профиль определён уже..
Не сочти за наглость,я тебе оч признателен, может глянешь ещё одну штуку...
Есть исходник по моему заданию, но он не работает.
Разбираться мне придётся вплотную либо с ним либо другой писать т.к. нужно схему и коментарии к этому заданию.
Никто ответ дать не может, а мне это важно. Надо чтоб на Си /чистом/ было
Задание такое:
Разработать программу для создания и работы с двусвязным списком, состоящим из структур. Для работы со списком создать меню со следующими пунктами:

1. Создание списка.
2. Просмотр списка.
3. Добавление в конец списка новой структуры.
4. удаление записи.
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
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
#include<string.h>
#include<conio.h>
#include<io.h>
struct tov{
   char nazvanie[10];
   float cena;
   int kol;
   tov * nextElement;
   tov * lastElement;
};
//=======================================
    tov * firstElement,   //первый
         * endElement,     //последний
         * currentElement, //текущий
         * nextElement,    //следующий
         * lastElement,    //предыдущий
         * tempElement;
    int allElement=0;
    FILE *save; 
//=======================================
    void Menu(void);
    void sozdanie_SP(void);
    void prosmotr_SP();
    void dobavlenie_SP();
    void udalenie_EL();
 
int main(){
    firstElement=0;
    endElement=0;
    Menu();
    getche();
    return 0;
 } 
 //===================  для ввода данных ===================
void enterElement(tov * element){ 
    printf(" vvedite nazvanie tovara  : ");
    scanf("%s",&element->nazvanie);
    printf(" vvedite cenu tovara  : ");
    scanf("%f",&element->cena);
    printf(" vvedite kolichestvo tovara  : ");
    scanf("%d",&element->kol);
    }
void sozdanie_SP(void){
    tov * newElement;     //новый
    do{
        allElement++;
        newElement = new tov;
        enterElement(newElement);
        if (firstElement!=0){
                newElement->nextElement=firstElement;
                firstElement->lastElement=newElement;
                firstElement=newElement;
            } else firstElement=endElement=newElement;
    }while(getche()!=27);
    newElement->lastElement=endElement;
    endElement->nextElement=newElement;
    Menu();
 }  
 //============================== Удаление одной записи ===================================
void udalenie_EL(tov * delRec){
    delRec->lastElement->nextElement=delRec->nextElement;
    delRec->nextElement->lastElement=delRec->lastElement;
    delete delRec;
}
 //============================== Добавление записи ===================================
void dobavlenie_SP(tov * lastRec, tov * nextRec){
    tov *tempLast=lastRec;
    tov *tempNext=nextRec;
    do{
        
        allElement++;
        tov * newElement;
        newElement = new tov;
        enterElement(newElement);
        newElement->lastElement=lastRec;
        newElement->nextElement=nextRec;
        lastRec->nextElement=newElement;
        nextRec->lastElement=newElement;
        lastRec=newElement;
    }while(getche()!=27);
 
} 
//============================== Создание меню ===================================
void Menu(void) {
 
    
    printf(" MENU \n");
 
    printf(" F1 - VVEDITE NAZVANIE TOVARA                \n");
    printf(" F2 - PROSMOTR                               \n");
    printf(" F3 - DOBAVLENIE                             \n");
    printf(" Del - UDALENIE                              \n");
    printf(" Esc - VYHOD                                 \n");
    switch (getch()){
         case 59: sozdanie_SP();break;
        case 60: prosmotr_SP();break;
        case 61: prosmotr_SP();break;
        case 62: dobavlenie_SP();break;
        case 63: udalenie_EL();break;
        case 27: break;
        default: Menu();
        
    }
}
0
16.04.2010, 16:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2010, 16:53

Создать динамический массив структур
День добрый! Собственно задачка: Определить пользовательский тип (структуру),...

Создать массив структур из 10 элементов
вот программа #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt;...

Создать указатель на массив структур ZODIAK.
Народ, помогите плиз!!! Код: #include&quot;stdafx.h&quot; #include&lt;iostream&gt; ...


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

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

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