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

Ваш аккаунт

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

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

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

Ввод с клавиатуры изменить на ввод из файла

79K
16 февраля 2014 года
alex7776
13 / / 18.11.2013
Всем привет! Есть код:

Код:
using System;
using System.Collections;
using System.Text.RegularExpressions;

class Program
{
    public static void PrintValues(IEnumerable myCollection)
    {
        foreach (Object obj in myCollection)
            Console.Write("{0}", obj);
        Console.ReadLine();
    }
    static void Main(string[] args)
    {
        Object qwer2;
        Stack stk = new Stack();
        string term, qwer1, a1, a2, a3;
        Console.WriteLine("Write term in OPN: ");
        term = Console.ReadLine();
        string[] split = term.Split(new Char[] { ' ' });
        foreach (string s in split)
        {
            if (s.Trim() != "")
            {
                Regex rgx = new Regex("[A-Za-z0-9]");
                foreach (char str in s)
                    if (rgx.IsMatch(s))
                        stk.Push(s);

                    else
                    {
                        if (s == "+" || s == "-")
                        {
                            qwer2 = stk.Pop();
                            a3 = qwer2.ToString();
                            a2 = s.ToString();
                            qwer2 = stk.Pop();
                            a1 = qwer2.ToString();
                            qwer1 = string.Concat("(" + a1 + a2 + a3 + ")");
                            stk.Push(qwer1);
                        }
                        else
                        {
                            qwer2 = stk.Pop();
                            a3 = qwer2.ToString();
                            a2 = s.ToString();
                            qwer2 = stk.Pop();
                            a1 = qwer2.ToString();
                            qwer1 = string.Concat(a1 + a2 + a3);
                            stk.Push(qwer1);
                        }
                    }
            }
        }
        PrintValues(stk);
    }
}
Ввод данных производится с клавиатуры. Что нужно изменить, чтобы ввод происходил из файла? Спасибо.
44K
27 февраля 2014 года
vvmCpp
32 / / 21.01.2014
Как-то так:
[ code ]
// создать поток
ifstream myFileOpen;
// присоединить поток к файлу
myFileOpen.open("NameOfFile.txt");

// если поток открыт
if (myFileOpen.is_open()){
// пока не достигнут конец файла
while(!myFileOpen.eof())
{
//тут пишем код считывания строк или символов из нашего файла
}

}
// закрыть поток
myFileOpe.close();

[ /code ]


Только объясните, как у вас работает такая конструкция?
[ code ]
class Program
{
public static void PrintValues(IEnumerable myCollection)
{

}

static void Main(string[] args)
{
}

}
[ /code ]
44K
27 февраля 2014 года
vvmCpp
32 / / 21.01.2014
У меня ваша идея обернуть main в класс почему-то не работает:
Код:
#include <cstdlib>
#include <iostream>
 
 
using namespace std;
//using std::System;
//using System.Collections;
//using System.Text.RegularExpressions;

class Program
{
    public:
        // конструктор
        Program()
            {
              main();
            };
       
        //деструктор
        ~Program(){
           
            // что в деструкторе? return EXIT_SUCCESS;?
           
            };
   
   
    static int main()
        {
           
           // cout << "Press the enter key to continue ...";
           // cin.get();
            return EXIT_SUCCESS;
        };

};
326
27 февраля 2014 года
sadovoya
757 / / 19.11.2005
vvmCpp, по секрету -- это не C++.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог