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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
mix1965
2 / 2 / 0
Регистрация: 13.04.2010
Сообщений: 23
#1

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

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

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

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

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

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

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

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

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

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

7
mix1965
2 / 2 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 10:32  [ТС] #2
Кто нибудь!!!!! Аууу!
0
BornLeader
50 / 46 / 1
Регистрация: 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;
}
2
mix1965
2 / 2 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 13:20  [ТС] #4
BornLeader, Спасибо!!!
Извени я не написал.....
Мне вот на Си/чистом надо/, а это С++ кажется. Можно переделать?
0
BornLeader
50 / 46 / 1
Регистрация: 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;
}
2
mix1965
2 / 2 / 0
Регистрация: 13.04.2010
Сообщений: 23
16.04.2010, 16:36  [ТС] #6
BornLeader, конкретный тебе респект!
Здорово у тебя получается! Ты наверное работаешь с Си постоянно?
0
BornLeader
50 / 46 / 1
Регистрация: 16.05.2008
Сообщений: 162
16.04.2010, 16:38 #7
Цитата Сообщение от mix1965 Посмотреть сообщение
Ты наверное работаешь с Си постоянно?
Постоянно на С++
0
mix1965
2 / 2 / 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2010, 16:53
Привет! Вот еще темы с ответами:

Создать массив структур и выполнить задание - C++
Дана информация о 10 студентах. Структура имеет вид: фамилия, год рождения, факультет. Вывести данные о студентах по заданному факультету.

Создать массив структур. Реализоать запросы - C++
Задача Создать массив структур, каждая из которых состоит из следующих элементов: факультет, курс, группа, фамилии студентов,...

MALLOC Создать двумерный массив структур - C++
Доброго времени суток. Есть структура struct books { char* title; }; Как с помощью malloc создать двумерный массив? ...

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


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
16.04.2010, 16:53
Ответ Создать тему
Опции темы

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