Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 25
1

Класс Human: изменить в коде пол человека с int на bool

01.12.2012, 17:44. Просмотров 1803. Ответов 7
Метки нет (Все метки)


Привет! Вот такой код, класс Human, пол человека сделан через int, нужно переделать что было через bool и был не Female и Male, а 1 и 0.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Laba3
{
    enum Pol_hum { Male, Female };
    public class Human
    {
        protected int vozrast;
        protected string nation;
        protected int POL;
      
        public Human()
        {
            this.vozrast = 0;
            this.nation = "undefined";
            this.POL = (int)Pol_hum.Male;
 
        }
        public Human(int v, string n, int p)
        {
            this.vozrast = v;
            this.nation = n;
            this.POL = (p == 1) ? (int)Pol_hum.Male : (int)Pol_hum.Female;
        }
        public virtual int ivozrast
        {
            get { return this.vozrast; }
            set { this.vozrast = value; } // value - ключевое слово
        }
        public virtual string ination
        {
            get { return this.nation; }
            set { this.nation = value; }
        }
        public virtual int IPOL
        {
            get { return this.POL; }
            set { this.POL = (value == 1) ? (int)Pol_hum.Male : (int)Pol_hum.Female; }
        }
    }
 
    public class Student : Human
    {
 
        public Student(int v, string n, int p)
        {
            this.vozrast = v;
            this.nation = n;
            this.POL = (p == 1) ? (int)Pol_hum.Male : (int)Pol_hum.Female;
        }
 
        public override int ivozrast
        {
            get { return this.vozrast; }
            set { this.vozrast = value; }
        }
        public override string ination
        {
            get { return this.nation; }
            set { this.nation = value; }
        }
        public override int IPOL
        {
            get { return this.POL; }
            set { this.POL = value; }
        }
 
        public override string ToString()
        {
            return "Возраст - " + this.ivozrast + ", Национальность - " + this.ination + ", Пол - " + ((this.IPOL == (int)Pol_hum.Male) ? "муж" : "жен");
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            Student q1 = new Student(12, "немец", 1);
            Console.WriteLine(q1.ToString());
 
            Student h1 = new Student(40, "русский", 2);
            Console.WriteLine(h1.ToString());
 
            Student f1 = new Student(15, "американец", 1);
            Console.WriteLine(f1.ToString());
            Console.ReadLine();
        }
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2012, 17:44
Ответы с готовыми решениями:

Изменить значение bool a = true в bool a = false
// Логическое выражения - варианты #include <iostream> #include <conio.h> using namespace std; ...

Определить пол человека
Поделитесь кто нибудь пожалуйста каким нибудь примитивным скриптом для определения пола по ФИО. ...

Создать абстрактный класс класс Human
Помогите, пожалуйста! Задача: Создать абстрактный класс класс Human c полями: Имя, Фамилия,...

Класс Random и ошибка "Ошибка невозможно преобразовать int в bool"
столкнулся с проблемой. на С++ работало отлично: bool arr={false}; ...

7
Эксперт .NET
14831 / 11220 / 2945
Регистрация: 17.09.2011
Сообщений: 18,791
01.12.2012, 18:23 2
Цитата Сообщение от Bigg_T Посмотреть сообщение
пол человека сделан через int, нужно переделать что было через bool
- Какого вы пола?
- Да.

Цитата Сообщение от Bigg_T Посмотреть сообщение
был не Female и Male, а 1 и 0
Так bool или int?
0
962 / 765 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
01.12.2012, 19:43 3
Автор извращенец, enum в данном плане - самый оптимальный вариант
0
764 / 544 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
01.12.2012, 19:58 4
Цитата Сообщение от Konctantin Посмотреть сообщение
Автор извращенец
А я бы воздержался от таких определений ,автор может выбрал не самый лучший способ по не опытности или по другим причинам ,но не просил из ходя его методов решения определить его принадлежность к уродам мутантам или извращенцам ))
1
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 25
01.12.2012, 20:56  [ТС] 5
Цитата Сообщение от Konctantin Посмотреть сообщение
Автор извращенец, enum в данном плане - самый оптимальный вариант
Это требования преподавателя переделать в bool

Добавлено через 26 секунд
Цитата Сообщение от kolorotur Посмотреть сообщение
- Какого вы пола?
- Да.


Так bool или int?
bool.
0
Заблокирован
01.12.2012, 22:17 6
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
 class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Student q1 = new Student(17, "немец", 1);
                Console.WriteLine(q1.ToString());
 
                Student h1 = new Student(19, "русская", 0); // и вообще стоит подумать над окончаниями в национальности в зависимости от пола
                Console.WriteLine(h1.ToString());
 
                Student f1 = new Student(40, "американец", 1);
                Console.WriteLine(f1.ToString());
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex);
            }
            Console.ReadLine();
        }
    }
 
    public class Human
    {
        private byte _years;
        public bool IsMale { get; set; }
        public Human(): this(0, "undefined", true)
        {
        }
 
        public Human(byte years, string n, bool isMale)
        {
            Nationality = n;
            Years = years;
            IsMale = isMale;
        }
 
        //virtual неверное архитектурное решение, т.к. возраст он для всех - возраст, а вот проверка возраста это уже другое 
        public byte Years //Ege ? ну наверное все таки Years, byte - т.к. возраст не может быть меньше нуля и больше 255  
        {
            get { return _years; }
            set
            {
                CheckYears(value);
                _years = value;
            }
        }
 
        //А вот тут нужен virtual, т.к. студент не может быть 14 летним подростком
        protected virtual void CheckYears(byte years)
        {
            if(years > 120)
                throw new Exception("уже мертв, определите тип Сorpse");
        }
 
        //virtual не нужен
        public string Nationality { get; set; } //хотя в паспорте это не пишут 
    }
 
    public class Student : Human
    {
        public Student(byte y, string n, byte isMale) : base(y, n, isMale != 0) //читернул
        {
        }
 
        protected override void CheckYears(byte years)
        {
            base.CheckYears(years);
            if (years < 16)
                throw new Exception(string.Format("Слишком молод для студента: {0}", Nationality)); 
        }
        
        public override string ToString()
        {
            return "Возраст - " + Years + ", Национальность - " + Nationality + ", Пол - " +  (IsMale ? "муж" : "жен");
        }
    }
0
Темная сторона .Net
589 / 486 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
01.12.2012, 22:19 7
А из каких соображений? Вы на этом ничего не сэкономите.
0
Заблокирован
01.12.2012, 22:25 8
И вообще по Вашей логике или преподавателя человека определяет национальность, пол и возраст. Думайте над архитектурой всегда, т.к. дальше кодера можно не уйти.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2012, 22:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Класс Human
создать класс human состоящий из полей -имя -фамилия -дата рождения -пол -национальность...

Как определить по фамилии человека его пол?
Здравствуйте уважаемые форумчанини у меня возник вопрос о том что как можно определить по фамилию...

Создать класс Human
Помогите пожалуйста с заданием Создать класс Human, который содержит такие: закрытые - имя,...

Разработать класс Human
Разработать класс Human. Добавить в класс 3 поля: пол (использовать перечисление), возраст,...

В новой форме вывести пол человека, возраст, и гороскоп
написать программу в vba ! дана форма в ней ввести имя фамилию отчество , дату рождения! и кнопку...

Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения...


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

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

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