Urednost C++ koda

poruka: 9
|
čitano: 998
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Urednost C++ koda

Pozdrav, evo malo se bavim programiranjem i zanima me dali je ovaj kod ok sto se tice urednosti, a ako nije, zasto i kako ga poboljsati, dali ima kakvih nedostataka?

 


#include <iostream
#include <stdlib.h>
#include <string>
#include <vector>
#include <stdio.h>
#include <Windows.h>
using namespace std;

//*****************
int operation = 0;
//*****************

int start_countdown( int minutes, int seconds)
{

while (minutes != 0 || seconds != 0)
{

    if (minutes == 0 && seconds == 0)
    {
       break;
    }
    if(seconds != 0)
    {
    seconds = seconds - 1;
    Sleep(1000);
    if (seconds <10)
    {
    system("CLS");
    cout <<"Countdown: " << minutes << " : 0" << seconds << endl;
    }
    else
    {
    system("CLS");
    cout <<"Countdown: " << minutes << " : " << seconds << endl;
    }
    }
    else
    {
    minutes = minutes - 1;
    seconds = 60;
    }
}
    return 0;
}

int main()
{
    cout <<"Set operation: " << endl;
    cout <<"1. Countdown" <<endl;
    cin >> operation;
    if (operation == 1)
    {
      start_countdown(2,12);
    }

    system ("pause");
    return 0;
}

Poruka je uređivana zadnji put sri 29.12.2010 18:00 (kitolovac).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Urednost C++ koda

ja bih recimo maknuo { } između kojih je samo jedna naredba, i dosta includeova bi maknuo jer nisu potrebni (i fali ti jedna zagrada kod iostream)

 

I svakako kod onih if elseova ljepše poravnat da se vidi u kojem bloku je što, ovako se jako lako pogubit.

Npr ovako:

 

#include <iostream>
#include <stdlib.h>
#include <Windows.h>

using namespace std;

//*****************
int operation = 0;
//*****************

int start_countdown( int minutes, int seconds)
{

    while (minutes != 0 || seconds != 0)
    {        
       if(seconds != 0)
       {
          seconds = seconds - 1;
          Sleep(1000);
          if (seconds <10)
          {
              system("CLS");
              cout <<"Countdown: " << minutes << " : 0" << seconds << endl;
          }
          else
          {
              system("CLS");
              cout <<"Countdown: " << minutes << " : " << seconds << endl;
          }
       }
       else
       {
          minutes = minutes - 1;
          seconds = 60;
       }
    }
   
    return 0;
}

int main()
{
    cout <<"Set operation: " << endl;
    cout <<"1. Countdown" <<endl;
    cin >> operation;
    if (operation == 1)
      start_countdown(2,12);

    system ("pause");
    return 0;
}

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Poruka je uređivana zadnji put sri 29.12.2010 18:23 (Luuka).
14 godina
neaktivan
offline
RE: Urednost C++ koda

hvala, nego dali postoji mogucnost da se recimo kod skrati kako ili optimizira, ili je i ovako u redu? hvala!

16 godina
offline
Urednost C++ koda

Nije loše ali najvažnije je da kada počneš pisati kod jednim stilom, da ga se pridržavaš. Vidim da if-else izraze u main funkciji uvlačiš a u drugoj funkciji ne. Takođe koristi TAB za uvlačenje naredbe.

Demokratija je kada dvije budale imaju više prava nego jedan pametan.
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Urednost C++ koda

prvi if unutar whilea ti ne treba koliko vidim. Ako je to zadovoljeno neće se while ni zavrtit. Ostalo je mislim ok.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
15 godina
offline
RE: Urednost C++ koda

ja mislim da mu treba, jer ako ga nece biti, onda ce se petlja nastaviti izvrsavati i minute ce otici u minus (a to je nemoguce u stvarnosti, ne)

16 godina
neaktivan
offline
RE: Urednost C++ koda

Ima taj isti uvjet u whileu. Ako nije zadovoljen, petlja se prestaje izvršavati. Tako da je ovo bespotrebni if u svakom koraku petlje.

 

Da nema uvjeta u whileu (da ima recimo while(1) ) onda bi taj if imao znača. Ovako nema.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Poruka je uređivana zadnji put sri 29.12.2010 18:18 (Luuka).
15 godina
offline
RE: Urednost C++ koda

da, isprobao sam u pravu si, nisam razmisljao dobro

15 godina
offline
RE: Urednost C++ koda
kitolovac kaže...

hvala, nego dali postoji mogucnost da se recimo kod skrati kako ili optimizira, ili je i ovako u redu? hvala!

Evo ja sam jos malo skratio program pa ako te zanima...

#include <iostream>
#include <iomanip>
#include <conio.h>
#include <windows.h>

using namespace std;

void start_countdown( int minutes, int seconds)
{
     while (minutes || seconds)
     {
           --seconds;
           Sleep(1000);
           system("CLS");
           cout << "Countdown: " << setw(2) << setfill('0') << minutes
                << " : " << setw(2) << setfill('0') << seconds << endl;
          
           if (!seconds && minutes)
           {           
              --minutes;
              seconds = 60;
           }
     }
}

int main()
{
    cout << "Set operation: " << endl
         << "1. Countdown" << endl;
   
    if (getch() - 48 == 1)
      start_countdown(2,12);

    system ("PAUSE");
    return 0;
}

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice