Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   когда открываю программу, в командной строке вместо русских букв какие-то иероглифы (http://forum.oszone.net/showthread.php?t=234147)

elyno@vk 06-05-2012 14:47 1911451

когда открываю программу, в командной строке вместо русских букв какие-то иероглифы
 
Здравствуйте.
Произошла вот такая проблема. Надеюсь, поможете.
Написал легкую программу на C++, написал редактором Dev-C++ и скомпилировал тоже им, а когда открываю программу, в командной строке вместо русских букв какие-то иероглифы. Если открыть просто командную строку, то всё пишет нормально.
Пересмотрел, уже все темы ничего не помогает.
Скрины могу предоставить только в очень плохом качестве, где почти ничего не видно.

yurfed 06-05-2012 15:18 1911458

Цитата:

Цитата elyno@vk
Скрины могу предоставить только в очень плохом качестве, где почти ничего не видно. »

Лучше код представьте.
Напутана кодировка 1251 и 866

elyno@vk 06-05-2012 15:23 1911460

Извините, не понял. Код чего?

yurfed 06-05-2012 15:25 1911461

Цитата:

Цитата elyno@vk
Написал легкую программу на C++, »

Этого, только не компилированный :)

elyno@vk 06-05-2012 15:29 1911462

//
// Program to convert temperature from Celsius degree
// units into Fahrenheit degree units:
// Fahrenheit = Celsius * (212 - 32)/100 + 32
//
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
// enter the temperature in Celsius
int celsius;
cout << "РУССКИЙ ТЕКСТ:";
cin >> celsius;

// calculate conversion factor for Celsius
// to Fahrenheit
int factor;
factor = 212 - 32;

// use conversion factor to convert Celsius
// into Fahrenheit values
int fahrenheit;
fahrenheit = factor * celsius/100 + 32;

// output the results (followed by a NewLine)
cout << "РУССКИЙ ТЕКСТ:";
cout << fahrenheit << endl;

// wait until user is ready before terminating program
// to allow the user to see the program results
system("PAUSE");
return 0;
}

yurfed 06-05-2012 16:03 1911476

elyno@vk, посмотрите тут
А почему не так
F на 9/5 и прибавить 32. Не надо привязываться к 100С и 212F :) попросту при переводе из шкалы Цельсия в шкалу Фаренгейта исходную цифру умножают на 9/5 и прибавляют 32.
F*(9/5)+32 =C

elyno@vk 06-05-2012 16:47 1911505

Спасибо, а других способов нет?
Я ещё учусь и этот для меня больно сложный и довольно не понятный.

Petya V4sechkin 06-05-2012 18:24 1911557

elyno@vk, сохраните исходник в кодировке DOS-866 (например в редакторах AkelPad, Bred 2, TigerPad и т. д.), потом скомпилируйте.

yurfed 06-05-2012 18:42 1911567

Цитата:

Цитата Petya V4sechkin
сохраните исходник в кодировке DOS-866 »

Тогда будет с точностью до наоборот :)


Время: 03:35.

Время: 03:35.
© OSzone.net 2001-