Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
 Аватар для raybred
0 / 0 / 0
Регистрация: 27.06.2017
Сообщений: 11

Не работают примеры из книги "Эндрю Стиллмен, Грин - Изучаем c#"

27.06.2017, 14:33. Показов 3306. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Форумчане, уже отчаялся самостоятельно разобраться. Раз уж вы проходили все примеры по книге - подскажите, что я делаю не так. У меня не компилируется ни один пример, вообще. Запускаю программу и выдает разные ошибки.

Пример из книги "Эндрю Стиллмен, Грин - Изучаем c#" 166 стр.
Вот код Form1:

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace game
{
    public partial class Form1 : Form
    {
        Guy joe;
        Guy bob;
        int bank = 100;
 
        public Form1()
        {
            InitializeComponent();
 
            bob = new Guy();
            bob.Name = "Bob";
            bob.Cash = 100;
 
            joe = new Guy();
            joe.Name = "Joe";
            joe.Cash = 50;
 
            UpdateForm();
        }
 
        public void UpdateForm()
        {
            joesCashLabel.Text = joe.Name + " has $" + joe.Cash;
            bobsCashLabel.Text = bob.Name + " has $" + bob.Cash;
            bankCashLabel.Text = " bank have now $" + bank;
        }
 
            private void button1_Click(object sender, EventArgs e)
        {
            if (bank >= 10)
            {
                bank -= joe.ReceiveCash(10);
                UpdateForm();
 
            }else
            {
                MessageBox.Show("In bank has not money.");
 
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            bank += bob.GiveCash(5);
            UpdateForm();
        }
    }
}
Отдельно класс Guy:

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace game
{
    static class Guy
    {
        public string Name;
        public int Cash;
 
        public int GiveCash(int amount)
        {
            if (amount<=Cash && amount >0)
            {
                Cash -= amount;
                return amount;
            }
            else
            {
                                MessageBox.Show(
                                    "У меня не хватает денег " +amount, Name + " говорит..." );
                return 0;
 
            }
        }
 
        public int ReceiveCash(int amount)
        {
            if(amount > 0)
            {
                Cash += amount;
                return amount;
            }else
            {
                MessageBox.Show(amount + " мне не нужно", Name + " говорит...");
                return 0;
            }
        }
 
 
 
 
 
 
        /// <summary>
        ///
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
И ошибка:


PS Может быть на форуме есть более полный разбор примеров из этой книги?
Теряю время и деньги, а результата никакого. Прошу прощения, что так эмоционально.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.06.2017, 14:33
Ответы с готовыми решениями:

Ошибки с работой MessageBox.Show, пример из книги Стиллмен, Грин
После попытки выполнить первый же пример из книги столкнулся с проблемой. Все мои действия: 1. Проджект нью-&gt; Виндовс форм...

Программа из книги HeadFirst C# Эндрю Стиллмен
Профи, прошу помощи. Сел изучать С# по книге HeadFirst C# Эндрю Стиллмен. Опережая негодование по поводу того что книга довольно старая...

Где скачать книгу Э. Стиллмен, Дж. Грин
Скажите пожалуйста если кто знает где можно скачать книгу Изучаем C# Автор: Э. Стиллмен, Дж. Грин В любом формате, виде, ...

11
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
27.06.2017, 14:38
raybred, для начала почитайте как работать со статическими классами, и всё у Вас заработает
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.06.2017, 14:42
Цитата Сообщение от raybred Посмотреть сообщение
C#
1
namespace game
Создай новый проект и вставляй код не трогая названия namespace'ов - они походу у тебя разные в нескольких файлах получились.

Добавлено через 1 минуту
хотя стоп - Project -> Properties вкладка Application - тип проекта посмотри какой (Output type).
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
27.06.2017, 14:43
Woldemar89, у него класс статический, и он хочет создать экземпляры его, по книге этот класс обычный
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.06.2017, 14:46
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
у него класс статический
а ну да, с функцией main)
0
27.06.2017, 15:08

Не по теме:

Woldemar89, просто "идеальное" решение переименовать класс Program :)

0
 Аватар для raybred
0 / 0 / 0
Регистрация: 27.06.2017
Сообщений: 11
28.06.2017, 11:56  [ТС]
Читаю, изучаю, смотрю. Но как новичок - не вижу всей картины. Пробовал заменять static на public, как вы понимаете - успеха не добился. Подскажите, пжлст, куда конкретнее копать? Если есть возможность - укажите на ошибку прямо. Спасибо!
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
28.06.2017, 12:17
Лучший ответ Сообщение было отмечено raybred как решение

Решение

Создаешь проект (новый), пкм добавить/Класс там пишешь код своего класса Guy (без статика), формируешь форму как нужно для проекта, запускаешь, радуешься
Файл Program даже не трогай лучше для тебя будет
1
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
28.06.2017, 12:22
Лучший ответ Сообщение было отмечено raybred как решение

Решение

Вот рабочий пример - я не знаю как там все точно по книге выглядит, но, надесюь будет понятно.
Следующим сообщением выпишите сюда все важные различия которые обнаружите в файлах.

Не по теме:


Иначе репу заминусую :) (шутка шредингера)

