Премини към съдържанието

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

r0ssk0o

Тази книга ще ми помогне ли ?

Препоръчан отговор


Здравейте аз съм на 14 имам намерения да се занимавам с програмиране и мисля да уча C++ ,но нямам никаква прецтава как защо и такаива..какво мислите за тази книга : http://www.book.store.bg/p21706/programirane-na-s-chast-pyrva-magdalina-todorova.html дали ще мога да разбера нещо?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Книгата,която искаш да прочетеш не е написано за начинаещи. И затова ако искаш да научиш програмиране от нулата тази книга (Програмиране на С++. Част първа) не е за теб.

На Бисерка Йовчева и Ирина Иванова има една книга "Първи стъпки в програмирането на C/C++", тя е много добра за начинаещи. Подробно е обяснено как да пишем, компилираме, тестваме , дебъгваме кода си.

Публикувано изображение

Публикувано изображение

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не е нужно да купуваш книги. Ето един много добър сайт за научаване на езика: http://www.cplusplus.com/

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не е нужно да купуваш книги. Ето един много добър сайт за научаване на езика: http://www.cplusplus.com/

Не е нужно да лъжеш хората...

Редакция: Малко рязко беше. Само че само от този сайт C++ няма да научиш и ще ти останат съществени дупки в знанията, както забелязваш...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Книгата,която искаш да прочетеш не е написано за начинаещи. И затова ако искаш да научиш програмиране от нулата тази книга (Програмиране на С++. Част първа) не е за теб.

На Бисерка Йовчева и Ирина Иванова има една книга "Първи стъпки в програмирането на C/C++", тя е много добра за начинаещи. Подробно е обяснено как да пишем, компилираме, тестваме , дебъгваме кода си.

Публикувано изображение

Публикувано изображение

имаш ли идея от кой сайт да сия поръчам ?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не е нужно да лъжеш хората...

Редакция: Малко рязко беше. Само че само от този сайт C++ няма да научиш и ще ти останат съществени дупки в знанията, както забелязваш...

Не лъжа хората.

Modedit : моля, недейте приканва хората към нарушаване на закона - да теглят произведения защитени с авторски права !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не лъжа хората.

Затова се поправих. Но от поста ти изглеждаше, че може да научи C++ само от този сайт, което не е вярно.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не е нужно да лъжеш хората...

Редакция: Малко рязко беше. Само че само от този сайт C++ няма да научиш и ще ти останат съществени дупки в знанията, както забелязваш...

Този сайт е много добро начало http://www.learncpp.com/

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

C++ Primer Plus, Accelerated C++ и др.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Аз ти препоръчвам Практичен самоучител C и Практичен самоучител C++

Автор: Хърбърт Шилдт

Български издател: СофтПрес

Издател на оригинала: Osborne

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Аз ти препоръчвам Практичен самоучител C и Практичен самоучител C++

Автор: Хърбърт Шилдт

Български издател: СофтПрес

Издател на оригинала: Osborne

Колега, много програмисти, които са в час с материята, не препоръчват книгите на Хърбърт Шилдт като въведение в програмиране на C++.

Не съм програмист, но поне такива коментари открих в нета.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Колега, много програмисти, които са в час с материята, не препоръчват книгите на Хърбърт Шилдт като въведение в програмиране на C++.

Не съм програмист, но поне такива коментари открих в нета.

Точно обратното съм чувал!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Точно обратното съм чувал!

Произволен цитат от нета.

I started off with "C++: A Beginner's Guide" by Herbert Schildt. Now I've learnt that the general consensus is that Schildt teaches bad practices.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма нужда да спорите за това коя книга на какви практики учи. В общия случай аз не съм видял една която да учи изцяло на добри практики. Например в никоя книга не съм видял да пишат (0 == x) вместо (x == 0) което е много дребно, просто и очевидно нещо, спестяващо брутални грешки в петък вечер...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма нужда да спорите за това коя книга на какви практики учи. В общия случай аз не съм видял една която да учи изцяло на добри практики.

Например в никоя книга не съм видял да пишат

(0 == x)

вместо

(x == 0)

