Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/32: Рейтинг темы: голосов - 32, средняя оценка - 4.84
 Аватар для mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23

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

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

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

Дана информация о шести вкладчиках в сберкассы. Структура имеет вид: фамилия, район, социальное положение, величина вклада. Вывести данные о том, сколько среди вкладчиков служащих, рабочих и колхозников.
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2010, 19:49
Ответы с готовыми решениями:

Структуры.Обработка массивов структур.Создать массив структур из 10-ти элементов
Создать массив структур из 10-ти элементов: <Номер договора><Фамилия клиента><стоимость товара><выплаченная сумма> ...

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

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

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

Решение

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  [ТС]
BornLeader, Спасибо!!!
Извени я не написал.....
Мне вот на Си/чистом надо/, а это С++ кажется. Можно переделать?
0
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
16.04.2010, 14:10
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  [ТС]
BornLeader, конкретный тебе респект!
Здорово у тебя получается! Ты наверное работаешь с Си постоянно?
0
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
16.04.2010, 16:38
Цитата Сообщение от mix1965 Посмотреть сообщение
Ты наверное работаешь с Си постоянно?
Постоянно на С++
0
 Аватар для mix1965
3 / 3 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 16:53  [ТС]
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.04.2010, 16:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru