Помогите с C++!
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Помогите с C++! - 2010-02-07 18:59:28.633333
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
Написал консольную прогу, которая делит вводимое число на 2: #include <stdio.h> #include <conio.h> int main() { int chislo; float summ; printf("Vvedi chislo: "); scanf("%i", &chislo); summ = chislo/2; printf("%100.2f\n", summ); getch(); } 1. Как сделать чтобы вволить русский текст? 2. Почему когда я ввожу нечетное число, например 365, он вместо 182.5 пишет просто 182?
|
|
|
RE: Помогите с C++! - 2010-02-07 19:09:37.426666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
1. Гугл. Даже по самому тупому запросу даст ответ. 2. Читай основы языка Си в книжках. Выбирай: summ = chislo / 2.0; summ = (double)chislo / 2; summ = chislo / (double)2; summ = (double)chislo / (double)2; и т.д. И вообще для таких вопросов есть отдельная ветка. P.S. А почему не %d спецификация в scanf?
|
|
|
RE: Помогите с C++! - 2010-02-07 19:15:47.280000
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
1.Нда, это я потупил) 2.Я только сегодня открыл книжку) самые основы) 3.Выбрал, спасибо) 4.см. 2)
|
|
|
RE: Помогите с C++! - 2010-02-07 19:33:45.663333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Молодец, действуй :). Радует, что кто-то начинает с основ, а не с того "как взломать сервер майкрософта" :-D По поводу п2. Так происходит потому, что у тебя оба операнда целочисленные. Поэтому выполняется целочисленное деление и потом результат заносится в переменную. Если хотя-бы один из операндов будет float или double - то все остальные операнды тоже будут приведены к типу double.
|
|
|
RE: Помогите с C++! - 2010-02-07 19:49:51.113333
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
понял) но вот проблема с шрифтом осталась. я полазил по гуглу, но только ушел в даун) нашел несколько примеров, у меня ни один не работает, плюс нашел куски кода вроде quote:
cout<<Rus(" Русский ")<<endl; ) я что, на какомто кривом с++ пишу? что такое это cout<< и <<endl ?
|
|
|
RE: Помогите с C++! - 2010-02-07 21:07:04.103333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Если спрашиваешь про эффективность какого-то решения, например функции Rus, то приводи полный код. А вообще не надо никаких костылей с CharToOem и прочими api. Достаточно сделать (для MSVS) setlocale( LC_ALL, "" ); вначале программы.
|
|
|
RE: Помогите с C++! - 2010-02-13 02:05:48.313333
|
|
|
YUE
Сообщений: 24
Оценки: 0
Присоединился: 2009-05-28 16:34:12.283333
|
если компилируешь в Мелкософт студии тогда добавь #include <windows.h> а в функции main() сразу до объявления переменных напиши такое SetConsoleCP(1251); SetConsoleOutputCP(1251); и наконец когда запустишь, в свойствах самого ДОС'овского окна выберешь один из двух предлагаемых шрифтов, (да простит меня дядя бил, по моему шрифт "люсильда" называется) P.S. все неточности в описании процесса списываю на склероз
|
|
|
RE: Помогите с C++! - 2010-02-13 12:35:31.940000
|
|
|
Xaduw
Сообщений: 34
Оценки: 0
Присоединился: 2009-11-16 17:22:05.396666
|
ПРошу
#include <stdio.h>
#include <conio.h>
int main()
{
float chislo; //тут сматри поменяли инт на флоат
float summ;
setlocale(0,"");// ето позволяет писать руским
printf("Введите число ");
scanf("%f", &chislo); //тут вместо i поставили F
summ = chislo/2;
printf("%100.2f\n", summ);
getch();
}
|
|
|
RE: Помогите с C++! - 2010-02-14 15:59:10.030000
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
YUE спасибо, все офигенски заработало) Xaduw неа, чет не пошло(
|
|
|
RE: Помогите с C++! - 2010-02-15 00:46:55.200000
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
Чтобы начать писать "по-русски" нужно исходный код передавать компилятору в кодировке, в которой он будет выводиться на консоль. Т.е. в cp866. Я когда был на 2-м курсе, постоянно писал консольные проги в студии, а исходный код при этом хранится в UTF-8 (как настроить студию таком образом чтобы сорцы создавались в cp866 я не понял). Поэтому я сделал так: 1. Написал консольную программу, которая переводит любой текстовый файл из UTF-8 в cp866. 2. Написал консольную программу, которая переводит любой текстовый файл из cp866 в UTF-8. 3. В студии в свойствах проекта есть "Pre build action", и "Post build action". В "Pre build action" я вставлял батник, который для каждого моего файлика (*.h, *.cpp, *.c) вызывал перекодровку в cp866 (для этого использовал цикл FOR) В "Post build action" декодировал все обратно. Тут один неудобный момент - файлы изменялись каждый раз, поэтому студия выкидывала предумпеждение что они изменились и надо их обновить. Но достаточно один раз поставить галочку "Больше не спрашивать" и это предупреждение исчезает. Можешь пойти по этому пути. Только что до меня дошло - был более простой способ. В свойствах проекта есть поле куда можно ввести команду для запуска программы (когда нажимаешь Run будет вызывать она). Так вот туда вместо /release/main.exe можно прописать имя батника, в котором просто будет устанавливаться нужна кодовая страница. Например (для создания консоли с windows-1251 делаем так) 1. создаем батник release.bat, в нём пишем: ============= CHCP 1251 main.exe ============= 2. Помещаем батник в директорию в которую билдится программа. 3. В свойствах проекта меняем строку запуска программы на строку запуска батника и наслаждаемся удобной отладкой (в нужной кодировке). 4. Перед финальным релизом кодируем исходники в cp866 и собираем финальный билд, который будем показывать преподу. Вот другие популярные в нашей стране коды и кодовые страницы (это для команды CHCP): 866 cp866 1251 windows-1251 65001 utf-8
|
|
|
RE: Помогите с C++! - 2010-03-19 18:54:47.970000
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
А вот если , например я хочу написать "игру". Гамер вводит какую то команду, и как сделать чтобы рандомом выводилось либо "получилось" либо "не получилось"???
|
|
|
RE: Помогите с C++! - 2010-03-19 19:01:10.506666
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
quote:
Читай основы языка Си в книжках _SaZ_ тебе сказал уже. И не спрашивай больше такого… Кодер блин…
|
|
|
RE: Помогите с C++! - 2010-03-19 19:01:56.486666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Как же вы зае… кхм… надоели со своими "я хочу написать …, как сделать …"
|
|
|
RE: Помогите с C++! - 2010-03-19 19:02:48.400000
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
То есть помощи не ждать?)
|
|
|
RE: Помогите с C++! - 2010-03-19 19:10:16.166666
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
Ты задаешь глупые вопросы. Для тебя язык программирования это набор операторов, с помощью которых можно что-либо сделать. Ты не знаешь элементарного (как работает комьютер, что такое память, стек, как с ними работать и прочее), а уже лезешь неизвестно куда.
|
|
|
RE: Помогите с C++! - 2010-03-19 19:11:58.263333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: BlackAngElf То есть помощи не ждать?) Мы можем лишь показать дверь, а войти ты должен будешь сам.
|
|
|
RE: Помогите с C++! - 2010-03-19 19:13:46.186666
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
Ну так покажи!) P.S. Я даже знаю, что за дверь) Сцылка на гугол)
|
|
|
RE: Помогите с C++! - 2010-03-19 19:29:50.316666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Давай, как с маленьким с тобой… Тебе захотелось построить дом из конструктора (написать свою прогу), и ты даже способен это сделать… но есть один маааленький нюанс, ты не знаешь, как выглядят детали для построения дома. И ты спрашиваешь, из чего строить. Т.е. нам надо будет тебе с нуля объяснять, какие есть детали и как их складывать вместе. А эта информация есть везде, достаточно почитать любую книгу по этой теме. Но тебе лень. И совсем другое дело, если бы ты задавал вопросы типа "вот у меня есть такие-то кубики, я их сложил так, но боюсь, что конструкция получится неустойчивой", и выглядеть они будут "как лучше сделать", а не "как сделать". Для начала попробуй описать словами алгоритм того, что ты хочешь сделать. например, программы удаляющей файлы: 1. Спросить у пользователя имя файла, который нужно удалить 2. Попробовать найти этот файл. 3. Если файл не найден - вывести сообщение об ошибке и перейти к п.6 4. Удалить файл. 5. Если файл не удаляется - вывести сообщение об ошибке и перейти к п.6 6. Спросить у пользователя, хочет ли он удалить ещё один файл. 7. Если "да", то перейти к п.1, иначе к п.8 8. Закрыть программу.
|
|
|
RE: Помогите с C++! - 2010-03-19 22:42:42.670000
|
|
|
Crazy.C
Сообщений: 14
Оценки: 0
Присоединился: 2010-01-04 17:42:28.933333
|
quote:
ORIGINAL: BlackAngElf А вот если , например я хочу написать "игру". Гамер вводит какую то команду, и как сделать чтобы рандомом выводилось либо "получилось" либо "не получилось"??? С какой-то стороны ты сам отвечаешь на свой вопрос(чтобы рандомом выводилось), т.е. используй функцию rand. Судя по тому, что изучение началось недавно, то я бы не советовал нацеливаться на кодинг игр с использованием OpenGL через месяц обучения(согласись, ты такую задачу перед собой ведь поставил) ))) Ну а так. по функции rand задавай вопросы гуглу. Тебе впадлу читать и искать - нам впадлу отвечать и помогать. quote:
ORIGINAL: Zmaster quote:
Читай основы языка Си в книжках _SaZ_ тебе сказал уже. И не спрашивай больше такого… Кодер блин… Полностью согласен ))) quote:
ORIGINAL: BlackAngElf То есть помощи не ждать?) Обычно помощь бывает советом, либо написанием части программы, а не полное написание программы с комментариями на каждой строчке. Т.е. не наглей, учи С++ сам, закладывай фундамент с основ ))
|
|
|
RE: Помогите с C++! - 2010-03-20 00:46:26.330000
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
quote:
Гамер вводит какую то команду, и как сделать чтобы рандомом выводилось либо "получилось" либо "не получилось" Ребят,ну не вдавайтесь же вы в рассуждения. Он ничего не упоминал про реальную игру и тем более уж графику. Думаю,
scanf(%s,str);
if ((2*rand()/RAND_MAX)>=1)
{ printf("получилось"); }
else printf("epic fail");
такой штучки ему хватит,читать же синтаксис начал только). *или я неправильно понял о_О*
|
|
|
RE: Помогите с C++! - 2010-03-20 09:48:58.306666
|
|
|
Stil Free 2
Сообщений: 183
Оценки: 0
Присоединился: 2009-03-26 17:17:38.296666
|
quote:
2. Почему когда я ввожу нечетное число, например 365, он вместо 182.5 пишет просто 182? quote:
printf("%100.2f\n", summ); Есть книжка для вузов хорошая для начинающего Царев Программирование на Си и ещё одна Редькиной х.з. там как название. Найди почитай.
|
|
|
RE: Помогите с C++! - 2010-03-27 18:55:21.423333
|
|
|
BlackAngElf
Сообщений: 57
Оценки: 0
Присоединился: 2009-11-10 12:38:19.423333
|
Genco спасибо большое) хоть ты не обосрал)
|
|
|
|
|