което е много дребно, просто и очевидно нещо, спестяващо брутални грешки в петък вечер...

Аз мисля, че това е така, защото стойността се присвоява за "x".

P.S. обърках знака с присвояване, в случая е равно, но според мен, логиката е същата.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Аз мисля, че това е така, защото стойността се присвоява за "x".

P.S. обърках знака с присвояване, в случая е равно, но според мен, логиката е същата.

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

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Много просто е, ако изпуснете без да искате едното равно - това се е случвало в даден момент на всеки, второто ще се компилира и което е по-лошо, даже може и да работи в някои случаи, оставяйки бомба със закъснител. Първото ще изгърми с грешка при компилация. Това е нещо дребно, не коства нищо да се прави, а доказано е мнооого полезно. Има десетки такива "дребни" нещица (нарочно избрах най-дребното), които не ги пише никъде а могат да ти спестят много мъка

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добре ,но в край на сметка коя,каква книга да взема?Аз съм напълно начинаещ ама на 100% нямам грам прецтава какви кодове какви простотии и тем подобни.но пък имам желание за това като за начало ми препоръчайте някоя книга от която да разбера нещата.И все пак съм на 14 години Благодаря Предварително

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

имаш ли идея от кой сайт да сия поръчам ?

Книгата не се продава online, но я има в книжарниците :)

Публикувано изображение

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма нужда да спорите за това коя книга на какви практики учи. В общия случай аз не съм видял една която да учи изцяло на добри практики.

Например в никоя книга не съм видял да пишат

(0 == x)

вместо

(x == 0)

което е много дребно, просто и очевидно нещо, спестяващо брутални грешки в петък вечер...

Доколко това е добра практика е малко спорно.

Лично аз не я харесвам, защото:

  • изказът е неестествен и по-труден за четене. В повечето естествени езици структурата на изречението е „подлог, сказуемо, допълнение“. При този начин на писане имаме „допълнение, сказуемо, подлог“, което е обратното на това, което мозъкът очаква. Неслучайно тази практика е известна като „Yoda conditions“ (въпреки че изказът на Йода е по-скоро „подлог, допълнение, сказуемо“).
  • един код се чете много повече пъти и време, отколкото се пише. Затова е особено важно да е лесно четим. След време може би донякъде се привиква на този изказ, но си мисля, че това привикване би довело и до неща, като например да се пише for (int i = 0; 10 > i; i++)...
  • сравненията с константа са по-малко или най-много съпоставими по брой със сравненията с друга променлива. А тогава този метод не би помогнал, тоест сме далеч от тотално избягване на този проблем.
  • компилаторите имат възможност да откриват такива грешки и да извеждат предупреждение за това. Нещо повече, те могат да откриват грешката и в случаите на сравнение с друга променлива. Ненужно е да правим кода си по-трудно четим, след като имаме механизъм за справяне с този тип грешки.
  • лично аз нямам спомен скоро да съм правил такъв тип грешка. Струва ми се, че се случва рядко.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

да се пише for (int i = 0; 10 > i; i++).......

...

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

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Та какво мислите за тази книга ще ме въведе ли Първи стъпки в програмирането на C/C++

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

изказът е неестествен и по-труден за четене.

Ами с това се свиква бързо. for примерът не ми се струва аналогичен. Освен това защо е неестествен - ами защото навсякъде пишат сравненията с константа подредени така. Което за мен е лошо обучение, защото самата операция е комутативна и не мога да си представя защо да прочета а == b е различно от b == a

компилаторите имат възможност да откриват такива грешки и да извеждат предупреждение за това. Нещо повече, те могат да откриват грешката и в случаите на сравнение с друга променлива. Ненужно е да правим кода си по-трудно четим, след като имаме механизъм за справяне с този тип грешки.

Да, но това си е валидна конструкция и може да искаш да я използваш нарочно и понякога прави кода по-четим. Така че не е правилно да се прави на грешка, а ако е предупреждение, лесно може да се пропусне.

лично аз нямам спомен скоро да съм правил такъв тип грешка. Струва ми се, че се случва рядко.

Тук си напълно прав и това е най-коварното - хората понякога спират да внимават. Имахме един случай такъв, в който присвоената стойност (идваше от хардуер), само веднъж на няколко часа работа беше грешна. И това водеше до грешно поведение в съвсем друга част на кода....

Аз не казвам че предложеният ми метод е идеален, казвам че употребата му е полезна.

Идеално би било в C/C++ оператора за присвояване да е малко по-различен - да кажем като Паскал...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

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

Тук зависи от школата. В новите практики променливите се дефинират при първа употреба и колкото може по-локални.

Така както Test42 го написа i-то съществува само в цикъла, тоест само където се ползва. Иначе си признавам доброволно, че и аз си дефинирам променливите в началото на блока. Но пък не отричам предимствата на "дефинирай, когато ползваш" стила.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

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

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

  • Горещи теми в момента

  • Подобни теми

    • от georgi999
      здравейте приятели може ли някой да ми каже как мога да създам десктоп приложение с джава и каква програма да си изтегля на която да се пише, и каква да бъде темата на приложението ,благодаря предварително 

    • от m.dimitrov98
      Здравейте, имам ето това задание:
      Големи числа се наричат цели положителни числа с К цифри. Големите цели числа могат да се представят с помощта на линеен едносвързан списък, всеки елемент на който съдържа точно една цифра от числото. Дадени са две големи цели числа N1 и N2 (до 100 цифри). Да се напишат програмни фрагменти за :
                a. Представяне на числата чрез списъци;
                b. Сумиране на две големи цели числа.
      Бях го направил с две функции create1 и create2 и две променливи N1 и N2, но професорката иска да е само един и колкото числа искам да въведа толкова пъти да извикам един и същ create. Опитах по този начин но при започване на въвеждането на второто число програмата блокира. Бих бил благодарен ако някой помогне.
      Ето и до къде съм стигнал.
       
       
      #include <iostream> using namespace std; struct chislo{ int N; chislo* next; }; typedef chislo* Point; Point Head; void Create(Point &Head) { Point Last, P; Last=NULL; int brc=0; int br=0; cout<<"Колко цифри ще е числото?: "; cin>>br; while (brc != br) { P = new chislo; brc++; cout << brc <<" цифра на числото: "; cin >> P->N; P->next=NULL; if (Head == NULL) Head = P; else Last->next = P; Last = P; } } void Traverse(Point P){ cout<<"Числото е:"; while (P !=NULL) { cout<<P->N; P = P->next; } cout<<endl; } int main() { system("chcp 1251"); Point Head = NULL; Create(Head); Create(Head); Traverse(Head); Traverse(Head); }  
    • от Georgi Kirchev
      Здравейте , дадоха ми да правя курсова задача по Визуално програмиране , но не мога да я направя , а имам срок до четвъртък - 10.01.2019 
      програмираме със Visual Studio 2010/13 на MFC Standart , Single Document 
      Ще съм изключително благодарен , ако някой успее да ми помогне. 

      Условието е следното: 
      Да се състави еднодокументно приложение с архитектура документ - изглед.
       - Добавете бутон който трябва да активира функцията , както и елемента Hello от менюто 
       - Добавете контекстно-ориентирано меню към програмата , което използва падащо меню Help като скрито

      Във файл да се съхраняват и четат данни, които да се въвеждат чрез диалогова кутия , която се вика чрез 
       - ляв бутон на мишката.
       - опция от менюто .
       - клавишни ускорители.
       - бутон от инструменталната лента.
      В диалоговата кутия да има:
       - текстово поле за въвеждане на текст.
       - рамка със списък за шрифтове.
       - групова рамка.
       - бутон за приключване.

      Предварително благодаря , ако някой се захване да ми окаже помощ. 
       
    • от lullabies
      Съставете програма с меню за избор на функция за:
      a)       Въвеждане от клавиатурата в масив и файл /чрез допълване/ данните за К  вложители в банка /К<=50/: име BLV USD EURO. Извеждане текущото съдържание на масива /файла/ на екран
      b)      Извеждане на справки за
      -          Вложител по въведено име /със запитване на нова справка – диалогова процедура/
      -          Всичко вложители с обща сума на влогове /в лева/ над зададена и според текущите курсове на валутата
      c)       Пренареждане на данните за вложители във възходящ ред според влоговете в USB /или  EURO или BLV – по избор/ и извеждането им на екрана
      Главната функция main – с меню за избор на функция задължително да се използва. Използване на главни променливи или функции с предаване на параметри – по избор.
    • от mitkow173
      Добър вечер, колеги! Трябва ми малко помощ с една задача на C++   
      Програма с функция main() и избор чрез меню на функции за: 
      • Въвеждане от клавиатура на размерност (с проверка за коректност) и елементи на масив от цели числа AM(K) (K <= 30); 
      • Изчисляване на средно-аритметичното от числата в масива, които се делят без остатък на 6; 
      • Изчисляване на сумата на различните от нула числа и броя на нулевите числа в масива; 
      • Намиране на максималното отрицателно число в масива и неговия пореден номер; 
      • Извеждане на екран на резултатите от съответното изчисляване, както и на въведените числа в масива (с подходящи текстове). 
       
      #include <iostream>
      using namespace std;
      const K = 30;
      double F[K];
      int N;
      void input();
      void average();
      void sum0();
      void menu();
          void main();
      {
              menu();
      }
          void input()
          {
              int i;
              do
              {
                  cout << "Vavedete razmernost na masiva ne poveche ot 30" << endl;
                  cin >> N;
              } while (N<1 || N>30);
              for (i = 0; i<N; N++);
              {
                  cout << "Vavedete element na masiv" << i + 1 << endl;
                  cin >> F;
              }
          }

          void average()
          {
              double sum;
              double m;
              int    i;
              int br = 0;
              for (int i = 0; i<N; i++)
                  m = F % 6;
              if (m == 0);
              sum += F;
              br++;
              cout << "Sredno aritmetichnoto na chislata v masiva koito se delqt bez ostatuk na 6" << sum / br << endl;
          }
          void sum0()
          {
              int i;
              int sum;
              int br = 0;
              for (i = 0; i<N; i++);
              if (F != 0)
                  sum += F;
              else
                  br++;
              cout << "Sumata na razlichnite chisla ot nula" << sum << endl;
              cout << "Broq na nulevite chisla v masiva e " << br << endl;
          }
          void maxn()
          {
              double min;
              int i;
              int n;
              for (i = 0; i<N; i++);
              if (F<0 && min>F);
              {
                  min = F;
                  n = i;
              }
              cout << "Maximalnoto otricatelno chislo v masiva e" << min << endl;
              cout << "Poredniqt mu nomer e" << n << endl;
          }
          void menu()
          {
              int izbor;
              do{
                  cout << "1.Vavejdane na razmernost na masiva i negovite stoinosti" << endl;
                  cout << "2.Izchislqvane na sredno aritmetichno ot chislata ,koito se delqt bez ostatuk na 5" << endl;
                  cout << "3.Izchislqvane na sumata na razlichnite ot nula chislq i broq na nulevite chisla" << endl;
                  cout << "4.Namirane na maksimalnoto polojitelno chislo i negoviqt poreden nomer" << endl;
                  cout << "5.Krai na programata" << endl;
                  cin >> izbor;
                  while ((izbor<1) || (izbor>5))
                      switch (izbor)
                  {
                      case 1:
                      { cout << "Vavejdane na chisla:" << endl;
                      input();
                      }break;
                      case 2:
                      {cout << "Sredno aritmetichno na chislata koito se delqt bez ostatuk na 5" << endl;
                      average();
                      }break;
                      case 3:
                      {cout << "Sumata na razlichnite ot nula chislq i broq na nulite:" << endl;
                      sum0();
                      }break;
                      case 4:
                      {cout << "Maksimalnoto polojitelno chislo i negoviq nomer" << endl;
                      maxn();
                      }break;
                      case 5:
                      {cout << "Krai na programata" << endl;
                      return;
                      }break;
                  }while (1);
              }
      Докарал съм я до някъде, но ми дава грешка и немога да я намеря 
      Благодаря предварително !!! 
       
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.