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

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

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

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

21.11.2012, 06:58. Просмотров 996. Ответов 7
Метки нет (Все метки)

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? Или для икспюхи нужна отдельная версия? Что надо исправить? Можно ли для икспюхи скомпилить на семёрке?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 06:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа работает на Windows 7, но не работает на XP (C++):

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

Не работает программа при запуске в Windows через командную строку - C++
Дали задание скомпилить cmake под Linux. Там все получилось. Как доп.задание дали перенести и скомпилить cmake на windows через командную...

Программа работает в турбо си но не работает в дев си - C++
#include&lt;graphics.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;dos.h&gt; #define R &quot;C:\\TC\\bgi&quot; void...

Программа при релизе не работает, а при дебаге работает - C++
#include&lt;iostream&gt;; #include &lt;iomanip&gt; #include&lt;fstream&gt; using namespace std; void printMatrix (int **a, int n, int m) // функція...

Программа , которая выводит время, за которое программа работает - C++
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

Не работает программа - C++
По идее эта программа должна с помощью функции getline() считывать строки текстового файла и проверять, является ли записанное в каждой...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 07:41 #2
Глупый вопрос, но может разрядность систем разная?
0
ValeryS
Модератор
6634 / 5041 / 466
Регистрация: 14.02.2011
Сообщений: 16,851
21.11.2012, 08:06 #3
А в чем заключается неработа?
не компилит? неправильно считает?
и у тебя так много приведений что я запутался
двумя словами
если символ число то вычесть '0'( т.е получить это число)
если буква то записать смешение этой буквы+1
или нет???
слишком много сравнений, попробуй табличный метод, намного быстрее будет

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


Цитата Сообщение от Kastaneda Посмотреть сообщение
Глупый вопрос, но может разрядность систем разная?
а может кодировка Юникоде, не Юникоде
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 08:57 #4
Я так понимаю, что ТС скомпилиный экзэшник запускал на ХР, поэтому кодировка без разницы - с какой скомпилилась с такой скомпилилась.
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.11.2012, 09:10 #5
taras atavin, Что за функция или макрос RUS()?
0
Croessmah
Эксперт CЭксперт С++
13234 / 7506 / 846
Регистрация: 27.09.2012
Сообщений: 18,439
Записей в блоге: 3
Завершенные тесты: 1
21.11.2012, 09:19 #6
Цитата Сообщение от taras atavin Посмотреть сообщение
Можно ли заставить эту прогу работать и на семёрке, и на xp? Или для икспюхи нужна отдельная версия? Что надо исправить? Можно ли для икспюхи скомпилить на семёрке?
Что значит не работает? Программа не запускается, выдает другие результаты, может падает во время работы? Какие-нибудь сообщения об ошибках вылетают?
0
Croessmah
Эксперт CЭксперт С++
13234 / 7506 / 846
Регистрация: 27.09.2012
Сообщений: 18,439
Записей в блоге: 3
Завершенные тесты: 1
21.11.2012, 09:34 #7
Скомпилил Ваш код на Win7 (MinGW).
Запустил на XP, результат:
Программа работает на Windows 7, но не работает на XP

Это и есть проблема?
0
Croessmah
Эксперт CЭксперт С++
13234 / 7506 / 846
Регистрация: 27.09.2012
Сообщений: 18,439
Записей в блоге: 3
Завершенные тесты: 1
21.11.2012, 09:45 #8
Поменял
C++
1
setlocale(LC_ALL,"rus");
на
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Результат:
Программа работает на Windows 7, но не работает на XP
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 09:45
Привет! Вот еще темы с ответами:

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

Программа не работает - C++
Вроде написала задачу,она не работает,посмотрите пожалуйста... Добавлено через 15 секунд #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

Не работает программа - C++
Добрый вечер уважаемые форумчане, прошу вашей помощи. Определить, является ли целая квадратная матрица порядка n симметричной (относительно...

не работает программа - C++
Доброго всем времени суток.Увожаемые форумчане пожалуйста помогите мне разобраться с проблемой.У меня есть консольный вариант программы,он...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.11.2012, 09:45
Ответ Создать тему
Опции темы

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