Artem123 0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
||||
1 |
||||
27.09.2014, 11:44. Показов 30317. Ответов 23 Метки нет (Все метки)
пишет вот это (error C3861: getch: идентификатор не найден)
__________________
0 |
zss Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
||||
27.09.2014, 12:13 |
2 |
|||
Не забывайте о вызове помощи с помощью кнопки F1 Requirements
0 |
Artem123 0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
||||
27.09.2014, 12:22 [ТС] |
3 |
|||
получилось вот так,если правильно всё понял,но ошибка та же самая (error C3861: _getch: идентификатор не найден)
0 |
zss Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
||||
27.09.2014, 12:32 |
4 |
|||
Может опечатка, c или e — русские? Не по теме: Как Вы понимаете строку Добавлено через 3 минуты
Сначала Вы извлекаете корень,
0 |
0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
|
27.09.2014, 12:37 [ТС] |
5 |
переписал слово команду _getch() Добавлено через 4 минуты
0 |
41 / 37 / 9 Регистрация: 01.02.2014 Сообщений: 825 |
|
27.09.2014, 12:49 |
6 |
Artem123, можно без conio.h все делать простым system(«pause»); (Входит в библиотеку iostream) Добавлено через 2 минуты
0 |
0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
|
27.09.2014, 12:50 [ТС] |
7 |
MakcPletnev, если не сложно,Макс,кинь!))
0 |
MakcPletnev 41 / 37 / 9 Регистрация: 01.02.2014 Сообщений: 825 |
||||
27.09.2014, 12:52 |
8 |
|||
Код довольно объемен и где то кривоват(Писал мб около года назад, тогда только начинал)
Добавлено через 39 секунд
0 |
0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
|
27.09.2014, 12:53 [ТС] |
9 |
MakcPletnev, спасибо))
0 |
41 / 37 / 9 Регистрация: 01.02.2014 Сообщений: 825 |
|
27.09.2014, 12:59 |
10 |
Artem123, там ничего сложного. Все операции просты и стандартны. Просто попробуйте прокомментировать этот код и все поймете.
0 |
Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
|
27.09.2014, 13:07 |
11 |
Кстати, этот код не устраняет причину, вынесенную в заголовок.
0 |
41 / 37 / 9 Регистрация: 01.02.2014 Сообщений: 825 |
|
27.09.2014, 13:20 |
12 |
Кст на счет причины. Возможно баг студии и она плохо либо вообще не загрузила библиотеку. Попробуйте создать новый проект и прописать _getch(); еще раз Добавлено через 2 минуты
Может опечатка, c или e — русские? Не по теме: Как Вы понимаете строку Добавлено через 3 минуты Сначала Вы извлекаете корень, zss — прав. Выдаст ошибку на извлечении корня из D<0
0 |
0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
|
27.09.2014, 13:27 [ТС] |
13 |
zss, да,пробовал,выдает однотипную ошибку,только уже с командой system
0 |
Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
|
27.09.2014, 13:33 |
14 |
Кстати, а Вы убрали
0 |
0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
|
27.09.2014, 13:35 [ТС] |
15 |
zss, да,конечно
0 |
Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
|
27.09.2014, 13:36 |
16 |
Создайте заново пустой проект и подключите к нему этот файл, но без этого инклюда.
0 |
0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
|
27.09.2014, 13:36 [ТС] |
17 |
zss, но теперь выдает (непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву «#include «StdAfx.h»» в источник.)
0 |
Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
|
27.09.2014, 13:39 |
18 |
Еще раз: stdafx.h — это файл предкомпилированных заголовков.
0 |
Artem123 0 / 0 / 0 Регистрация: 27.09.2014 Сообщений: 11 |
||||
27.09.2014, 13:42 [ТС] |
19 |
|||
программа приобрела такой вид,но ошибка вот такая (fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву «#include «StdAfx.h»» в источник.)
0 |
Модератор 12641 / 10135 / 6102 Регистрация: 18.12.2011 Сообщений: 27,170 |
|
27.09.2014, 13:44 |
20 |
Кстати. Можно отключить эту опцию в уже созданном проекте. Меню И почему до сих пор строка kv=sqrt(d); не перемещена внутрь if? Да, на всякий случай спрошу — А вы вообще проект-то создаете или просто открываете файл?
1 |
description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid |
---|---|---|---|---|---|
Learn more about: Compiler Error C3861 |
Compiler Error C3861 |
06/29/2022 |
C3861 |
C3861 |
0a1eee30-b3db-41b1-b1e5-35949c3924d7 |
Compiler Error C3861
‘identifier‘: identifier not found
The compiler was unable to resolve a reference to an identifier, even using argument-dependent lookup.
Remarks
To fix this error, compare use of identifier to the identifier declaration for case and spelling. Verify that scope resolution operators and namespace using
directives are used correctly. If the identifier is declared in a header file, verify that the header is included before the identifier is referenced. If the identifier is meant to be externally visible, make sure that it’s declared in any source file that uses it. Also check that the identifier declaration or definition isn’t excluded by conditional compilation directives.
Changes to remove obsolete functions from the C Runtime Library in Visual Studio 2015 can cause C3861. To resolve this error, remove references to these functions or replace them with their secure alternatives, if any. For more information, see Obsolete functions.
If error C3861 appears after project migration from older versions of the compiler, you may have issues related to supported Windows versions. Visual C++ no longer supports targeting Windows 95, Windows 98, Windows ME, Windows NT or Windows 2000. If your WINVER
or _WIN32_WINNT
macros are assigned to one of these versions of Windows, you must modify the macros. For more information, see Modifying WINVER
and _WIN32_WINNT
.
Examples
Undefined identifier
The following sample generates C3861 because the identifier isn’t defined.
// C3861.cpp void f2(){} int main() { f(); // C3861 f2(); // OK }
Identifier not in scope
The following sample generates C3861, because an identifier is only visible in the file scope of its definition, unless it’s declared in other source files that use it.
Source file C3861_a1.cpp
:
// C3861_a1.cpp // Compile with: cl /EHsc /W4 C3861_a1.cpp C3861_a2.cpp #include <iostream> // Uncomment the following line to fix: // int f(); // declaration makes external function visible int main() { std::cout << f() << std::endl; // C3861 }
Source file C3861_a2.cpp
:
// C3861_a2.cpp int f() { // declared and defined here return 42; }
Namespace qualification required
Exception classes in the C++ Standard Library require the std
namespace.
// C3861_b.cpp // compile with: /EHsc #include <iostream> int main() { try { throw exception("Exception"); // C3861 // try the following line instead // throw std::exception("Exception"); } catch (...) { std::cout << "caught an exception" << std::endl; } }
Obsolete function called
Obsolete functions have been removed from the CRT library.
// C3861_c.cpp #include <stdio.h> int main() { char line[21]; // room for 20 chars + '' gets( line ); // C3861 // Use gets_s instead. printf( "The line entered was: %sn", line ); }
ADL and friend functions
The following sample generates C3767 because the compiler can’t use argument dependent lookup for FriendFunc
:
namespace N { class C { friend void FriendFunc() {} friend void AnotherFriendFunc(C* c) {} }; } int main() { using namespace N; FriendFunc(); // C3861 error C* pC = new C(); AnotherFriendFunc(pC); // found via argument-dependent lookup }
To fix the error, declare the friend in class scope and define it in namespace scope:
class MyClass { int m_private; friend void func(); }; void func() { MyClass s; s.m_private = 0; } int main() { func(); }
description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid |
---|---|---|---|---|---|
Learn more about: Compiler Error C3861 |
Compiler Error C3861 |
06/29/2022 |
C3861 |
C3861 |
0a1eee30-b3db-41b1-b1e5-35949c3924d7 |
Compiler Error C3861
‘identifier‘: identifier not found
The compiler was unable to resolve a reference to an identifier, even using argument-dependent lookup.
Remarks
To fix this error, compare use of identifier to the identifier declaration for case and spelling. Verify that scope resolution operators and namespace using
directives are used correctly. If the identifier is declared in a header file, verify that the header is included before the identifier is referenced. If the identifier is meant to be externally visible, make sure that it’s declared in any source file that uses it. Also check that the identifier declaration or definition isn’t excluded by conditional compilation directives.
Changes to remove obsolete functions from the C Runtime Library in Visual Studio 2015 can cause C3861. To resolve this error, remove references to these functions or replace them with their secure alternatives, if any. For more information, see Obsolete functions.
If error C3861 appears after project migration from older versions of the compiler, you may have issues related to supported Windows versions. Visual C++ no longer supports targeting Windows 95, Windows 98, Windows ME, Windows NT or Windows 2000. If your WINVER
or _WIN32_WINNT
macros are assigned to one of these versions of Windows, you must modify the macros. For more information, see Modifying WINVER
and _WIN32_WINNT
.
Examples
Undefined identifier
The following sample generates C3861 because the identifier isn’t defined.
// C3861.cpp void f2(){} int main() { f(); // C3861 f2(); // OK }
Identifier not in scope
The following sample generates C3861, because an identifier is only visible in the file scope of its definition, unless it’s declared in other source files that use it.
Source file C3861_a1.cpp
:
// C3861_a1.cpp // Compile with: cl /EHsc /W4 C3861_a1.cpp C3861_a2.cpp #include <iostream> // Uncomment the following line to fix: // int f(); // declaration makes external function visible int main() { std::cout << f() << std::endl; // C3861 }
Source file C3861_a2.cpp
:
// C3861_a2.cpp int f() { // declared and defined here return 42; }
Namespace qualification required
Exception classes in the C++ Standard Library require the std
namespace.
// C3861_b.cpp // compile with: /EHsc #include <iostream> int main() { try { throw exception("Exception"); // C3861 // try the following line instead // throw std::exception("Exception"); } catch (...) { std::cout << "caught an exception" << std::endl; } }
Obsolete function called
Obsolete functions have been removed from the CRT library.
// C3861_c.cpp #include <stdio.h> int main() { char line[21]; // room for 20 chars + '' gets( line ); // C3861 // Use gets_s instead. printf( "The line entered was: %sn", line ); }
ADL and friend functions
The following sample generates C3767 because the compiler can’t use argument dependent lookup for FriendFunc
:
namespace N { class C { friend void FriendFunc() {} friend void AnotherFriendFunc(C* c) {} }; } int main() { using namespace N; FriendFunc(); // C3861 error C* pC = new C(); AnotherFriendFunc(pC); // found via argument-dependent lookup }
To fix the error, declare the friend in class scope and define it in namespace scope:
class MyClass { int m_private; friend void func(); }; void func() { MyClass s; s.m_private = 0; } int main() { func(); }
Содержание
- Ошибка компилятора C3861
- Remarks
- Примеры
- Неопределенный идентификатор
- Идентификатор не в области
- Требуется квалификация пространства имен
- Устаревшая функция, вызываемая
- ADL и дружественные функции
- Русские Блоги
- Mr.J — Ошибка компиляции языка C C3861
- идентификатор: Идентификатор не найден
- замечание
- примеров
- Неопределенный идентификатор
- Идентификатор вне области видимости
- Требуемая квалификация пространства имен
- Устаревший вызов функции
- ADL и функции друзей
- Интеллектуальная рекомендация
- Реализация оценки приложения iOS
- JS функциональное программирование (е)
- PWN_JarvisOJ_Level1
- Установка и развертывание Kubernetes
- На стороне многопроцессорного сервера — (2) *
- ошибка C3861: «система»: идентификатор не найден
- Решение
- Error c3861 gets идентификатор не найден
- Вопрос новичка
Ошибка компилятора C3861
Компилятору не удалось разрешить ссылку на идентификатор, даже используя поиск, зависящий от аргументов.
Чтобы устранить эту ошибку, сравните использование идентификатора с объявлением идентификатора для регистра и орфографии. Убедитесь, что операторы разрешения области и директивы пространства имен using используются правильно. Если идентификатор объявлен в файле заголовка, убедитесь, что заголовок включен до ссылки на идентификатор. Если идентификатор должен быть видимым извне, убедитесь, что он объявлен в любом исходном файле, который его использует. Кроме того, убедитесь, что объявление или определение идентификатора не исключается директивами условной компиляции.
Изменения для удаления устаревших функций из библиотеки среды выполнения C в Visual Studio 2015 могут вызвать C3861. Чтобы устранить эту ошибку, удалите ссылки на эти функции или замените их безопасными альтернативами, если таковые есть. Дополнительные сведения см. в разделе «Устаревшие функции».
Если ошибка C3861 появляется после миграции проекта из более старых версий компилятора, могут возникнуть проблемы, связанные с поддерживаемыми версиями Windows. Visual C++ больше не поддерживает создание программ для Windows 95, Windows 98, Windows ME, Windows NT и Windows 2000. Если макросы WINVER _WIN32_WINNT назначены одной из этих версий Windows, необходимо изменить макросы. Дополнительные сведения см. в разделе «Изменение WINVER и _WIN32_WINNT «.
Примеры
Неопределенный идентификатор
В следующем примере возникает ошибка C3861, так как идентификатор не определен.
Идентификатор не в области
Следующий пример приводит к возникновению ошибки C3861, так как идентификатор виден только в области его определения файла, если он не объявлен в других исходных файлах, использующих его.
Исходный файл C3861_a1.cpp :
Исходный файл C3861_a2.cpp :
Требуется квалификация пространства имен
Для классов исключений в стандартной библиотеке C++ требуется std пространство имен.
Устаревшая функция, вызываемая
Устаревшие функции удалены из библиотеки CRT.
ADL и дружественные функции
Следующий пример приводит к возникновению ошибки C3767, так как компилятор не может использовать поиск, зависящий от FriendFunc аргументов:
Чтобы устранить ошибку, объявите друга в области класса и определите его в области пространства имен:
Источник
Русские Блоги
Mr.J — Ошибка компиляции языка C C3861
идентификатор: Идентификатор не найден
Даже с независимыми поисками, связанными с переменными, компилятор не может разрешить ссылки на идентификаторы.
замечание
Чтобы исправить эту ошибку, используйтеидентификаторНа случай и написание идентификатора декларации. верификацияОператор разрешения диапазонаИ пространство имениспользование директивыИспользуется правильно. Если идентификатор объявлен в заголовочном файле, убедитесь, что заголовок включен перед ссылочным идентификатором. Если идентификатор должен быть видимым извне, убедитесь, что он объявлен во всех исходных файлах, которые его используют. Кроме того, пожалуйста, проверьте идентификатор декларации или определение не исключает принятиеИнструкция условной компиляции。
Изменения для удаления устаревших функций из библиотеки времени выполнения C в Visual Studio 2015 могут вызвать C3861. Чтобы устранить эту ошибку, удалите ссылки на эти функции или замените их безопасными альтернативными методами, если таковые имеются. Для получения дополнительной информации, пожалуйста, обратитесь кУстаревшая функция。
Если проект отображает ошибку компилятора C3861 из старой версии после миграции, это может вызвать проблемы, связанные с поддерживаемыми версиями Windows. Visual C ++ больше не поддерживает Windows 95, Windows 98, Windows ME, Windows NT или Windows 2000. Если выWINVERили_WIN32_WINNTМакросы назначены одной из этих версий Windows, вы должны изменить макросы. Для получения дополнительной информации, пожалуйста, обратитесь кИзменить WINVER и _WIN32_WINNT。
примеров
Неопределенный идентификатор
В следующем примере создается C3861, поскольку идентификатор не определен.
Идентификатор вне области видимости
В следующем примере создается C3861, поскольку идентификатор виден только в его определении и области действия файла, если он не объявлен в других исходных файлах, которые его используют.
Требуемая квалификация пространства имен
Классы исключений в стандартной библиотеке C ++ std Пространство имен.
Устаревший вызов функции
Устаревшие функции были удалены из библиотеки CRT.
ADL и функции друзей
В следующем примере создается C3767, поскольку аргумент, который не может использовать компилятор, зависит от поиска FriendFunc :
Чтобы исправить эту ошибку, объявите область действия класса Friend и определите ее в области пространства имен:
Для проблемы, с которой я столкнулся, сначала была определена функция, а затем использована . (Первая)
Интеллектуальная рекомендация
Реализация оценки приложения iOS
Есть два способа получить оценку приложения: перейти в App Store для оценки и оценка в приложении. 1. Перейдите в App Store, чтобы оценить ps: appid можно запросить в iTunes Connect 2. Встроенная оцен.
JS функциональное программирование (е)
Давайте рассмотрим простой пример, чтобы проиллюстрировать, как используется Reduce. Первый параметр Reduce — это то, что мы принимаем массив arrayOfNums, а второй параметр — функцию. Эта функция прин.
PWN_JarvisOJ_Level1
Nc первый Затем мы смотрим на декомпиляцию ida Перед «Hello, World! N» есть уязвимая_функция, проверьте эту функцию после ввода Видно, что только что появившийся странный адрес является пе.
Установка и развертывание Kubernetes
На самом деле, я опубликовал статью в этом разделе давным -давно, но она не достаточно подробно, и уровень не является ясным. Когда я развернулся сегодня, я увидел его достаточно (хотя это было успешн.
На стороне многопроцессорного сервера — (2) *
Обработка сигнала Родительский процесс часто очень занят, поэтому вы не можете просто вызвать функцию waitpid, чтобы дождаться завершения дочернего процесса. Затем обсудите решение. Обратитесь .
Источник
ошибка C3861: «система»: идентификатор не найден
Я только начал новый win32 консольное приложение в VS 2010 и установить Additional options собственность на precompiled header в предстоящем мастере.
На основе один из моих предыдущих вопросов Я решил использовать следующий основной прототип:
Я также изменил Character Set свойство проекта к Use Multi-Byte Character Set ,
Но следующий код:
Будет выдавать эти две ошибки:
У меня был такой же опыт, и ошибок не было!
Кто-нибудь может подсказать мне, что не так?
Решение
В C ++ вы должны включить соответствующий заголовочный файл, который содержит объявление функции, чтобы использовать ее, иначе вы получите ошибку компилятора о том, что идентификатор не найден.
В случае с system функция, это определено в stdlib.h заголовочный файл
Итак, в начало вашего файла кода (или в вашем предварительно скомпилированном заголовочном файле) добавьте строку
(Вы используете угловые скобки вместо кавычек, потому что stdlib.h найден ли заголовок в том месте, о котором ранее сообщалось инструменту сборки; это включает в себя каталоги системных заголовков и другие каталоги, которые ваша конфигурация сборки специально требует.)
Помимо этого я сильно рекомендую против используя либо многобайтовый набор символов (все новые приложения Windows должны поддерживать Unicode), либо system функция, особенно system(«pause») ,
Источник
Error c3861 gets идентификатор не найден
Hi,
I am using atof function in my Form.h file of VC++ project.
I have added a #include «math.h» in my .cpp file.but when I am building the project I am getting error «Error C3861:atof:Identifier not found.
Why this is happening ,whether I am missing something.
Did you include the library header that holds the atof() function? I think it’s .
Did you include the library that holds the atof() function? I think it’s .
ouch. I mean, not wrong, but you include headers, not libraries.
Answer: What gaminic said. Except that you should include instead if you’re using C++ instead of C.
You should write instead of .
Just show us the relevant code, it’s a bit hard to tell what you’re actually doing without seeing it.
// Demo_C++.cpp : main project file.
#include «stdafx.h»
#include «Form1.h»
#include «cstdlib»
using namespace Demo_C;
[STAThreadAttribute]
int main(array ^args)
<
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// Create the main window and run it
Application::Run(gcnew Form1());
return 0;
>
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
///
/// Summary for Form1
///
/// WARNING: If you change the name of this class, you will need to change the
/// ‘Resource File Name’ property for the managed resource compiler tool
/// associated with all .resx files this class depends on. Otherwise,
/// the designers will not be able to interact properly with localized
/// resources associated with this form.
///
public ref class Form1 : public System::Windows::Forms::Form
<
public:
Form1(void)
<
InitializeComponent();
//
//TODO: Add the constructor code here
//
>
protected:
///
/// Clean up any resources being used.
///
Form1()
<
if (components)
<
delete components;
>
>
private: System::Windows::Forms::Button^ button1;
protected:
private:
///
/// Required designer variable.
///
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
///
/// Required method for Designer support — do not modify
/// the contents of this method with the code editor.
///
void InitializeComponent(void)
<
this->button1 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
//
// button1
//
this->button1->Location = System::Drawing::Point(28, 105);
this->button1->Name = L»button1″;
this->button1->Size = System::Drawing::Size(75, 23);
this->button1->TabIndex = 0;
this->button1->Text = L»button1″;
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(282, 255);
this->Controls->Add(this->button1);
this->Name = L»Form1″;
this->Text = L»Form1″;
this->ResumeLayout(false);
>
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
<
System::String^ string=»0″;
double d=atof(string);
>
>;
>
Источник
Вопрос новичка
В группе учится N студентов. Вводя по три оценки каждого студента подсчитать число студентов, не имеющих оценок 2 и 3.
цикл пока не пихал. он на любые значения n,b,v выдает 0. что делать ?
Переменная c как я понимаю это число студентов, зачем тогда тип float?
После длинных праздников количество студентов не обязательно целое число )))
Помогите, пишет « error C3861: setlocate: идентификатор не найден ». Не могу понять в чём проблема.
Помогите, пишет « error C3861: setlocate: идентификатор не найден ». Не могу понять в чём проблема.
Команда называется setlocale а не setlocate,компилятор не знает что такое команда setlocate,такой команды не существует
Я уже сам нашёл, но спасибо))) Я просто недоглядел) Делетант)
Первый урок. Программу написала, скомпилировала. Что дальше? Как вывести строку на экран?
После компиляции программу обычно запускают. Консольные программы запускают через консоль(cmd.exe)
как построит полноценную калькулятор подскажите
Lexa, (1) внутри функции объявлять новое пространство имён нельзя. (2) Директива using используется для включения в текущее пространство имён либо всех идентификаторов из указанного пространства имён, либо указанные идентификаторы. Когда идентификатор из другого пространства имён включается в текущее пространство имён, обращаться к нему можно без полной квалификации (т.е. без префикса названия пространства имён и :: ).
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Источник
I have a problem with my code. Unfortunately, when compiling I get these errors all the time. What can this be caused by and how to fix it?
error C3861: ‘print’: identifier not found
My code:
main.cpp
#include "pojazdy.h"
#include <iostream>
using namespace std;
int main()
{
Pojazdy** poj;
int size{ 0 }, index{ 0 };
Petla(poj, size);
print(poj, size);
wyrejestruj(poj,size,0);
print(poj, size);
wyrejestruj(poj,size);
return 0;
}
pojazdy.h
#ifndef pojazdy_h
#define pojazdy_h
#include <iostream>
#include <cstdlib>
using namespace std;
class Pojazdy
{
public:
string typ;
string marka;
string model;
string z_dod;
int ilosc;
int cena;
void dodaj();
void d_pojazd(Pojazdy**& pojazdy, int& size);
void wyrejestruj(Pojazdy**& pojazdy, int& size, int index);
void print(Pojazdy** pojazdy, int size);
void Petla(Pojazdy**& p, int& size);
//void wyswietl();
int get_ilosc() { return ilosc; }
string get_typ() { return typ; }
string get_marka() { return marka; }
string get_model() { return model; }
int get_cena() { return cena; }
void set_ilosc(int x);
};
#endif
pojazdy.cpp
#include "pojazdy.h"
#include <iostream>
using namespace std;
void Pojazdy::set_ilosc(int x) { ilosc = x; }
void Pojazdy::dodaj()
{
cout << "DODAWANIE POJAZDU..." << endl;
cout << "Podaj typ pojazdu:";
cin >> typ;
cout << "Podaj marke pojazdu: ";
cin >> marka;
cout << "Podaj model pojazdu: ";
cin >> model;
cout << "Dodaj cene pojazdu: ";
cin >> cena;
}
void Petla(Pojazdy**& p, int& size) {
char z_dod;// = 'N';
do {
d_pojazd(p, size); //odpowiada za dodawnie
p[size - 1]->dodaj();
cout << "Czy chcesz zakonczyc dodawanie? Jesli tak, wcisnij Y/N: ";
cin >> z_dod;
} while (z_dod == 'N' || z_dod == 'n');//while (p[size]->z_dod == "N" ||p[size]->z_dod == "n");
}
void print(Pojazdy** pojazdy, int size) {
std::cout << "====================================" << std::endl;
for (int i{ 0 }; i < size; i++)
std::cout << "Typ: " << pojazdy[i]->get_typ() << " Marka: " << pojazdy[i]->get_marka() << " Model: " << pojazdy[i]->get_model() << " Cena: " << pojazdy[i]->get_model() << std::endl;
}
void wyrejestruj(Pojazdy**& pojazdy, int& size) {
for (size_t i{ 0 }; i < size; i++)
delete pojazdy[i];
delete[] pojazdy;
size = 0;
pojazdy = NULL;
}
void wyrejestruj(Pojazdy**& pojazdy, int& size, int index) {
if (index < size) {
Pojazdy** temp = new Pojazdy * [size - 1];
short int j{ -1 };
for (size_t i{ 0 }; i < size; i++) {
if (i != index) {
j++;
temp[j] = pojazdy[i];
}
}
delete[] pojazdy;
--size;
pojazdy = temp;
}
else
std::cout << "Pamiec zwolniona!" << std::endl;
}
void d_pojazd(Pojazdy**& pojazdy, int& size) {
Pojazdy** temp = new Pojazdy * [size + 1];
if (size == 0)
temp[size] = new Pojazdy;
else {
for (int i{ 0 }; i < size; i++)
temp[i] = pojazdy[i];
delete[] pojazdy;
temp[size] = new Pojazdy;
}
++size;
pojazdy = temp;
}
I used #ifndef
, #define
, #endif
and #pragma once
, but none of them work. I will be really grateful for every code, I am already tired of this second hour. And forgive the non-English variables and function names for them — it’s university code, so I didn’t feel the need.
[COLOR=»Red»] Администрация , не ругайтесь сильно , тему с горяча создал в этом разделе , только сейчас осознал что есть более подходящий раздел , с радостью бы перенес сам , но к сожалению ваш форум не предоставляет таких функций рядовым формучанам ! =(
[/COLOR]
Короче , уперся в стену непонимания между мной и visual c++…
Начнем с начала , вдруг я чтото не так делаю , открываю visual c++, создаю новый проэкт , в данный момент «dsa» ( от балды) выбираю с++ консольное приложение win 32 , все , пишу программу….
вот код… !
Цитата:
#include <iostream>
int main()
{
float const PI=3.14;
float square;
float radius;
radius=4.8;
square=radius*radius*PI;
cout <<«If radius=» <<radius;
cout <<» square=» <<square <<endl;
return 0;
}
Запускаю , нажав кнопку «начать отладку» на панели задачь.. вылазят такие ошибки:
1>c:documents and settingsadminмои документыvisual studio 2008projectsdsadsadsa.cpp(12) : error C2065: cout: необъявленный идентификатор
2>c:documents and settingsadminмои документыvisual studio 2008projectsdsadsadsa.cpp(13) : error C2065: cout: необъявленный идентификатор
3>c:documents and settingsadminмои документыvisual studio 2008projectsdsadsadsa.cpp(13) : error C2065: endl: необъявленный идентификатор
ничего не понимаю , в универе вродебы как все работает , дома нихочет , проверял на 2008 , и на 2010 visual studio. Как боротся ? а то я с этой проблемой уже 3 пачки скурю…
заранее благодарю !
почему компилятор пишет что
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(61,2): error C3861: set_assign: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(62,2): error C3861: write_assign: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(68,2): error C3861: set_assign: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(69,2): error C3861: write_assign: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(71,7): error C3861: sum: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(74,2): error C3861: write_assign: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(76,7): error C3861: sub: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(79,2): error C3861: write_assign: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(81,7): error C3861: mul: идентификатор не найден
1>C:UsersUsersourcereposLaboratorka1Laboratorka1Source.cpp(84,2): error C3861: write_assign: идентификатор не найден?
#include <iostream>
//#include <conio.h>
using namespace std;
struct kom {
double real, image;
//private:
kom set_assign(double y1, double y2, kom& math)
{
math.real = y1;
math.image = y2;
return math;
}
void write_assign(kom math)
{
if (math.image >= 0) {
cout << math.real << "+" << math.image << "i";
}
else {
cout << math.real << math.image << "i";
}
}
kom sum(kom m1, kom m2)
{
kom m3;
m3.real = m1.real + m2.real;
m3.image = m1.image + m2.image;
return m3;
}
kom sub(kom m1, kom m2)
{
kom m3;
m3.real = m1.real - m2.real;
m3.image = m1.image - m2.image;
return m3;
}
kom mul(kom m1, kom m2)
{
kom m3;
m3.real = m1.real * m2.real;
m3.image = m1.image * m2.image;
return m3;
}
};
int main(void)
{
double y1 = 0;
double y2 = 0;
kom math1;
kom math2;
kom math3;
kom m1;
kom m2;
kom m3;
cin >> y1;
cin >> y2;
set_assign(y1, y2, math1);
write_assign(math1);
cout << endl;
cin >> y1;
cin >> y2;
set_assign(y1, y2, math2);
write_assign(math2);
m3 = sum(math1, math2);
cout << endl;
cout << "Sum:" << 'n';
write_assign(m3);
m3 = sub(math1, math2);
cout << endl;
cout << "Sub:" << 'n';
write_assign(m3);
m3 = mul(math1, math2);
cout << endl;
cout << "Mul:" << 'n';
write_assign(m3);
return 0;
}
Просто структура работала. Я внёс все функции внутрь структуры.