Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++]Ocena pierwszego programu :)


Rekomendowane odpowiedzi

Opublikowano

Witam was, zrobiłem mój pierwszy program działający pod Windows, jest on napisany w C++, zwie się uwaga: Kalkulator :)

Uczę się C++ od wczoraj chyba trochę łapię, inaczej bym tego nie napisał ;P, Oceńcie ten program w sakli od 1 do 10, zważając, że to mój pierwszy program, a C++ uczę się łącznie 4h! Piszę temat drugi raz, bo tamten został zamknięty, bo nie dałem skanu i kodu źródłowego oto kod:

 

 

#include <iostream>
#include <windows.h>
#include <math.h>
#include <conio.h>
using namespace std;
int main(void)
{
   for(int i=100000; i=10000; i++)

  {

   float a;
   float b;
   std::cout << "liczba a: ";
   std::cin.clear();
   std::cin.sync();
   std::cin >> a;
   std::cout << "liczba b: ";
   std::cin.clear();
   std::cin.sync();
   std::cin >> b;

   std::cout << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6);

   std::cout<< a << "+" << b <<"= " << a + b << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);

   std::cout<< a << "*" << b <<"= " << a * b << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);

   std::cout<< a << "/" << b <<"= " << a / b << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4);

   std::cout<< a << "-" << b <<"= " << a - b << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5);

   std::cout<< a << " to " << a / b * 100 << "% z " << b << std::endl;

   std::cout << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6);

   std::cout<< b << "+" << a <<"= " << b + a << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 8);

   std::cout<< b << "*" << a <<"= " << b * a << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);

   std::cout<< b << "/" << a <<"= " << b / a << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4);

   std::cout<< b << "-" << a <<"= " << b - a << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5);

   std::cout<< b << " to " << b / a * 100 << "% z " << a << std::endl;

   std::cout << std::endl;
   std::cout << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 3);

   cout << "Pierwiastek " << 2 << " stopnia z liczby " << a << " = " << pow(a, 0.5) << std::endl;
   std::cout << std::endl;

   cout << "Pierwiastek " << 2 << " stopnia z liczby " << b << " = " << pow(b, 0.5) << std::endl;

   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
   std::cout << std::endl;
   std::cout << std::endl;
   std::cout << std::endl;
   std::cout << std::endl;
  }
   return 0;
}


 

 

Opublikowano

Bardzo ładnie jak na 4h nauki, nie wiem jaki jest już twój stopień wiedzy, ale przypuszczając że to twój pierwszy taki projekt to oceniam na 5, wodotrysków nie ma, ale wiadomo, z biegiem czasu poznasz nowe tajniki i będziesz tworzył co raz to lepsze i przydatniejsze aplikacje, i mam takie pytanko, z czego uczysz się C++ ?

Bo jeżeli z Symfoni C++ Standard to bardzo prosiłbym cię o zeskanowanie kilku stron lub całego tomu i spakowanie w formie pdf bądź obrazów jpeg skana, ja uczę się z megatutoriala 'Od zera do gier kodera', a wiadomo że z miesiąca na miesiąc standardy C++ się zmieniają :P

screenshot_10.jpg


Opublikowano

ja takie cos po 30 min robilem...

[list]
[*][url="http://www.mpcforum.pl/topic/435586-tutreje-na-nostaleth/"]Mój tut rejestracji na Tajlandzkim nostale[/url]
[*][url="http://www.mpcforum.pl/topic/639995-tutwszystko-o-kartach-specjalisty/page__pid__4604876#entry4604876/"]Wszystko o kartach specialisty[/url]
[/list]

Opublikowano

Po co piszesz funkcje razem z "std::", skoro na początku programu zadeklarowałeś się, że będziesz używał tej przestrzeni nazw? Po prostu możesz wyrzucić std:: sprzed nazw funkcji.

 

Zamiast:

int main(void)

 

Mogłeś napisać po prostu:

 

int main()

 

To nie C ;).

 

for(int i=100000; i=10000; i++)

 

Nie wiem po co ta pętla i skąd to wziąłeś :P. Jak chciałbyś zapętlić w nieskończoność, wystarczyło zrobić tak:

