Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите написать программу на C# пожалуйста!

81K
08 декабря 2012 года
artik
12 / / 08.12.2012

еще препод сказал изменить в блок схеме: анализирование строк и разбиение строк на слова. По этой блок-схеме написать программу. Помогите пожалуйста! Заранее спасибо!
392
08 декабря 2012 года
cronya
421 / / 03.01.2009
в чем проблема?
и что это значит: еще препод сказал изменить в блок схеме: анализирование строк и разбиение строк на слова - вроде как бы в блок-схеме есть уже изменения
81K
08 декабря 2012 года
artik
12 / / 08.12.2012
так вот эти записи : анализирование строк и разбиение строк на слова нужно заменить другими словами
81K
08 декабря 2012 года
artik
12 / / 08.12.2012
Код программы:
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;
using System.IO;

namespace TP_3_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public struct sostav_kafedry
{
public string nomer;
public string FIO_Prepodavatelya;
}

private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
string adres;
OpenFileDialog kaf = new OpenFileDialog();
if (kaf.ShowDialog() == DialogResult.OK)
{
adres = kaf.FileName;
}
else
{
return;
}
listBox1.Items.AddRange(File.ReadAllLines(adres));
sostav_kafedry item = new sostav_kafedry();
sostav_kafedry[] arr = new sostav_kafedry[listBox1.Items.Count];
string[] mas = new string[listBox1.Items.Count];
int osh = 0;
for (int i = 0; i < listBox1.Items.Count; i++)
{
mas = (string)listBox1.Items;
string stroka = mas;
int str = 0;
for (int j = 0; j < stroka.Length; j++)
{
if (stroka.Substring(j, 1) == "/")
{
str = str + 1;
}
}
if (str > 2)
{
listBox2.Items.Add("Найдена ошибка в " + (i + 1) + "-й строке - перебор значений.");
osh = 1;
}
string[] mas1 = mas.Split(')');
item.nomer = mas1[0];
item.FIO_Prepodavatelya = mas1[1];
arr = item;
}

for (int i = 0; i < listBox1.Items.Count; i++)
{
int pr_n = 0;
for (int j = 0; j < arr.nomer.Length; j++)
{
string nomer = arr.nomer;
if ((nomer[j] < 0x30) || (nomer[j] > 0x39))
{
if (pr_n == 0)
{
listBox2.Items.Add("Найдена ошибка в значении " + (i + 1) + "-й строки 1-го столбца - недопустимое значение.");
pr_n = 1;
osh = 1;
}
}
}
for (int j = i + 1; j < listBox1.Items.Count; j++)
{
if (arr.nomer == arr[j].nomer)
{
listBox2.Items.Add("Найдена ошибка в 1-м столбце - совпадают значения в " + (i + 1) + "-й и " + (j + 1) + "-й строках.");
osh = 1;
}
}
}

for (int i = 0; i < listBox1.Items.Count; i++)
{
int pr_fio = 0;
for (int j = 0; j < arr.FIO_Prepodavatelya.Length; j++)
{
string FIO_Prepodavatelya = arr.FIO_Prepodavatelya;
if ((FIO_Prepodavatelya[j] < 0x410) || (FIO_Prepodavatelya[j] > 0x44F))
{
if ((FIO_Prepodavatelya[j] != 0x451) && (FIO_Prepodavatelya[j] != 0x20) && (FIO_Prepodavatelya[j] != 0x2E))
{
if (pr_fio == 0)
{
listBox2.Items.Add("Найдена ошибка в значении " + (i + 1) + "-й строки, 2-го столбца - недопустимое значение.");
pr_fio = 1;
osh = 1;
}
}
}
}
}
if (osh == 0)
{
listBox2.Items.Add("Ошибок не найдено.");
}
}
}
}



вот код программы похожего задания, не получается переделать его чтоб выводил не на формуу а на консоль
392
08 декабря 2012 года
cronya
421 / / 03.01.2009
так наверно

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Slova
{
    class Program
    {
        private class FacultyConsist
        {
            public string numer = string.Empty;
            public string topic = string.Empty;
            public string FIO = string.Empty;
        }

        private static void AddItemToList(List<FacultyConsist> FC, string Line)
        {
            FacultyConsist fc = new FacultyConsist();
            int count = 0;
            string temp = string.Empty;
            for (int idx = 0; idx < Line.Length; idx++)
            {
                if (Line[idx] != ' ' && count < 3)
                {
                    temp += Line[idx].ToString();
                }
                else
                {
                    count++;
                    if (count == 1)
                    {
                        fc.numer = temp;
                        temp = string.Empty;
                    }
                    if (count == 2)
                    {
                        fc.topic = temp;
                        temp = string.Empty;
                    }
                    if (count > 2)
                    {
                        temp += " ";
                        for (int jdx = idx + 1; jdx < Line.Length; jdx++)
                        {
                            temp += Line[jdx];
                        }
                        fc.FIO = temp;
                        FC.Add(fc);
                        break;
                    }
                }
            }
        }

        private static void FindError(List<FacultyConsist> FC)
        {
            for (int idx = 0; idx < FC.Count; idx++)
            {
                Rule1(FC[idx], idx);
                Rule2(FC[idx], idx);
                Rule3(FC[idx], idx);
                Rule4(FC[idx], idx);
            }
        }

        private static void Rule1(FacultyConsist fc, int idx)
        {
            for (int jdx = 0; jdx < fc.numer.Length; jdx++)
            {
                if ((int)(fc.numer[jdx]) < 48 || (int)(fc.numer[jdx]) > 57)
                {
                    Console.WriteLine("№ предмета должен содержать только цифры :: Ошибка в строке {0} ", idx+1);
                    break;
                }
            }
        }

        private static void Rule2(FacultyConsist fc, int idx)
        {
            for (int jdx = 0; jdx < fc.topic.Length; jdx++)
            {
                if ((int)(fc.topic[jdx]) > 48 && (int)(fc.topic[jdx]) < 57)
                {
                    Console.WriteLine("Название предмета не должно содержать цифр :: Ошибка в строке {0} ", idx + 1);
                    break;
                }
            }
        }

        private static void Rule3(FacultyConsist fc, int idx)
        {
            for (int jdx = 0; jdx < fc.FIO.Length; jdx++)
            {
                if ((int)(fc.FIO[jdx]) > 48 && (int)(fc.FIO[jdx]) < 57)
                {
                    Console.WriteLine("ФИО преподавателя не должно содержать цифр :: Ошибка в строке {0} ", idx + 1);
                    break;
                }
            }
        }

        private static void Rule4(FacultyConsist fc, int idx)
        {
            for (int jdx = 0; jdx < fc.FIO.Length; jdx++)
            {
                if ((int)(fc.FIO[jdx]) == 44 || (int)(fc.FIO[jdx]) == 46)
                {
                    Console.WriteLine("ФИО преподавателя не должно содержать точек, запятых :: Ошибка в строке {0} ", idx + 1);
                    break;
                }
            }
        }

        static void Main(string[] args)
        {
            if (File.Exists("data.txt"))
            {
                List<FacultyConsist> FC = new List<FacultyConsist>();
                StreamReader sr = new StreamReader("data.txt");
                string Line = string.Empty;
                while ((Line = sr.ReadLine()) != null)
                {
                    AddItemToList(FC, Line);
                }
                FindError(FC);
                FC.Clear();
               
            }
            else
            {
                Console.WriteLine("Не могу открыть файл");
            }
            Console.ReadLine();
        }
    }
}
в файле
 
Код:
k history123 Ivanov1 2Ivan, 3Ivanovich.
2 mathematics Petrov Petr Petrovich
3 physics Sidorov Sidr Sidorovich
4 IT Alexeev Alexey Alexeevich
81K
09 декабря 2012 года
artik
12 / / 08.12.2012
спасибо большое!
81K
09 декабря 2012 года
artik
12 / / 08.12.2012
что то не выводит то что надо(((
392
09 декабря 2012 года
cronya
421 / / 03.01.2009
Цитата: artik
что то не выводит то что надо(((

что у вас в файле и что выводит?

81K
09 декабря 2012 года
artik
12 / / 08.12.2012
выводит : Не мог открыть файл
392
09 декабря 2012 года
cronya
421 / / 03.01.2009
Цитата: artik
выводит : Не мог открыть файл


1. вы создайте файл data.txt
2. поместите в файл для проверки

 
Код:
k history123 Ivanov1 2Ivan, 3Ivanovich.
2 mathematics Petrov Petr Petrovich
3 physics Sidorov Sidr Sidorovich
4 IT Alexeev Alexey Alexeevich
3. сохраните
4. расположите данный файл в той же папке что и сама программа. Если пишите в Visual studio, то файл должен лежать в папке Debug
81K
09 декабря 2012 года
artik
12 / / 08.12.2012
сделала все так как сказали, все равно не получается(
392
09 декабря 2012 года
cronya
421 / / 03.01.2009
вот вам проект от visual studio 2010, пробуйте :)
Прикрепленные файлы:
10 Кб
Загрузок: 745
81K
09 декабря 2012 года
artik
12 / / 08.12.2012
Благодарю!!!
81K
16 декабря 2012 года
artik
12 / / 08.12.2012
Цитата: cronya
вот вам проект от visual studio 2010, пробуйте :)



к сожалению ваш проект не открывается((

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог