Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
#1

Ввод из консоля и файла - C++

23.01.2014, 21:52. Просмотров 381. Ответов 16
Метки нет (Все метки)

Почему если вывести в консоле
C++
1
2
3
4
cout<<int(0&(0|0));
cout<<int(1&(1|0));
cout<<int(0&(0|1));
cout<<int(1&(1|1));
то выводится 0101, а если прочесть из файла и вывести на экран, то выводится 0000
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2014, 21:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ввод из консоля и файла (C++):

как с помощью консоля создавать txt файлы?
Здравствуйте!Я новичек...я только только начинаю создовать проги... ...

Переделать ввод из файла на ввод с клавиатуры
void openfile(int**a) { std::ifstream file(&quot;input.txt&quot;,...

Ввод из файла
Есть ввод из файла, но при запуске программы ничего не происходит - черный...

Ввод из файла (C++)
Есть текстовый файл с некоторым двумерным массивом, например: BBBBB BSBSB...

Ввод с файла
Привет, Написал алгоритм которые выполняет проверку на закрытие скобок. Он...

Ввод из файла
Написал такой метод, но отказывается работать. void file_in(){ ...

16
Croessmah
++Ͻ
14160 / 8085 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
23.01.2014, 21:55 #2
а мы откуда знаем что Вы там понаписали?
0
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
23.01.2014, 21:58  [ТС] #3
Croessmah, из файла

C++
1
2
3
4
5
6
7
int a;
ifstream fin("D:\\intput.txt");
    for(i=0;i<m;i++)
    {
        fin>>a;
        cout<<int(a)<<endl;
    }
0
Croessmah
++Ͻ
14160 / 8085 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
23.01.2014, 21:59 #4
и что отсюда следует? Че за m? Что в int пытаетесь считать? Как файл пишите?
0
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
23.01.2014, 22:01  [ТС] #5
Croessmah, выводит 48 38 40 48
0
Croessmah
++Ͻ
14160 / 8085 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
23.01.2014, 22:05 #6
Цитата Сообщение от ruTwit Посмотреть сообщение
выводит 48 38 40 48
повторюсь:
Цитата Сообщение от Croessmah Посмотреть сообщение
а мы откуда знаем что Вы там понаписали?
0
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
23.01.2014, 22:56  [ТС] #7
Croessmah, ссори не увидел
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
#include "stdafx.h"
#include <iostream>
#include<fstream>
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Rus");
    
    char xit;
    int i, m=4;
    ifstream fin("D:\\input.txt");
    for(i=0;i<m;i++)
    {
        fin>>xit;
        cout<<int(xit)<<endl;
    }
    cout<<endl;
 
    
    cout<<int(0&(0|0));
    cout<<int(1&(1|0));
    cout<<int(0&(0|1));
    cout<<int(1&(1|1));
    
    
    
    return 0;
}
Добавлено через 49 минут
Croessmah, может тип где-то объявил не правильно?
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
23.01.2014, 23:05 #8
В файле что? И что нужно сделать?
0
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
23.01.2014, 23:11  [ТС] #9
alsav22, в файле
0&(0|0)
1&(1|0)
0&(0|1)
1&(1|1)
нужно их прочесть из файла и посчитать
0
Arkaniy
106 / 106 / 21
Регистрация: 29.08.2012
Сообщений: 453
23.01.2014, 23:14 #10
Нужно писать парсер для такого случая.
0
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
23.01.2014, 23:20  [ТС] #11
Arkaniy, не могли бы помочь?
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.01.2014, 00:13 #12
Тупо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char ch;
int i, n1, n2, n3;
ifstream fin("input.txt");
if (fin)
{
    for(i = 0; i < 4; i++)
    {
        fin >> n1 >> ch >> ch >> n2 >> ch >> n3 >> ch;
        cout << int(n1&(n2|n3));
    }
    cout << endl;
        
}
Добавлено через 31 минуту
Более сложная конструкция. В файле уже могут и другие операции быть записаны (в разном сочетании):
0&(0|0)
1&(1&0)
0|(0|1)
1^(1|1)
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
char ch1, ch2, ch3, ch4;
    int i, n1, n2, n3;
    ifstream fin("input.txt");
    if (fin)
    {
        for(i = 0; i < 4; i++)
        {
            fin >> n1 >> ch1 >> ch2 >> n2 >> ch3 >> n3 >> ch4;
            switch (ch1)
            {
                case '&':
                    switch(ch3)
                    {
                        case '|':
                            cout << int(n1&(n2|n3));
                            break;
                        case '&':
                            cout << int(n1&(n2&n3));
                            break;
                        case '^':
                            cout << int(n1&(n2^n3));
                            break;
                    }
                break;
                
                case '|':
                   switch(ch3)
                    {
                        case '|':
                            cout << int(n1|(n2|n3));
                            break;
                        case '&':
                            cout << int(n1|(n2&n3));
                            break;
                        case '^':
                            cout << int(n1|(n2^n3));
                            break;
                    }
                   break;
                
                case '^':
                    switch(ch3)
                    {
                        case '|':
                            cout << int(n1^(n2|n3));
                            break;
                        case '&':
                            cout << int(n1^(n2&n3));
                            break;
                        case '^':
                            cout << int(n1^(n2^n3));
                            break;
                    }
                    break;
            }
            
        }
        cout << endl;
        
    }
0
ruTwit
6 / 6 / 5
Регистрация: 04.10.2013
Сообщений: 92
24.01.2014, 00:38  [ТС] #13
alsav22, фишка в том, что у меня логическая функция может быть любой
0
Arkaniy
106 / 106 / 21
Регистрация: 29.08.2012
Сообщений: 453
24.01.2014, 00:41 #14
alsav22, а если скобки в произвольном порядке?

Добавлено через 1 минуту
Если честно, то приведенный код на костылях несусветных.
Тут нужно писать парсер, которой не будет подогнан под конкретные ситуации.
Теперь сам думаю написать, но сейчас сессия и когда сделаю не знаю.
Вобщем как напишу, так и выложу сюда.
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.01.2014, 00:47 #15
Цитата Сообщение от Arkaniy Посмотреть сообщение
alsav22, а если скобки в произвольном порядке?
Это всё понятно. Было показано конкретное содержание файла. По этому содеражанию и код. С этим содержимым нормально работает?
Цитата Сообщение от Arkaniy Посмотреть сообщение
Тут нужно писать парсер, которой не будет подогнан под конкретные ситуации.
Пишите, если интересно.
Цитата Сообщение от ruTwit Посмотреть сообщение
фишка в том, что у меня логическая функция может быть любой
А где это в теме обозначено? Вот ответ на вопрос, что в файле:
Цитата Сообщение от ruTwit Посмотреть сообщение
alsav22, в файле
0&(0|0)
1&(1|0)
0&(0|1)
1&(1|1)
нужно их прочесть из файла и посчитать
Их мой код правильно читает и считает? Вопросы?
0
Arkaniy
106 / 106 / 21
Регистрация: 29.08.2012
Сообщений: 453
24.01.2014, 01:40 #16
alsav22, я не вижу смысла писать такие программы. Я так думаю, что ТС просто привел пример заполнения файла и там может быть любая последовательность операций. Предлагаю разойтись на том, что ТС не достаточно точно обозначил поставленную задачу
P.S. А парсер таки напишу
0
alsav22
24.01.2014, 02:23     Ввод из консоля и файла
  #17

Не по теме:

Цитата Сообщение от Arkaniy Посмотреть сообщение
Предлагаю разойтись на том, что ТС не достаточно точно обозначил поставленную задачу
Согласен, совершенно недостаточно. Особенно, если вопрос в первом посте прочитать... Это из области: "Дайте напиться, а то так есть хочется, что переночевать негде..."

0
24.01.2014, 02:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 02:23
Привет! Вот еще темы с ответами:

Ввод из файла.
дана программа. в ней нужно ввести данные из файла. при выводе их на экран...

ввод из файла
подскажите как делать ввод из файла

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

Ввод\вывод файла
Здравствуйте, уважаемые программисты. Есть проблемка: нужно прочитать из файла...


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

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

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