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

Программа работает на Windows 7, но не работает на XP - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.11.2012, 06:58     Программа работает на Windows 7, но не работает на XP #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
#include <locale>
#include <windows.h>
#include <iostream>
#include <fstream>
int main ()
{
 std::string wont;
 size_t i;
 size_t L;
 size_t result;
 size_t code;
 unsigned char c;
 std::ofstream f;
 setlocale(LC_ALL,"rus");
 std::cout<<"Введите своё желание: ";
 getline(std::cin, wont);
 wont=RUS(wont);
 L=wont.length();
 result=0;
 for (i=0; i<L; ++i)
 {
  c=(unsigned char)wont[i];
  code=0;
  if ((c>=(unsigned char)'0')&&(c<=(unsigned char)'9'))
  {
   code=((size_t ) c)-((size_t ) (unsigned char)'0');
  }
  if ((c>=(unsigned char)'а')&&(c<=(unsigned char)'я'))
  {
   code=((size_t ) c)-((size_t ) (unsigned char)'а')+1;
  }
  if ((c>=(unsigned char)'А')&&(c<=(unsigned char)'Я'))
  {
   code=((size_t ) c)-((size_t ) (unsigned char)'А')+1;
  }
  if ((c>=(unsigned char)'a')&&(c<=(unsigned char)'z'))
  {
   code=((size_t ) c)-((size_t ) (unsigned char)'a')+1;
  }
  if ((c>=(unsigned char)'A')&&(c<=(unsigned char)'Z'))
  {
   code=((size_t ) c)-((size_t ) (unsigned char)'A')+1;
  }
  result+=code;
 }
 result*=27;
 std::cout<<"."<<std::endl<<"Ваше желание: "<<wont<<"."<<std::endl<<"Хеш Вашего желания равен "<<result<<"."<<std::endl;
 f.open("result.txt");
 f<<"Хеш Вашего желания равен "<<result<<"."<<std::endl;
 f.close();
 return 0;
}
. Можно ли заставить эту прогу работать и на семёрке, и на xp? Или для икспюхи нужна отдельная версия? Что надо исправить? Можно ли для икспюхи скомпилить на семёрке?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
21.11.2012, 07:41     Программа работает на Windows 7, но не работает на XP #2
Глупый вопрос, но может разрядность систем разная?
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
21.11.2012, 08:06     Программа работает на Windows 7, но не работает на XP #3
А в чем заключается неработа?
не компилит? неправильно считает?
и у тебя так много приведений что я запутался
двумя словами
если символ число то вычесть '0'( т.е получить это число)
если буква то записать смешение этой буквы+1
или нет???
слишком много сравнений, попробуй табличный метод, намного быстрее будет

Добавлено через 15 минут
для английской части таблицы могу предложить такой вариант
C++
1
2
3
4
if ((c>='A'&&c<='z'))
  {
   code= c&0x1F;
  }


Цитата Сообщение от Kastaneda Посмотреть сообщение
Глупый вопрос, но может разрядность систем разная?
а может кодировка Юникоде, не Юникоде
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
21.11.2012, 08:57     Программа работает на Windows 7, но не работает на XP #4
Я так понимаю, что ТС скомпилиный экзэшник запускал на ХР, поэтому кодировка без разницы - с какой скомпилилась с такой скомпилилась.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
21.11.2012, 09:10     Программа работает на Windows 7, но не работает на XP #5
taras atavin, Что за функция или макрос RUS()?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,904
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 09:19     Программа работает на Windows 7, но не работает на XP #6
Цитата Сообщение от taras atavin Посмотреть сообщение
Можно ли заставить эту прогу работать и на семёрке, и на xp? Или для икспюхи нужна отдельная версия? Что надо исправить? Можно ли для икспюхи скомпилить на семёрке?
Что значит не работает? Программа не запускается, выдает другие результаты, может падает во время работы? Какие-нибудь сообщения об ошибках вылетают?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,904
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 09:34     Программа работает на Windows 7, но не работает на XP #7
Скомпилил Ваш код на Win7 (MinGW).
Запустил на XP, результат:
Программа работает на Windows 7, но не работает на XP

Это и есть проблема?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 09:45     Программа работает на Windows 7, но не работает на XP
Еще ссылки по теме:

C++ Программа , которая выводит время, за которое программа работает
Не работает программа C++
Не работает программа при запуске в Windows через командную строку C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,904
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 09:45     Программа работает на Windows 7, но не работает на XP #8
Поменял
C++
1
setlocale(LC_ALL,"rus");
на
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Результат:
Программа работает на Windows 7, но не работает на XP
Yandex
Объявления
21.11.2012, 09:45     Программа работает на Windows 7, но не работает на XP
Ответ Создать тему
Опции темы

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