Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2010, 20:00   #1
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию ошибки в программе - индексирование и свойства

Написал программу по следующему заданию. При компиляции выдает ошибки помогите их исправить пожалуйста. Если возможно, подправите пожалуйста мою программу и выдайте ее правильный вариант. Также покажите пожалуйста как реализовать в program.cs вывод символов в верхнем регистре и результат подсчета количества гласных букв.
Задание:
Класс инкапсулирует одномерный массив из элементов символьного типа. Создать индексатор, который предотвращает нарушение границы массива и возвращает символ лишь в верхнем регистре. Создать свойство, доступное для чтения закрытого элемента - данного, что содержит количество гласных букв в массиве. Результат выполнение вывести на экран. В Program.cs реализовать сам вывод на экран. Полный список ошибок прикрепил в txt к сообщению

Ошибки:
Цитата:
c:\WINDOWS\Microsoft.NET\Framework\ v3.5\Csc.exe /noconfig /nowarn:1701,1702 /errorreportrompt /warn:4 /define:DEBUG;TRACE /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5 \System.Core.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5 \System.Data.DataSetExtensions.dll" /reference:c:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727\System.Data.dl l /reference:c:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727\System.dll /reference:c:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727\System.Xml.dll /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5 \System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimize- /out:"obj\Debug\laba index.exe" /target:exe Program.cs Properties\AssemblyInfo.cs Row.cs
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(13,33): error CS0236: A field initializer cannot reference the non-static field, method, or property 'laba_index.Row.charray'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(12,16): (Related location)
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(26,31): error CS0029: Cannot implicitly convert type 'bool' to 'int'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(31,31): error CS0029: Cannot implicitly convert type 'bool' to 'int'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(32,28): error CS0031: Constant value '0' cannot be converted to a 'char'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(39,21): error CS0200: Property or indexer 'string.this[int]' cannot be assigned to -- it is read only
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(40,31): error CS0029: Cannot implicitly convert type 'bool' to 'int'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(44,31): error CS0029: Cannot implicitly convert type 'bool' to 'int'


Код программы:
Код:
//Row.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace laba_index
{
    class Row
    {
        public int Length;
        public int errflag;
        char[] charray;
        string str = new string(charray);

        public Row(string str)
        {
            this.str = str;
        }

        public char this[int i]
        {
            get
            {
                if (ok(i))
                {
                    errflag = false;
                    return Char.ToUpper(str[i]);
                }
                else
                {
                    errflag = true;
                    return 0;
                }
            }
            set
            {
                if (ok(i))
                {
                    str[i] = value;
                    errflag = false;
                }
                else
                {
                    errflag = true;
                }
            }
        }
        private bool ok(int i)//метод возвращает значение true, если индекс в пределах границ
        {
            if (i >= 0 & i < Length)
                return true;
            return false;
        }



        public char VowelsCount
        {
            get
            {
                int count = 0;
                foreach (char c in charray)
                {
                    switch (char.ToUpper)
                    {
                        case 'A': count++; break;
                        case 'E': count++; break;
                    }
                }
                return count;
            }
        }
    }
}

//Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace laba_index
{
    class Program
    {
        static void Main(string[] args)
        {
            Row r = new Row(char[] charray = {'A' , 'b' , 'E', 'r', 't', 'y'};
            
        }
    }
}
Вложения
Тип файла: txt errors.txt (5.0 Кб, 123 просмотров)

Последний раз редактировалось ArniLand; 11.04.2010 в 20:07.
ArniLand вне форума Ответить с цитированием
Старый 12.04.2010, 07:53   #2
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию

Код:
 public int errflag;
....below in the code :
errflag = false;
akasex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками - индексирование и свойства ArniLand Общие вопросы .NET 1 11.04.2010 22:14
ошибки в программе по С++ Игорь11071990 Помощь студентам 2 20.01.2010 14:22
ошибки в программе gralex10 Помощь студентам 0 16.12.2009 00:37
Логические ошибки в программе hydrogen Общие вопросы Delphi 7 28.10.2009 01:14
Ошибки в программе(visual c+++) JOFRIF Visual C++ 6 23.08.2008 16:20