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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
NaV'i4ok
3 / 3 / 0
Регистрация: 18.03.2011
Сообщений: 85
#1

Помогите новичку разобраться с С++ - C++

21.09.2011, 11:00. Просмотров 1344. Ответов 8
Метки нет (Все метки)

Доброго всем времени суток!
Пытаюсь изучать С++ и у меня такие вопросы(накопились из разных тем):
1.Когда надо в конце типу float писать f?Надо ли
если задавать константу
соnst float f=0.5
если передавать конст как аргумент
sale(0.25);

если инициализировать просто переменную
float f=0.5
если поле класса
void scale(Distance& dd, float factor )
{…}
scale(d1, 0.5);//масштабирование d1 и d2
scale(d2, 0.25);

Те же вопросы к типу long :когда надо L в конце?
2.если например у нас есть масив int intArr[] то правилино ли:
&intArr=intArr
*int intArr=intArr ?
3.Visual C++ отличается Build Solution(F7) от Compile(Ctrl+F7)
4.Ошибка в строке(код из книги) :

hConsole = CreateFile("CONOUT$", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);
_____________________________________________________________________________________1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\консольная графика\msoftcon\msoftcon\msoftcon.cpp(17) : error C2664: 'CreateFileW' : cannot convert parameter 1 from 'const char [8]' to 'LPCWSTR'
5.При отладке или выполнении програмы часто компилятор выдает :
There is no sourse code available for the current location.
Show disassembly automatically(OK, Show disassembly)
Кда девался мой «источник» если небыло ни ошибок ни предупреждений?
И что будет если все-таки подтвердить,розложится код на машинный язык?
6.Куда вписывать аргументы командной строки (С++)?
Надо запустить из всех программ Visual Studio 2008 Command Prompt и в консольном окне задать эти параметры или как?И файлы srcfile.срр и destfile.срр должны быть включкены в проэкт?А то я набираю код(из книги) и при выполнении
Формат : ocopy srcfile destfile
Где все-таки задать эти два аргумента?

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
//Ex12_2.cpp
//Эмуляция команды COPY (MS DOS)
#include <iostream>
#include <fstream>
#include <clocale>
using namespace std;
#include <process.h>
int main(int argc,char* argv[])
{
    setlocale(LC_CTYPE,"Russian");
    if(argc!=2)
    {
        cerr<<"\nФормат : ocopy srcfile destfile";
        exit(-1);
    }
    char ch;
    ifstream infile;//создать входной файл
    infile.open(argv[1]);//открыть файл
    if(!infile)//проверка на ошибки
    {cerr<<"\nНевозможно открытие "<<argv[1];exit(-1);}
    ofstream outfile;//создать выходной файл
    outfile.open(argv[2]);//открыть его
    if(!outfile)//проверка на ошибки
    {cerr<<"\nНевозможно открытие "<<argv[2];exit(-1);}
    while(infile)//до EOF
    {
        infile.get(ch);//считать символ
        outfile.put(ch);//записать символ
    }
    return 0;
}
На вопр.6 пожалуйста поподробней.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2011, 11:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Помогите новичку разобраться с С++ (C++):

Помогите новичку в C++ разобраться с литературой - C++
Блин народ помогите мне пожалуйста. Я сейчас 1 курс и поступил на программную инженерию до этого не изучал никаких языков, для меня это что...

Помогите новичку разобраться с Типами дробных чисел. - C++
Мне нужно производить точные вычисления с 20 знаками после запятой. Не все типы которые я знаю могут поддерживать это количество, а те...

Помогите новичку:) - C++
{ printf(&quot;\n\nEshe : &quot;); scanf(&quot;%s&quot;,&amp;e); if(e=='y') c=1; if(e=='n') c=3; } } printf(&quot;%s %i&quot;,&quot;\nVashu o4ki:...

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

Помогите новичку скомпилировать первую программу. - C++
Делал всё по уроку. Вот код: #include &lt;iostream.h&gt; int main() { cout &lt;&lt; &quot;Hello World!\n&quot;; return 0; } После компиляции...

Помогите пжл новичку написать прогу - C++
Нужно найти общие слова в 2-х предложениях

8
magirus
21.09.2011, 11:04
  #2
 Комментарий модератора 
если вопросы по С++ задавать в разделе linux, то ответов можно и не дождаться.
1
ValeryLaptev
Эксперт С++
1048 / 827 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
21.09.2011, 11:13 #3
6. Аргументы командной строки вписываются в окне свойств проекта.
Project->Propeties->Configuration Propeties->Debugging-> Command Arguments
1
NaV'i4ok
3 / 3 / 0
Регистрация: 18.03.2011
Сообщений: 85
21.09.2011, 11:28  [ТС] #4
Извенити,просто было открыто несколько вкладок с форума
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
21.09.2011, 13:04 #5
Цитата Сообщение от NaV'i4ok Посмотреть сообщение
2.если например у нас есть масив int intArr[] то правилино ли:
&intArr=intArr
*int intArr=intArr ?
C++
1
2
3
int intArr[10];
int &refArr = intArr;
int *ptrArr = intArr;
Или я не правильно понял?
Цитата Сообщение от NaV'i4ok Посмотреть сообщение
3.Visual C++ отличается Build Solution(F7) от Compile(Ctrl+F7)
Compile - это компиляция текущего файла в объектный код, Build Solution - компиляция и компоновка всего проекта.
Цитата Сообщение от NaV'i4ok Посмотреть сообщение
4.Ошибка в строке(код из книги) :
hConsole = CreateFile("CONOUT$", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);
Подобные функции которые так или иначе работают с текстом (либо что-то делают с текстом, либо принимают текстовые параметры) существуют в двух разновидностях. Которые работают с однобайтовым char'ом (имеют суффикс А, например CreateFileA()), и которые работют с символами юникод (имеют суффикс W, CreateFileW()). Также для таких функций есть макрос (имя функции без суффикса), который при компиляции, в зависимости от настроек проекта, заменяется на соответствующие функции. В твоем же случае используются чаровские переменные, а в настройках проекта задано использование юникода. Тут нужно либо привести переменные к соответствующему типу, либо изменить настройки проекта.
Цитата Сообщение от NaV'i4ok Посмотреть сообщение
5.При отладке или выполнении програмы часто компилятор выдает :
There is no sourse code available for the current location.
Show disassembly automatically(OK, Show disassembly)
Могу ошибаться, но по моему такое сообщение вылазит, в случае изменения исходного кода во время запуска программы.

Добавлено через 7 минут
Цитата Сообщение от kazak Посмотреть сообщение
Тут нужно либо привести переменные к соответствующему типу, либо изменить настройки проекта.
Хотя, использование подобных макросов имеет смысл только при использовании типа TCHAR, если ты работаешь с конкретным типом, то вызывай конкретные функции для этих типов.

Добавлено через 7 минут
Цитата Сообщение от NaV'i4ok Посмотреть сообщение
1.Когда надо в конце типу float писать f?
Тогда, когда ты хочешь чтобы константа имела тип именно float.

Добавлено через 8 минут
Цитата Сообщение от kazak Посмотреть сообщение
Могу ошибаться, но по моему такое сообщение вылазит, в случае изменения исходного кода во время запуска программы.
Не, ошибаюсь. Такое сообщение должно вылазить при пошаговой отладке с заходом в функцию, если для этой функции нет исходного кода (допустим эта функция из стандартной библиотеки.
1
NaV'i4ok
3 / 3 / 0
Регистрация: 18.03.2011
Сообщений: 85
21.09.2011, 16:41  [ТС] #6
И все-таки как это исправить:
4.Ошибка в строке(код из книги) :

hConsole = CreateFile("CONOUT$", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);
_____________________________________________________________________________________
cpp(17) : [B]error C2664:'CreateFileW' : cannot convert parameter 1 from 'const char [8]' to 'LPCWSTR'
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
21.09.2011, 16:43 #7
CreateFile => CreateFileA
1
NaV'i4ok
3 / 3 / 0
Регистрация: 18.03.2011
Сообщений: 85
25.10.2011, 21:48  [ТС] #8
Тогда, когда ты хочешь чтобы константа имела тип именно float.

Но если ,например массив типа float
float far[]={12f, 4f, 0.5f, 56f, 789.5f};
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2059: syntax error : 'bad suffix on number'
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2146: syntax error : missing '}' before identifier 'f'
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2146: syntax error : missing ';' before identifier 'f'
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2065: 'f' : undeclared identifier

и так для каждого числа в массиве

И речь только о константах или при инициализации переменных тоже надо f в конце?

Добавлено через 5 минут
Цитата Сообщение от kazak Посмотреть сообщение
Сообщение от NaV'i4ok
1.Когда надо в конце типу float писать f?
Тогда, когда ты хочешь чтобы константа имела тип именно float.
Добавлено через 8 минут
Но если ,например массив типа float
float far[]={12f, 4f, 0.5f, 56f, 789.5f};
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2059: syntax error : 'bad suffix on number'
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2146: syntax error : missing '}' before identifier 'f'
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2146: syntax error : missing ';' before identifier 'f'
1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\lafore_oop_c++\задания\к гл14\ex14_5\ex14_5\ex14_5.cpp(25) : error C2065: 'f' : undeclared identifier

и так для каждого числа в массиве

И речь только о константах или при инициализации переменных тоже надо f в конце?
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
26.10.2011, 11:11 #9
Цитата Сообщение от NaV'i4ok Посмотреть сообщение
float far[]={12f, 4f, 0.5f, 56f, 789.5f};
Обозначь явно, что числа с плавающей точкой
C++
1
float far[]={12.f, 4.f, 0.5f, 56.f, 789.5f};
1
26.10.2011, 11:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 11:11
Привет! Вот еще темы с ответами:

Помогите новичку - как преобразовать int к string - C++
Помогите новичку Как делать преобразование к классу int gcc version 2.95.3 20010315 (release)

If else помогите разобраться - C++
Доброго времени суток всем. Не так давно начали программировать в C++ MS Visual Studio 2010? и возникло у меня затруднение в работе с if ...

Помогите разобраться - C++
У меня есть координаты North,West,East,South. Мне нужно отобразить их на осях ОХ и ОУ. Допустим я ввожу North 5 East 3 South 1 ...

Помогите разобраться с switch - C++
Вот код программы: int i_1x; i_1x = 0; char a_n; ifstream input(&quot;input.txt&quot;); input &gt;&gt; a_n; switch...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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