Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибки в программе - индексирование и свойства 
:(
    Опции темы
ArniLand
Дата 11.4.2010, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 17.8.2008

Репутация: нет
Всего: нет



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

Ошибки:
Цитата

c:\WINDOWS\Microsoft.NET\Framework\v3.5\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /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.dll /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'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(64,29): error CS0151: A value of an integral type expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(66,30): error CS0029: Cannot implicitly convert type 'char' to 'method group'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(67,30): error CS0029: Cannot implicitly convert type 'char' to 'method group'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Row.cs(70,24): error CS0266: Cannot implicitly convert type 'int' to 'char'. An explicit conversion exists (are you missing a cast?)
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,33): error CS1525: Invalid expression term 'char'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,34): error CS0443: Syntax error; value expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,36): error CS1026: ) expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,46): error CS1525: Invalid expression term '{'
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,47): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,51): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,51): error CS1525: Invalid expression term ','
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,53): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,57): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,57): error CS1525: Invalid expression term ','
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,59): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,62): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,62): error CS1525: Invalid expression term ','
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,64): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,67): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,67): error CS1525: Invalid expression term ','
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,69): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,72): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,72): error CS1525: Invalid expression term ','
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,74): error CS1002: ; expected
D:\Мои документы\Visual Studio 2008\Projects\laba index\laba index\Program.cs(12,77): error CS1002: ; expected


Код программы:
Код

//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'};
        }
    }
}


    
       
   




                
               





        
    




Это сообщение отредактировал(а) ArniLand - 11.4.2010, 19:38
PM MAIL   Вверх
wester
Дата 11.4.2010, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



"если бы это была лошадь - я бы ее пристрелил"

переписал заново , насколько понял задание 

Row.cs
Код

using System;

namespace laba_index
{
    class Row
    {
        private readonly char[] _arr;
        public Row(char[] arr)
        {
            _arr = arr;
        }

        public int Length
        {
            get
            {
                return _arr.Length;
            }
        }

        public char this[int i]
        {
            get
            {
                if(i>=0 && i<Length)
                {
                    return Char.ToUpper(_arr[i]);
                }
                return '^'; // если такой буквы нет, возвращаем символ ^
            }
        }

        private Boolean _reason;
        public Int32 Count;
        /// <summary>
        /// Проверяем сколько у нас глассных в массиве
        /// </summary>
        /// <returns>Колличество гласных букв</returns>
        public Int32 CheckArray()
        {
            foreach (var c in _arr)
            {
                _reason = VowelCheck(Char.ToLower(c)); // принимаем решение о том какая это буква (глас\неглас)
                if(_reason)
                {
                    Count++;
                }
            }
            return Count;
        }

        /// <summary>
        /// Самый тупой метод, тупо проверяем по списку букву
        /// </summary>
        /// <param name="chr">Проверяемый символ</param>
        /// <returns>если буква входит в список гласных то возвращаем TRUE</returns>
        private static Boolean VowelCheck(Char chr)
        {
            return chr=='a'||chr=='e'||chr=='y'||chr=='u'||chr=='i'||chr=='o';
        }
    }
}



program.cs
Код

using System;

namespace laba_index
{
    class Program
    {
        static void Main()
        {
            var r = new Row(new[] {'a', 'b', 'N', 'c', 'u', 'h'});
            Console.WriteLine(r[5]); // проверяем случайный элемент
            Console.WriteLine(r.CheckArray());// выводим колличество гласных
            
        }
    }
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.