Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

проблем със с++

Featured Replies

искам да попитам имам проблем със с++ която и версия да инстлаирам почти винаги когато отворя задача която сме правили в училище ми казва че не може да отвори библиотеките или няма такова нещо като cout<< . първо мислех че е от версийте ама вече си мисля че аз пропускам нещо.. сигурно въпроса е доста глупав но потърсих в разни форуми и не можах да намеря. е ще се радва на идеи :clap:

Аз не се сещам за версия на C++, в която да е нямало cout. Дай някакъв конкретен пример и какви грешки ти дава за него.

На каква среда работите в училище и имаш ли идея нещата, които учите за за коя версия на C++ се отнасят (кой стандарт на езика или коя конкретна реализация)?

Последните версии на различните компилатори би трябвало вече да спазват ISO стандартите (каквито преди 1998 нямаше за C++) и съответно основните неща да работят що годе еднакво (поне на теория :baby:) Какво си пробвал досега като инсталации? За какви операционни системи ти трябва? Може, например, да пробваш GNU компилатора - g++ версии 4.x. Работи на много платформи и е безплатен.

Но първо прати пример, за да ти кажем дали върви на конкретен компилатор и евентуално с какви модификации ще върви. Имам предположение какви може да са ти били досегашните проблеми. Следната програмка работи под g++ 4.0.2:

#include <iostream>

int main()

{

		std::cout << "Hello world!" << std::endl;

		return 0;

}
Алтернативно може, за да не пишеш всеки път това std:: (namespace-ът, в който са декларирани тези обекти), да обявиш предварително къде да търси компилаторът обектите, ако не са в глобалния namespace.
using namespace std;

или

using std::count;

using std::endl;

....

cout << "Hello world!" << endl;

....

В някои по-старите реализации на езика май няма поддръжка на namespaces (всичко се вижда "глобално") и съответните header файлове за стандартните библиотеки завършват с ".h" (#include <iostream.h>); такива *.h стандартни header файлове за обратна съвместимост се поддържат и в по-новите версии на езика.

  • Автор

ами в училище ползваме 3.1 версия обаче тази която изтеглих нещо не ми изглежда същата.. по принцип задачата за факториел ни изглежда горе долу така :

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <dos.h>

#include <iomanip.h>

void main(void)

{

int x,n,i;

cout<<"n=";

cin>>n;

i=1;

x=1;

while (i<=n) {x=x*i;i++;};

cout<<x;

cin.get();

cin.get();

}

твойте са малко по различни сигурно за това g 4.хх. пробвах да напиша и по твоя начин за библиотеките и cout но нещо не стана ,а и работя на уиндоус ... и не знам как да разбера на кой компилатор е sad.gif направо съм отчаяна ще взема да ги изтегля всички накрая пък който тръгне

nightcrolwer, на BC 3.1 след инсталацията трябва да посочиш пътищата до директория include, bin и 0rest (те където си инсталирала програмата). А това ставаше от някое от менютата не се сещам точно, после избираш directories ..

И ти препоръчвам да си изтеглиш Dev C++.

Предложението за настройка за include директориите изглежда доста обещаващо. Не знам как стоят нещата с BC++ 3.1, но по принцип се настройват и lib директории за използваните библиотеки. Ако продължаваш да имаш неприятности - може ли да постнеш какви точно съобщения за грешка получаваш?

При мен твоята програмка се компилира без проблем след като отрязах излишните (и нестандартни) header файлове и модифицирах main да връща int. Пробвай при теб да видиш дали така ще тръгне:

#include <iostream.h>

#include <iomanip.h>


int main()

{

		int x,n,i;

		cout<<"n=";

		cin>>n;

		i=1;

		x=1;

		while (i<=n) {x=x*i;i++;};

		cout<<x;

		cin.get();

		cin.get();


		return 0;

}
Това трябва да върви под всякакви C++ компилатори (може би с евентуални минимални корекции) - стига да са инсталирани коректно. Иначе в оригиналния си вид дава следните грешки:
In file included from /usr/include/c++/4.0.2/backward/iostream.h:31,

				 from demo3.cpp:1:

/usr/include/c++/4.0.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecat ed or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard.  Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the d eprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

demo3.cpp:3:19: error: conio.h: No such file or directory

demo3.cpp:5:17: error: dos.h: No such file or directory

demo3.cpp:7: error: ‘::main’ must return ‘int’

Да си свалиш "всички" версии не е толкова лоша идея - после ще имаш възможност да експериментираш и да сравняваш кое къде и как работи и в крайна сметка да си избереш това, което ти е най-удобно (стига да имаш време да се занимаваш и достатъчно дисково пространство :P)

В Интернет има доста информация по въпроса, но ето някои примерни компилатори които вървят под Windows:

* GNU g++ - има го например в пакета Cygwin (работи се от команден ред).

Dev C++ също е базирана на g++ среда

* MS Visual C++ (напоследък се появи и безплатен вариант) -

* Borland C++, Borland C++ Builder... За мен VC++ е по-добър от продуктите на Borland. Това, което представлява интерес е безплатният компилатор (command-line)

  • Автор

е благодаря ви много като потърсих в опшънс се оказа че папките ги търси в д а те са ми в е :) сега всичко си върви направо съм на 7мото небе колко се мъчих не е истина. мерси дивак май от твйте два поста разбрах повече за компилаторите от колкото до сега в училище cool.gif a за dev дали ще ми работят програмите на него в смисъл не се ли пишат по по различен начин от колкото на борланд 3.1

Редактирано от nightcrolwer (преглед на промените)

Да, има вероятност програми, които вървят под Borland C++ 3.1, да не вървят под Dev C++. Това се отнася главно за случаите, в които ползваш разни специфични за BC++ 3.1 библиотеки - например тези от conio.h, dos.h (виждаш какви грешки ми дава за тях g++ - от Dev C++ може да очакваш същото).

Това важи и в обратната посока - BC++ 3.1 е доста старичък и сигурно не поддържа някои по-нови конструкции и стандартни функции от C++ езика.

Изводът е, че когато имаш избор, е добре да избягваш разните специфични за даден компилатор библиотеки и конструкции (да не говорим за конструкции, които синтактично са еднакви, но действат различно...). Например, не пречи да ползваш int main...{..return 0;} вместо void main - така ще може с по-малко модификации да компилираш програмата с повече компилатори.

  • Автор

ей благодаря много за ценните съвети :yanim: ще го видя ози дев, но ако е много различен едва ли ще ми послужи, поне не за домашното ми

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.