Вложения
Тип файла: zip game.zip (70.7 Кб, 7 просмотров)
1
 Аватар для raybred
0 / 0 / 0
Регистрация: 27.06.2017
Сообщений: 11
28.06.2017, 12:44  [ТС]
Да, действительно, всё работает! Спасибо, Владимир! (Woldermar89)
Начал сравнивать код в Классе Guy и сразу нашел лишний static чуть ли не в первой строчке (надо просто class Guy).
Ещё, как ранее указал SeIZVeIZ - я видимо удалил оригинальный Program.cs и попытался создать свой Класс. Вроде делал по книге, но настройки проекта очевидно сбились... С этим я когда-нибудь разберусь (надеюсь)

Большое спасибо всем за помощь! Оказывается это не книга плохая, а ... ну вы поняли
Изучаю матчасть дальше!
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
28.06.2017, 16:54
Цитата Сообщение от raybred Посмотреть сообщение
я видимо удалил оригинальный Program.cs и попытался создать свой Класс
У каждого действия есть последствия и "лишние детали" в проектах лежат довольно редко)

Добавлено через 3 часа 17 минут
На всякий случай, если есть желание -
Терпеливо, от начала до конца - вперед!
https://metanit.com/sharp/tutorial/
1
 Аватар для raybred
0 / 0 / 0
Регистрация: 27.06.2017
Сообщений: 11
29.06.2017, 12:25  [ТС]
О, круто, спасибо!
Сейчас одновременно изучаю c# по нескольким источникам.
Если где-то что-то недопонял - помогает повторение или другой взгляд, другое объяснение.
Начинал с учебника Герберта Шилдта, но там всё очень сложно и нет практики. Сначала всё равно читаю его, потом иду к другим.
Купил по совету камрадов книгу "Изучаем c#" Стиллмена, но забуксовал на практике.
Параллельно смотрю неплохие видеоуроки "Увлекательное программирование на языке C#" Дмитрия Сошникова на сайте Microsoft.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2017, 12:25
Помогаю со студенческими работами здесь

Не работают примеры из книги Щупака
что делать? Одно только error C2664: CreateWindowExW: невозможно преобразовать параметр 2 из &quot;const char &quot; в &quot;LPCWSTR&quot; ...

Не работают примеры OpenGL из книги "Qt5.10" Макса Шлее на intel HD 3000
Собственно столкнулся с тем, что ни один пример из 23 главы книги &quot;Qt 5.10&quot; Макса Шлее не работает на ноуте с intel HD 3000(i3-2330M) и...

Проект на PyGame из книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения», Мэтиза
Пишу первый проект на Питоне, никак не могу разобрать как исправить ошибку. Код переписывать (перекопировать с учебника) уже пытался.

Объясните текст из книги Лутца "Изучаем python"
В книге написано: В текущей реализации python это ещё и программный пакет который называется интерпретатором. Интерпретатор - это такой...

Задача с книги Д.Гриффитс "Изучаем програмирование на С"
нашел интересную книгу по С, в ней приводится задача определителся достоинства карт, решив ее я сверился с решением, отправляю с вложением...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru