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

Error: Expected class, delegate, enum, interface, or struct

18.06.2013, 21:12. Показов 2992. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал приложение winforms, добавил класс с реализацией методов, почему то куча ошибок типа "Expected class, delegate, enum, interface, or struct". скрин кинул в файл.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Text;
 
namespace Holiday_event
{
    class Party
    {
        const int food_per_person = 25;
        public double total_cost;
        public bool fancy,healthy;
        int number_of_person;
        public int Number_of_person 
        { 
            get
            {
                return number_of_person;
            }
            set
            {
                number_of_person = value;
                Get_cost(bool fancy, bool healthy);
            } 
        }
        public double healthy_option(bool a)
        {
            if (number_of_person < 1) return 0;
            else if (a) return (food_per_person + 5) * number_of_person * 0.95;
            else return (food_per_person + 20) * number_of_person;
        }
        public double fancy_decoration (bool b)
        {
            if (number_of_person < 1) return 0;
            if (b) return 15 * number_of_person + 50;
            else return 7.5 * number_of_person + 30;
        }
        public void Get_cost(bool a, bool b)
        {
            this.total_cost = fancy_decoration(a) + healthy_option(b);
        }
    }
}
Миниатюры
Error: Expected class, delegate, enum, interface, or struct  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2013, 21:12
Ответы с готовыми решениями:

Ошибки в коде - Expected class, delegate, enum, interface, or struct
С с# не знаком, полез на msdn.microsoft.com насчет ошибок, тоже не очень понятно. насчет cs1513 вообще не понятно, вроде есть закрывающая...

Error 1 Invalid token '=' in class, struct, or interface member declaration
{ class Person { public string firstName; public string lastName; public void ShowFullName() ...

Ошибка-- class, interface, or enum expected
В таком коде (хотя много подобных ошибок): public void dosomething() { int x; double y; x = (int)...

8
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
18.06.2013, 22:39
Get_cost(bool fancy, bool healthy); - что за фигня у вас на 24-й строчке?
C#
1
Get_cost(fancy, healthy);
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 28
18.06.2013, 23:40  [ТС]
ну задумано так, при изменении number_of_person (ему присвоен Numeriupdown.value) пересчитывается метод Get_cost в котором bool fancy это один checkbox, bool healthy второй.
0
 Аватар для mrReptiloid
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
18.06.2013, 23:54
ну задумано так
Нет,это не задумано,это как-раз таки фигня.Зачем второй раз указывать тип данных?Как должно быть Вам уже написали..
И замените поля свойствами..Да,и желательно всегда указывать private,даже если изначально так и есть.
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 28
19.06.2013, 00:08  [ТС]
ок. так и сделаю. спасибо
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.06.2013, 00:25
Это должно выглядеть как-то так:
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
class Party
    {
        const int FoodPerPerson = 25;
        public int NumberOfPerson { get; set; }
 
        public double healthy_option(bool a)
        {
            if (NumberOfPerson < 1) 
                return 0;
            if (a) 
                return (FoodPerPerson + 5)*NumberOfPerson*0.95;
            return (FoodPerPerson + 20)*NumberOfPerson;
        }
 
        public double fancy_decoration (bool b)
        {
            if (NumberOfPerson < 1) 
                return 0;
            if (b) 
                return 15 * NumberOfPerson + 50;
            return 7.5 * NumberOfPerson + 30;
        }
        public int Get_cost(bool a, bool b)
        {
            return (int) (fancy_decoration(a) + healthy_option(b));
        }
    }
но быдлокод адский, должен признать...

Добавлено через 11 минут
А вот так оно выглядит после рефакторинга:
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
namespace HolidayEvent
{
    public abstract class Party
    {
        protected const int FoodPerPerson = 25;
        public int NumberOfPerson { get; set; }
 
        public abstract double HealthyOption { get; }
        public abstract double FancyOption { get; }
 
        public int GetСost()
        {
            return (int) (FancyOption + HealthyOption);
        }
    }
 
    public class LowLoadParty : Party
    {
        public override double HealthyOption { get { return 0; } }
 
        public override double FancyOption { get { return 0; } }
    }
 
    public class AverageLoadParty : Party
    {
        public override double HealthyOption { get { return (FoodPerPerson + 5) * NumberOfPerson * 0.95; } }
 
        public override double FancyOption { get { return 15 * NumberOfPerson + 50; } }
    }
 
    public class HighLoadParty : Party
    {
        public override double HealthyOption { get { return (FoodPerPerson + 20) * NumberOfPerson; } }
 
        public override double FancyOption { get { return 7.5 * NumberOfPerson + 30; } }
    }
 
    public static class PartyFactory
    {
        public static Party GetParty(int numberOfPerson, bool flag)
        {
            if (numberOfPerson < 1)
                return new LowLoadParty();
            if (flag)
                return new AverageLoadParty();
            return new HighLoadParty();
        }
    }
 
}
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 28
19.06.2013, 00:27  [ТС]
Вот общая картина, нормально, или надо доработать. P.S работает корректно, проверял.

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Holiday_event
{
    public partial class Form1 : Form
    {
        Party party;
        public Form1()
        {
            InitializeComponent();
            party = new Party();
            party.Fancy = checkBox1.Checked;
            party.Healthy = checkBox2.Checked;
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            party.Get_cost(checkBox1.Checked, checkBox2.Checked);
            textBox1.Text = (party.total_cost).ToString();
        }
        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            party.Get_cost(checkBox1.Checked, checkBox2.Checked);
            textBox1.Text = (party.total_cost).ToString();
        }
 
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            party.Number_of_person = (int)numericUpDown1.Value;
            textBox1.Text = party.total_cost.ToString();
        }
    }
}

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Text;
 
namespace Holiday_event
{
    class Party
    {
        const int food_per_person = 25;
        public double total_cost;
        private int number_of_person;
        public bool Fancy { get; set; }
        public bool Healthy { get; set; }
        public int Number_of_person 
        { 
            get
            {
                return number_of_person;
            }
            set
            {
                number_of_person = value;
                Get_cost(Fancy, Healthy);
            } 
        }
        public double healthy_option(bool a)
        {
            if (number_of_person < 1) return 0;
            else if (a) return (food_per_person + 5) * number_of_person * 0.95;
            else return (food_per_person + 20) * number_of_person;
        }
        public double fancy_decoration (bool b)
        {
            if (number_of_person < 1) return 0;
            if (b) return 15 * number_of_person + 50;
            else return 7.5 * number_of_person + 30;
        }
        public void Get_cost(bool a, bool b)
        {
            this.total_cost = fancy_decoration(a) + healthy_option(b);
        }
    }
}
0
 Аватар для mrReptiloid
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
19.06.2013, 01:01
Все-равно не очень как-то.Опять открытое поле,вместо свойства,про наименования я вообще молчу.
http://michaelsmirnov.blogspot.com/2011/01/c.html



В принципе,можно еще if() else() заменить тернарной условной операцией,но тут уже каждому свое,может кому-то оно неудобно..
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.06.2013, 01:34
Вот так пишешь, стараешься сделать правильно, а потом люди все равно делают по-своему. Как же, я же чужой, может бяку какую советую, а своя прога - все-таки не чужая... Ведь она - дитя природы, пусть дурное, но - дитя!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2013, 01:34
Помогаю со студенческими работами здесь

Ошибка "Java class, interface, or enum expected"
public static void main(String args){ DataOnly data = new DataOnly(); data.i = 12; data.d = 1.74; ...

Ошибка: "class interface or enum expected"
class interface or enum expected в java это в Dog.java компилируется. компилирую 1-ым(javac Dog.java) class Dog{ int size; ...

Ошибка "Runtime Error 430 class does not support Automation or expected Interface" под Win7
Привет всем) Написанный мною скрипт, работает всего лишь на Windows 8, а на Windows 7 при открытии .exe файла пишет ошибку ...

Ошибка в скрипте Unity: Unexpected symbol in class, struct, or interface member declaration
ОШИБА в 6 строке using System.Collections; using System.Collections.Generic; using UnityEngine; public class scfaya :...

Ошибка "Unexpected symbol in class, struct, or interface member declaration"
Unity выдаёт ошибку: Assets/Scripts/Item.cs(11,36): error CS1519: Unexpected symbol `ItemType' in class, struct, or interface member...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru