Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

27.10.2012, 17:25. Просмотров 884. Ответов 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);
    
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 17:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать 2 слова из файла через пробел и сравнить их со словом No или Yes (C++):

Ввести 2 слова через пробел, сравнить их на эквивалентность - C++
#include &quot;stdio.h&quot; #include &quot;iostream&quot; #include &quot;stdlib.h&quot; #include &quot;conio.h&quot; using namespace std; int main() { char res;...

Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между слова - C++
Помогите написать программу Условие: Преобразовать исходную строку, приводя все слова к заданной длине следующим образом: если длина...

Считать числа через пробел в обратном порядке - C++
Есть строка с числами, разделенными пробелами. Надо считать все числа, начиная с конца, и вывести на экран. Т.е если на вход подали 123 456...

Отредактировать строку, продублировав через один пробел слова, из которых можно составить слова-палиндромы - C++
Отредактировать строку, продублировав через один пробел слова, из которых можно составить слова-палиндромы четной длины. (Помогите,...

В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца. - C++
В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.

Считать значение с текстового файла, перечисленные через запятую или через пробел - Delphi
Не могу найти функцию для дельфи, где выбранный мной файл считывался, занося значения в переменные. Help

3
Петррр
5970 / 3407 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
27.10.2012, 17:43 #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;
}
0
kd32n65
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 8
27.10.2012, 18:05  [ТС] #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;
}
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 19:11 #4
Цитата Сообщение от kd32n65 Посмотреть сообщение
У меня ничего не выводит вообще
Не выводит по простой причине, потому что условие не выполняется, а не выполняется оно по простйо причине, тип char будь то переменная или массив, при всяких операциях типа присвоения или сравнения всегда проверяет 1й символ, если указывать таким образом каким указали вы. У типа string эти операции переопределены соответственно возможности расширяются =)
0
27.10.2012, 19:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2012, 19:11
Привет! Вот еще темы с ответами:

Считать русские слова через пробел preg_match - PHP
Здравствуйте ,помогите пожалуйста разобраться , читал статью как оформить правильно регулярные выражения но ничего не получается:( ...

Разбить строку на слова (strtok) и сравнить эти слова со словом из Edit-a - C++ Builder
Доброго времени суток, господа! Есть строка, её нужно разбить на слова и сравнить эти слова со словом из Edit'a Программа виснет, что...

В первую строку первого файла переписать слова с четной длиной через пробел, во вторую — с нечетной - C (СИ)
Короче говоря, проблема такова: Дан файл со строками, нужно в первую строку первого файла переписать слова с четной длиной через пробел,...

Считать числа, введённые с клавиатуры через пробел - PascalABC.NET
Считать числа, введённые с клавиатуры через пробел. Как это сделать? Количество введённых чисел известно.


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

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

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