Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kd32n65
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 8
#1

Считать 2 слова из файла через пробел и сравнить их со словом No или Yes - C++

27.10.2012, 17:25. Просмотров 805. Ответов 3
Метки нет (Все метки)

В файле input.txt записаны два слова через пробел. "Yes" и "No". Нужно считать их из этого файла, затем если s1, первое слово "Yes", и второе слово s2 "No", то вывести в файл output.txt "Yes". Помогите пожалуйста с реализацией. У меня ничего не выводит вообще. Мой код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
using namespace std;
FILE *f1,*f2;
char s1[9],s2[9];
int main()
{
    f1=fopen("input.txt","r+");
    f2=fopen("output.txt","w+");
    fprintf(f1,"%s %s",&s1,&s2); 
                    if((s1 == "Yes") && (s2 == "NO")) fprintf(f2,"Yes");
                    fclose(f1);
                    fclose(f2);
    
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 17:25     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes
Посмотрите здесь:

Как считать информацию из файла, если в конце стоит пробел? C++
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
Ввести 2 слова через пробел, сравнить их на эквивалентность C++
C++ Считать слова из файла в разные переменные
Как записать построчно слова через пробел в текстовый файл? C++
Как сравнить строку со словом C++
C++ Считать двузначное число и вывести через пробел каждую цифру отдельно
C++ Отредактировать строку, продублировав через один пробел слова, из которых можно составить слова-палиндромы
C++ Используя заданные разделители продублировать слова-палиндромы через один пробел
C++ Считать числа через пробел в обратном порядке
Работа со строками (Не считывает 2 слова через пробел) C++
C++ Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между слова

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5929 / 3366 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
27.10.2012, 17:43     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::ifstream input("input.txt");
    if (input.is_open())
    {
        std::string arr[2];
        input >> arr[0];
        input >> arr[1];
        if (arr[0] == "Yes" && arr[1] == "No")
            (std::ofstream("output.txt")) << "Yes";
    }
    return 0;
}
kd32n65
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 8
27.10.2012, 18:05  [ТС]     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #3
Цитата Сообщение от Петррр Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::ifstream input("input.txt");
    if (input.is_open())
    {
        std::string arr[2];
        input >> arr[0];
        input >> arr[1];
        if (arr[0] == "Yes" && arr[1] == "No")
            (std::ofstream("output.txt")) << "Yes";
    }
    return 0;
}
Спасибо, но не работает, выводит такие значения, как "0x44000a".

Добавлено через 10 минут
Огромнейшее спасибо , разобрался, все идет, очень благодарен.
Что бы не писало каких-то кодов как на посте выше переписал вывод на свой:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <fstream>
FILE *f1;
int main()
{
f1=fopen("output.txt","w+");
    std::ifstream input("input.txt");
    if (input.is_open())
    {
        std::string arr[2];
        input >> arr[0];
        input >> arr[1];
        if (arr[0] == "Yes" && arr[1] == "No")
            fprintf(f1,"Yes");
    }
    return 0;
}
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 19:11     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #4
Цитата Сообщение от kd32n65 Посмотреть сообщение
У меня ничего не выводит вообще
Не выводит по простой причине, потому что условие не выполняется, а не выполняется оно по простйо причине, тип char будь то переменная или массив, при всяких операциях типа присвоения или сравнения всегда проверяет 1й символ, если указывать таким образом каким указали вы. У типа string эти операции переопределены соответственно возможности расширяются =)
Yandex
Объявления
27.10.2012, 19:11     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes
Ответ Создать тему
Опции темы

Текущее время: 04:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru