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

Подскажите почему ошибка

03.10.2018, 21:44. Просмотров 872. Ответов 2
Метки нет (Все метки)

Стоит задача написать консольное приложение в помощью "enum", в котором пользователь вводит значение (в моем случае от 1 до 8) в ответ получает статус заказа в интернет магазине, не компилируется подчёркивает return serviceFee; , не могу понять почему.

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
    class Program
    {
        static int GetServiceFee(PaymentType paymentType)
        {
            int serviceFee;
            switch (paymentType)
            {
                case PaymentType.Accepted:
                    serviceFee = 0;
                    break;
                case PaymentType.Canceled:
                    serviceFee = 1;
                    break;
                case PaymentType.Confirme:
                    serviceFee = 2;
                    break;
                case PaymentType.Delivered:
                    serviceFee = 3;
                    break;
                case PaymentType.Paid:
                    serviceFee = 4;
                    break;
                case PaymentType.Preparing:
                    serviceFee = 5;
                    break;
                case PaymentType.Rocessing:
                    serviceFee = 6;
                    break;
                case PaymentType.Sent:
                    serviceFee = 7;
                    break;
            }
            return [COLOR="red"]serviceFee;[/COLOR]
        }
 
        static int GetServiceFee(int a)
        {
            return 0;
        }
        enum PaymentType
            {
            Accepted,
            Rocessing,
            Confirme,
            Paid,
            Preparing,
            Sent,
            Delivered,
            Canceled,
            }
 
        static void Main(string[] args)
        {
            string[] or = new string[8];
 
            or[0] = "Accepted";
            or[1] = "Processing";
            or[2] = "Confirme";
            or[3] = "Paid";
            or[4] = "Preparing";
            or[5] = "Sent";
            or[6] = "Delivered";
            or[7] = "Canceled";
 
 
            Console.Write("ВВедите ");
            var paymentTypeString = Console.ReadLine();
            var paymentType = (PaymentType)Enum.Parse(typeof(PaymentType), paymentTypeString);
            int serviceFee = GetServiceFee(paymentType);
            Console.WriteLine("Статус заказа {0}", serviceFee);
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2018, 21:44
Ответы с готовыми решениями:

Подскажите почему не работает программа. Может быть где то ошибка в коде
using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

Подскажите почему консоль пустая
Я только начал изучение c# и подумал о том, что возможно нужно закрепить знания о том что я выучил....

Подскажите, почему не работает двойной цыкл???
Подскажите, почему не работает двойной цыкл??? На С++ работал , в C# не хочет... for(int i = 0, j...

Подскажите почему программа выводится на консоль true
При выполнении этой програмки выводится на консоль true, подскажите почему именно так. Буду...

2
Модератор
6324 / 4444 / 1264
Регистрация: 21.04.2018
Сообщений: 13,034
Записей в блоге: 2
03.10.2018, 22:05 2
Лучший ответ Сообщение было отмечено xKEHTx как решение

Решение

Ошибка какая? Не во всех ветвях присваивается значение? Попробуйте так
C#
5
            int serviceFee=0;
Добавлено через 2 минуты
И сам метод неправильно делаете. Если надо получить индекс перечислителя то вот так надо
C#
1
static int GetServiceFee(PaymentType paymentType) => (int) paymentType;
Всё - этого достаточно!
0
1 / 1 / 0
Регистрация: 02.10.2018
Сообщений: 8
03.10.2018, 23:07  [ТС] 3
спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2018, 23:07

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

Подскажите по парсингу, не могу понять почему не работает xpath
Есть программка, хочу парсить страницу, использую HtmlAgilityPack, беру элемент нужный из кода по...

Подскажите где почему ошибка?
Подскажите почему ошибка? SC:=MapVirtualKeyEx(VK,MAPVK_VK_TO_VSC,MyHKL); Unit2.pas(106):...

Подскажите почему ошибка в 3 и 7 страке
<?php //авторизация в админ зоне session_start(); if(isset($_SESSION)) $users_login =...

Подскажите почему ошибка Type name expected
в классе объявил массив потоков #ifndef manH #define manH #include <Classes.hpp> #include...

Подскажите, почему не запускается? В чем ошибка?
#include<iostream.h> #include<string.h> int main () { system("chcp 1251>nul"); char str;...

Подскажите почему происходит ошибка в вычислении
При введении следующих параметров (60 2.3 3) выходит ответ 4rub. 13cop. хотя должен выдавать 4rub....


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

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

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