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

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

Войти
Регистрация
Восстановить пароль
 
Игорь с++
434 / 457 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
#1

не понимаю-почему не сравнивает? - C++

17.05.2011, 00:20. Просмотров 385. Ответов 3
Метки нет (Все метки)

господа имеется программа которая выполняет следущее:
1)пользователь вводит время,которое заносится в файл
2)программ определяет сколько на самом деле време и заносит в другой txt файл
3)сравнивает 2 файла.
Что интересно-показывает не совпадение,хотя они совпадают обсалютно!!!
И что ещё интересно ногда вводиш в ручную и в первый файл и во второй показывает что файлы одинаковы!
вот программа которая вносит данные:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdio.h> 
using namespace std;
int main(){
    
        freopen("2.txt", "a", stdout);
    system("time/t");
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
  
  return 0;
}
Вот которая проверяет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
 
int main(){
  std::ifstream i1("1.txt"), i2("2.txt");
  if(!i1||!i2){std::cerr<<"File not found";system("pause"); return -1;}
  std::string s1((std::istreambuf_iterator<char>(i1)), std::istreambuf_iterator<char>());
  std::string s2((std::istreambuf_iterator<char>(i2)), std::istreambuf_iterator<char>());
  std::cout<<std::boolalpha<<(s1==s2)<<"\n";system("pause");
  i1.close();
  i2.close();
  return 0;
}
Кто нибудь может объяснить и подсказать что делать?
Заранее всем огромное спасибо!!!

Добавлено через 2 минуты
извеняюсь которая вносит данные вот эта:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdio.h> 
using namespace std;
int main(){
    
         char str[100];
std::cout<<"Enter your time, please:";
cin>>str;
freopen("2.txt", "a", stdout);
std::cout<<str;
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
  
  return 0;
}
та прога не верная
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 00:20     не понимаю-почему не сравнивает?
Посмотрите здесь:

Почему не сравнивает строки и вообще не заходит в цикл? - C++
void arr::Dateout() { string b; cout &lt;&lt; &quot;Input date of creating file:&quot;; getline(cin, b); for (int i = 0; i &lt; 4; i++) { ...

Не компилируется,не понимаю,почему - C++
В строке записан текст, имеющий вид «d1± d2±… ±dn», где di – цифры (n&gt;1). Вычислить за-писанное в тексте выражение. #include...

Почему я ничего не понимаю в C++? - C++
Я пол года изучаю этот язык и ничего не понимаю, выезжаю за счёт вопросов на киберфоруме, вот допустим я вчера что-то учил, а сегодня(!)...

Не понимаю почему не выводит acos! - C++
Длины сторон треугольника равны a, b, c. Если треугольник равносторонний, то найти его площадь. Если треугольник равнобедренный, то найти...

Туплю не понимаю почему не работает - C++
Массив должен заполняться рандомными значениями, но при запуске прога зависает. // ConsoleApplication1.cpp : Defines the entry point for...

Выдает ошибку, не понимаю почему! - C++
Эта строка подчеркивает красным: if(strcmp(str,&quot;sin&quot;)==0) res=sin(res); #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
17.05.2011, 00:35     не понимаю-почему не сравнивает? #2
так вернее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdlib.h>
using namespace std;
int main(){
 
         char str[100];
std::cout<<"Enter your time, please:";
cin>>str;
freopen("2.txt", "a", stdout);
std::cout<<str<<"\n";
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
 
  return 0;
}
Vlad_IT
1439 / 345 / 16
Регистрация: 03.04.2010
Сообщений: 2,095
17.05.2011, 00:53     не понимаю-почему не сравнивает? #3
На место сравнения можно сделать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
using namespace std;
 
int main()
{
  ifstream i1("1.txt"), i2("2.txt");
  if(!i1||!i2){cerr<<"File not found";system("pause"); return -1;}
  string str1,str2;
  i1  >> str1;
  i2 >> str2;
  if(str1 != str2) cout << "False";
  else cout << "True";
  i1.close();
  i2.close();
  return 0;
}
а на место получения даты вот

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdlib.h>
using namespace std;
int main(){
 system("del 1.txt");
 system("del 2.txt");
         char str[100];
std::cout<<"Enter your time, please:";
cin>>str;
freopen("2.txt", "a", stdout);
std::cout<<str<<"\n";
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
 
  return 0;
}
Попробуйте
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2011, 09:04     не понимаю-почему не сравнивает?
Еще ссылки по теме:

не понимаю почему цикл не заканчивается - C++
Привет! Вот написал. Объясните, пожалуйста, почему цикл не заканчивается? Функция должна считывать инфу и записывать в массив! Идеи по...

Declaration syntax error не понимаю почему - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #define N 0 ...

Не понимаю, что не так, почему не работает - C++
#include&lt;cstdlib&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &quot;iostream&quot; using namespace std; void main() {int *a,i,N; ...

R6010 - не понимаю, почему и что VS2010 хочет - C++
Разработать класс String: конструктор по умолчанию, позволяющий вводить строку 80 символов; конструктор, позволяющий вводить строку...

Не понимаю, почему не работает стандартная функция strlen - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;string.h&quot; using namespace std; int _tmain(int argc, _TCHAR* argv) { ...

да я не знаток но все таки: не понимаю почему ругается на cout - C++
я думаю вам не составит труда ответить


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

Или воспользуйтесь поиском по форуму:
Игорь с++
434 / 457 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
17.05.2011, 09:04  [ТС]     не понимаю-почему не сравнивает? #4
спасибо большое очень помогли!!!
Yandex
Объявления
17.05.2011, 09:04     не понимаю-почему не сравнивает?
Ответ Создать тему
Опции темы

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