for(;

albo:

while(true)

 

#include <conio.h>

 

To jest zbędne, bo nie używasz funkcji getch().

 

 

To tyle ode mnie, musisz się jeszcze dużo nauczyć. Minie sporo czasu zanim zrozumiesz C++ :).


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Z std:: wiedziałem co piszę na początku, ale wolałem się upewnić, że będzie działać.

Z int main(void) i int main() też zastanawiałem się, bo z tym czy bez tego działało tak samo, ale chciałem, żeby było dobrze, nwm czy to coś zmienia.

Pętli się jeszcze nie uczyłem, znalazłem jakąś, która się powtarzała 255 razy pokazując wszystkie kolory, i z niej zgapiłem :)

Opublikowano

Nie wiem po co ta pętla i skąd to wziąłeś :P. Jak chciałbyś zapętlić w nieskończoność, wystarczyło zrobić tak:

 

Akurat for( ; ; )jest IMO bardziej eleganckie B)

mjut.png
Weteran
Opublikowano

Akurat for( ; ; )jest IMO bardziej eleganckie B)

Kompilator tą waszą elegancją co najwyżej się podetrze. I tak i tak zrobi z tego goto B)

Opublikowano

Nie słuchaj leSStera - przestrzenie nazw i ich stosowanie to bardzo dobry pomysł, zwłaszcza że w zasadzie nie napiszesz się dużo(IDE zazwyczaj pomaga, ew. walnij se jakieś makra) a zawsze będzie to o jeden WTF mniej.

Ładnie, nie powiem zazdroszczę tak szybkiego pojmowania(przynajmniej w tej początkowej, najtrudniejszej fazie), o ile rzeczywiście sam to napisałeś...

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

@UP ja nie zabraniałem mu używania nazw, tylko po prostu zwróciłem uwagę na to czemu używa std:: i using namespace jednocześnie :)


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);

 

A to co i skąd to wziąłeś? Wątpię, żeby w zwykłym tutorialu takie coś Ci pokazywali. Ponadto źle się uczysz, idź w jakość a nie szybkość.

 

Tutaj IMO lepszy kalkulator:

http://www.mpcforum.pl/topic/702054-poczatek-kariery-z-c-czkawka-aka-mega-amator/

Smutek to skutek chęci w kontekście skutku

raczej niefrasobliwej wzglądu o treści zgryźliwej

ma postać walca co jeździ nam po palcach.

Opublikowano

@UP widziałem, że na konsoli da się wyświetlać kolory, a więc wpisałem w google C++ textcolor

W 100% od podstaw sam pisałem ten program.

 

Aha.

Tutaj trochę zgrabniejszy kod:

#include <iostream>
#include <windows.h>
#include <math.h>
#
#define KLR(a) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), a)
#define AB(znak) a << znak << b << "= "
#define BA(znak) b << znak << a << "= "
using namespace std;
int main()
{
   for(;
   {
    KLR(7);
    float a, b;
    cout << "liczba a: ";
    cin >> a;
    cout << "liczba b: ";
    cin >> b;
    cout << "\n"; // DZIALANIE A ? B
	    KLR(6);
	    cout << AB("+") << a+b << "\n";
	    KLR(8);
	    cout << AB("*") << a*b << "\n";
	    KLR(2);
	    cout << AB("/") << a/b << "\n";
	    KLR(4);
	    cout << AB("-") << a-b << "\n";
	    KLR(5);
	    cout << a << " to " << a/b*100 << "% z " << b << "\n";

    cout << "\n"; // DZIALANIE B ? A

	    KLR(6);
	    cout << BA("+") << b+a << "\n";
	    KLR(8);
	    cout << BA("*") << b*a << "\n";
	    KLR(2);
	    cout << BA("/") << b/a << "\n";
	    KLR(4);
	    cout << BA("-") << b-a << "\n";
	    KLR(5);
	    cout << b << " to " << b/a*100 << "% z " << a << "\n";
    cout << "\n";
	    KLR(3);
	    cout << "Pierwiastek " << 2 << " stopnia z liczby " << a << " = " << pow(a, 0.5) << "\n";
	    cout << "Pierwiastek " << 2 << " stopnia z liczby " << b << " = " << pow(b, 0.5) << "\n\n\n";
   }
}

Smutek to skutek chęci w kontekście skutku

raczej niefrasobliwej wzglądu o treści zgryźliwej

ma postać walca co jeździ nam po palcach.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...