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

Переписать с C# на C++. Анкета для опроса населения

05.10.2019, 17:31. Показов 4360. Ответов 0

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, переписать код с C# на C++ (либо можете написать свою программу, решающую данную задачу)

Собственно сама задача:

Анкета для опроса населения содержит две группы вопросов.
Первая группа содержит сведения о респонденте:
- возраст;
- пол;
- образование (начальное, среднее, высшее).
Вторая группа содержит собственно вопрос анкеты, ответ на который ДА
или НЕТ.
Разработать программу, которая:
- обеспечивает начальный ввод анкет и формирует из них линейный
список;
- на основе анализа анкет выдает ответы на следующие вопросы:
1) сколько мужчин старше 40 лет, имеющих высшее образование,
ответили ДА на вопрос анкеты;
2) сколько женщин моложе 30 лет, имеющих среднее образование,
ответили НЕТ на вопрос анкеты;
3) сколько мужчин моложе 25 лет, имеющих начальное образование,
ответили ДА на вопрос анкеты;
4) производит вывод всех анкет и ответов на вопросы.
Программа должна обеспечивать диалог с помощью меню и контроль
ошибок при вводе.

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
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
174
175
176
177
178
179
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ECSAnketaCS
{
    public class Responder
    {
        public string FirstName { get; private set; }
        public string SecondName { get; private set; }
        public string LastName { get; private set; }
        public int Age { get; private set; }
 
        public string Sex { get; private set; }
        public string Education { get; private set; }
 
        public bool Answer { get; set; }
 
        public Responder() { }
        public Responder(string fN, string sN, string lN, int a, string s, string e)
        {
            FirstName = fN;
            LastName = lN;
            SecondName = sN;
            Age = a;
            Sex = s;
            Education = e;
        }
        public override string ToString()
        {
            return string.Format("Фамилия: {0}, Имя: {1}, Отчество: {2}",
                                FirstName, SecondName, LastName);
        }
    }
    public enum Sex
    {
        Male = 1,
        Female = 2
    }
    public enum Education
    {
        Higth = 1,
        Middle = 2,
        Primary = 3
    }
    class Program
    {
        static void Main(string[] args)
        {
            int count;
            Console.WriteLine("Введите количество респондентов: ");
            while (!int.TryParse(Console.ReadLine(), out count))
            { Console.WriteLine("Ввод не верный! Повторите еще раз!"); }
 
            List<Responder> responders = new List<Responder>();
            //Ввод данных выбранного количества респондентов
            for (int i = 0; i < count; i++)
            {
                Console.WriteLine("Введите имя: ");
                string fName = Console.ReadLine();
 
                Console.WriteLine("Введите отчество: ");
                string sName = Console.ReadLine();
 
                Console.WriteLine("Введите фамилию: ");
                string lName = Console.ReadLine();
 
                Console.WriteLine("Введите возраст: ");
                int age;
                while (!int.TryParse(Console.ReadLine(), out age))
                { Console.WriteLine("Ввод не верный! Повторите еще раз!"); }
 
                Console.WriteLine("Выберите пол: [1] мужчина, [2] женщина: ");
                string sex = Console.ReadLine();
                while (!(sex == "1" || sex == "2"))
                {
                    Console.WriteLine("Ввод не верный! Повторите еще раз!");
                    sex = Console.ReadLine();
                }
 
 
                Console.WriteLine("Выберите уровень образования: [1] высшее, [2] среднее, [3] начальное: ");
                string educ = Console.ReadLine();
                while (!(educ == "1" || educ == "2" || educ == "3"))
                {
                    Console.WriteLine("Ввод не верный! Повторите еще раз!");
                    educ = Console.ReadLine();
                }
 
                responders.Add(new Responder(fName, sName, lName, age,
                               Enum.GetName(typeof(Sex), int.Parse(sex)),
                               Enum.GetName(typeof(Education), int.Parse(educ))));
 
            }
            //Опрос все респондентов
            for (int j = 0; j < responders.Count; j++)
            {
                Console.WriteLine("Введите ответ на вопрос для:\n{0}: \n[1] Да, [2] Нет", responders[j].ToString());
                string answ = Console.ReadLine();
                while (!(answ == "1" || answ == "2"))
                {
                    Console.WriteLine("Ввод не верный! Повторите еще раз!");
                    answ = Console.ReadLine();
                }
                responders[j].Answer = (answ == "1") ? true : false;
            }
 
            //Выбор вариантов вывода
            Console.WriteLine("Выберите вариант вывода данных: [1], [2], [3], [4]: ");
            string option = Console.ReadLine();
            while (!(option == "1" || option == "2" || option == "3" || option == "4"))
            {
                Console.WriteLine("Ввод не верный! Повторите еще раз!");
                option = Console.ReadLine();
            }
 
            switch (option)
            {
                case "1":
                    Option1(responders);
                    break;
                case "2":
                    Option2(responders);
                    break;
                case "3":
                    Option3(responders);
                    break;
                case "4":
                    Option4(responders);
                    break;
            }
            Console.WriteLine("Программа завершена! Нажмите Enter для выхода...");
            Console.ReadLine();
        }
        //Метод варианта 1
        static void Option1(List<Responder> responders)
        {
            var result = from n in responders
                         where (n.Age > 40 && n.Sex == "Male" && n.Answer == true)
                         select n;
            foreach (var r in result)
            {
                Console.WriteLine("{0}, Ответ: {1}", r.ToString(), r.Answer);
            }
        }
        //Метод варианта 2
        static void Option2(List<Responder> responders)
        {
            var result = from n in responders
                         where (n.Age < 30 && n.Sex == "Female" && n.Education == "Middle" && n.Answer == false)
                         select n;
            foreach (var r in result)
            {
                Console.WriteLine("{0}, Ответ: {1}", r.ToString(), r.Answer);
            }
        }
        //Метод варианта 3
        static void Option3(List<Responder> responders)
        {
            var result = from n in responders
                         where (n.Age < 25 && n.Sex == "Male" && n.Education == "Middle" && n.Answer == true)
                         select n;
            foreach (var r in result)
            {
                Console.WriteLine("{0}, Ответ: {1}", r.ToString(), r.Answer);
            }
        }
        //Метод варианта 4
        static void Option4(List<Responder> responders)
        {
            foreach (Responder r in responders)
            {
                Console.WriteLine("{0}, Ответ: {1}", r.ToString(), r.Answer);
            }
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2019, 17:31
Ответы с готовыми решениями:

Линейный список с анкетой для опроса населения
Анкета для опроса населения содержит две группы вопросов. Первая группа содержит сведения о респонденте: возраст; пол; ...

Анкета для опроса населения
Помогите пожалуйста написать программу на C# Анкета для опроса населения содержит две группы вопросов Первая группа содержит...

Программа-анкета для опроса населения
Помогите пожалуйста написать программу на C#.можно и в консоли. Анкета для опроса населения содержит две группы вопросов Первая группа...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2019, 17:31
Помогаю со студенческими работами здесь

Известны данные о численности населения и площадь.Определить плотность населения
Известны данные о численности населения (в млн жителей) и площади (в тысячах квадратных километров) 5 государств. Определить максимальную...

Даны результаты переписи населения. Покажите список населения которые родились после 1990года.
Даны результаты переписи населения. Покажите список населения которые родились после 1990года. Также покажите число такого населения.

Класс Государство (вычисление плотности населения, отношения числа жителей столицы к общей численности населения)
Помогите составить прогу: Напишите программу, которая будет включать описание указанного ниже класса, создаст и инициализирует экземпляр...

Исправить задачу (написать прогу, которая запрашивает численность населения Земли и численность населения США)
Задача: написать прогу, которая запрашивает численность населения Земли и численность населения США. Сохранить информацию в переменных типа...

Анкета для сайта
Всем доброго дня! Сразу хочу сказать, что на сегодняшний день знаком с PHP только 2-й день. Но появилась потребность создать на дном сайте...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru