Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 12
1

Объясните, пожалуйста, что я не так делаю с отладкой

23.08.2018, 17:46. Просмотров 1715. Ответов 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
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace C_sharp2._2
{
    abstract class BaseObject
    {
        enum Names { Саша, Петя, Даша, Кслюша, Маша, Паша, Света, Андрей, Сергей, Дима, Вика, Дина, Даня, Ваня, Рома, Коля, Поля, Яна, Лиза, Миша}
 
        protected int hzp;
        protected int fzp;
        protected string name;
        protected double zp;
 
        Random r = new Random();
        public BaseObject(int min, int max)
        {
            name = ((Names)r.Next(0, 20)).ToString();
            zp = r.Next(min,max);
        }
 
        public abstract double Zarplata();
        public override string ToString()
        {
            return name + ": Фикс. зарплата=" + fzp + ", Час. зарплата=" + hzp;
        }
        
    }
 
    class Povremenshik : BaseObject
    {
        public Povremenshik(int min, int max) : base(min, max)
        {
            hzp = (int)(zp / 20.8 / 8);
        }
 
        public override double Zarplata()
        {
            zp = 20.8 * 8 * hzp;
            return zp;
        }
    }
 
    class Fiks : BaseObject
    {
        public Fiks(int min, int max) : base(min, max)
        { fzp = (int)zp; }
 
        public override double Zarplata()
        {
            return zp;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            BaseObject[] obj = new BaseObject[50];
            for (int i = 0; i < obj.Length / 2; i++)
                obj[i] = new Povremenshik(50000,100001);
            for (int i = obj.Length / 2; i < obj.Length; i++)
                obj[i] = new Fiks(50000,100001);
            Console.WriteLine();
            foreach (BaseObject el in obj)
                Console.WriteLine(el.ToString());
 
            Console.ReadKey();
        }
    }
}
0
Миниатюры
Объясните, пожалуйста, что я не так делаю с отладкой   Объясните, пожалуйста, что я не так делаю с отладкой  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2018, 17:46
Ответы с готовыми решениями:

Объясните пожалуйста,что я делаю не так
Есть 3 двумерных массива A, B, C. Количество строк и столбцов для них вводит пользователь с...

объясните, пожалуйста, что я делаю не так
Ошибка LNK2005 &quot;bool __cdecl ForSortForBodyType(struct AutoCars &amp;,struct AutoCars &amp;)&quot;...

ребята подскажите пожалуйста что не так делаю ? WinApi
Пишу простой калькулятор на WinApi , прога не выдает результат ! #include &lt;windows.h&gt;...

Пожалуйста, объясните что не так)
Напишите программу, которая проверяет правильность скобочного выражения с четырьмя видами скобок:...

3
868 / 530 / 265
Регистрация: 26.11.2015
Сообщений: 1,668
Записей в блоге: 2
23.08.2018, 17:53 2
Лучший ответ Сообщение было отмечено Krosdir как решение

Решение

сделайте r статичным полем класса
1
Администратор
Эксперт .NET
13114 / 10687 / 4407
Регистрация: 17.03.2014
Сообщений: 21,512
Записей в блоге: 1
23.08.2018, 17:54 3
Лучший ответ Сообщение было отмечено Krosdir как решение

Решение

Krosdir, с отладкой все в порядке. Причина в неверном использовании Random. Самое простое исправление будет добавить модификатор static. Почему так происходит читай в FAQ для студентов или школьников: Почему класс Random иногда генерирует одинаковые последовательности чисел?.
1
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 12
23.08.2018, 18:11  [ТС] 4
Спасибо за помощь, учту в будущем.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2018, 18:11

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

Пожалуйста объясните, что не так??
Есть код. procedure TMain.N19Click(Sender: TObject); var i,j: integer; B_EL,KOOR_EL,Matrix_A:...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю
Дело в том что при запуске вот этой программы: #include &lt;iostream&gt; using namespace std; int main...

Хотелось бы, чтоб по нажатию на кнопку что-то происходило. Но, Увы! Что я делаю не так?
Пытаюсь начать осваивать jQuery. Создал вот такой текст. (убрал лишнее) &lt;html&gt;&lt;head&gt; &lt;script&gt; ...

Что я делаю не так?
Устанавливаю MVP матрицу: glm::mat4 sizeMatrix = glm::scale(glm::vec3(1.0, 1.0, 1.0));...


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

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

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