Thread Closed 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
C++ primjeri
Author Message
Mr.JA Offline
Novi korisnik
*

Posts: 58
Joined: Jul 2008
Reputation: 0
Post: #1
C++ primjeri
molio bih da svi stavljamo primjere rada u C++ koji znamo,,, da se usavršavamo..
evo ja ću prvi:
Code:
/*
    ovo je program gdje se trazi najveci zajednicki djeljitelj izmedu 2 broja
*/
#include <iostream>
using namespace std;
int main ()
{
    int a, b, t;
    printf("Unesite prvi broj: ");
    scanf("%d", &a);
    printf("Unesite drugi broj ");
    scanf("%d", &b);
    while (a>0)
    {
          if (a<b)
          {
                  t = a;
                  a = b;
                  b = t;
           }
           a -= b;
    }
  
     printf("Najveci zajednicki djeljitelj je %d.\n", b);
     system("pause");
     return 0;
}

... sad je na vama red
(This post was last modified: 24-07-2008 11:38 PM by Mr.JA.)
24-07-2008 08:22 PM
Find all posts by this user
Len0 Offline
Forumaš
***

Posts: 303
Joined: Mar 2007
Reputation: 3
Post: #2
RE: primjeri
Ja mislim da bi bolje bilo da neko postavlja zadatke, pa onda da ih zajedno rijesavamo(u slucaju da je tezi).Happy

["hip","hip"]
(hip hip array!)
25-07-2008 10:22 AM
Find all posts by this user
Mr.JA Offline
Novi korisnik
*

Posts: 58
Joined: Jul 2008
Reputation: 0
Post: #3
RE: primjeri
dobra ideja.... može, šta se mene tiče
25-07-2008 11:54 AM
Find all posts by this user
Gogy Offline
____
*

Posts: 2,379
Joined: Feb 2006
Post: #4
RE: C++ primjeri
Dogovoreno. Ja sam za takav topic. Iako ja nisam znalac c++, znam neke osnovne stvari, ali volim ovakve topice.

Dakle, ovako ćemo:

Pravila
Neka netko postavi neki zadatak. U njemu mora navesti sve podatke kako program mora funkcionirati i napisati otrpilike koji je nivo težine zadatka. Kategorizirat ćemo ih sa ovim oznakama: početni, srednji, napredni i ekspert.

Riješeni zadaci se nagrađuju reputacijskim bodovima. (zadaci moraju biti riješeni na drugačiji način od prethodnog rješenja nečijeg)

Početni - 1 bod
Srednji - 2 boda
Napredni - 3 boda
Ekspert - 4 boda

Zadatak ne smije riješiti onaj tko ga je postavio, tj. može ga riješiti samo u slučaju ako drugi članovi ne daju rješenje kroz tjedan dana.

Čak i početni zadaci moraju biti složeniji od samo korištenja varijabli, ispisa, jednostavnih operacijskih radnji s varijablama, if, else i switch naredbi.

Pravila foruma | Twitter - Facebook - Google+ |
25-07-2008 04:11 PM
Visit this user's website Find all posts by this user
Gogy Offline
____
*

Posts: 2,379
Joined: Feb 2006
Post: #5
RE: C++ primjeri
PRVI ZADATAK

Nivo: srednji
Zadatak: Treba napraviti program koji će u određenom folderu imati mogućnost izlistavanja njegovih fajlova, preimenovanje fajlova, te brisanje fajlova.

Pravila foruma | Twitter - Facebook - Google+ |
26-07-2008 09:42 AM
Visit this user's website Find all posts by this user
Len0 Offline
Forumaš
***

Posts: 303
Joined: Mar 2007
Reputation: 3
Post: #6
RE: C++ primjeri
Preko console ili napraviti program sa GUI? Ako moze u consoli onda ce to biti jedan veoma rudimentaran file menager. Happy

["hip","hip"]
(hip hip array!)
26-07-2008 10:32 PM
Find all posts by this user
Gogy Offline
____
*

Posts: 2,379
Joined: Feb 2006
Post: #7
RE: C++ primjeri
konzole, svi primjeri su za konzolu ako nije drugačije navedeno.

Pravila foruma | Twitter - Facebook - Google+ |
26-07-2008 11:20 PM
Visit this user's website Find all posts by this user
schmrz Offline
____
*

Posts: 567
Joined: Feb 2007
Post: #8
RE: C++ primjeri
Rijesenje za prvi zadatak:

Samo jos da napomenem da kada budete koristili komande cd i rd nazive foldera pisite bez backslash simbola na kraju npr:

Code:
Pogresno: cd folder_1\
Tacno: cd folder_1

Pogresno: rd C:\put\do\foldera\
Tacno: rd C:\put\do\foldera

Osim ako kucate root neke particije npr C:\ D:\, onda morate staviti backslash na kraju.

Code:
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <sys/stat.h>

using namespace std;

void pomoc();
vector<string> razdvoji(string cmd);
void proc(string cmd, string *w_dir);


int main(int argc, char* argv[]){
    string izbor;
    string radniDir("C:\\");
    cout << "Zadatak1 - www.tutorijali.net\n";
    cout << "Autor: schmrz\n";
    cout << "Ukucajte ""pomoc"" (bez navodnika) za listu naredbi\n";

        while (izbor != "exit"){
            cout << radniDir << "::";
            getline(cin, izbor);
            proc(izbor, &radniDir);
        }
    return 0;
}

void pomoc(){
    cout << "dir\t\t - izlistaj fajlove i foldere\n";
    cout << "rd [putanja]\t - promijeni radni direktorij (puna putanja)\n";
    cout << "cd [folder]\t - promijeni radni direktorij\n";
    cout << "rm [fajl]\t - izbrisi fajl u radnom direktoriju\n";
    cout << "rn [naziv_stari] [naziv_novi]t - preimenuj fajl u radnom direktoriju\n";
    cout << "pomoc\t\t - ispisi ovaj tekst\n";
}


vector<string> razdvoji(string cmd){
    vector<string> rez;
    stringstream ss(cmd);
    string temp;

    while (ss >> temp){
        rez.push_back(temp);
    }
    
    return rez;
}

void proc(string cmd, string *w_dir){
    vector<string> komanda;
    string komanda_m;
    struct stat st;
    
    if(cmd != "exit"){
        
        komanda = razdvoji(cmd);
        
            if(komanda.size() >= 1){
                if(komanda[0] == "rm"){
                    cmd = "del " + *w_dir + komanda[1];
                    system(cmd.c_str());
                }
                else if(komanda[0] == "rn"){
                    if(komanda.size() >= 2){
                        cmd = "rename " + *w_dir + komanda[1] + " " + komanda[2];
                        cout << cmd << endl;
                        system(cmd.c_str());
                    }
                }
                else if(komanda[0] == "rd"){
                    if (stat(komanda[1].c_str(), &st) == 0){
                        if(komanda[1].substr(komanda[1].size() - 1) == "\\"){
                            *w_dir = komanda[1];
                        }
                        else {
                            *w_dir = komanda[1] + "\\";
                        }
                    } else {
                        cout << komanda[1] << " ne postoji!\n";
                    }
                }
                else if(komanda[0] == "cd"){
                    komanda_m = *w_dir + komanda[1];
                    if (stat(komanda_m.c_str(), &st) == 0){
                        *w_dir = *w_dir + komanda[1] + "\\";
                    } else {
                        cout << komanda_m << " ne postoji!\n";
                    }
                }
                else if(komanda[0] == "dir"){
                    komanda_m = "dir " + *w_dir;
                    system(komanda_m.c_str());
                }
                else if(komanda[0] == "pomoc"){
                    pomoc();
                }
                else
                {
                    cout << "Naredba nepoznata!\n";
                }
                    
                
            
            } else {
                cout << "Netacno formatirana naredba!\n";
            }
    }
}

I have no drinking problems. I drink. Get drunk. Fall down. NO PROBLEM
Registered As Linux User #484215
Moj skromni blog
Savjet za buduće programere: ovdje
27-07-2008 03:41 PM
Find all posts by this user
Gogy Offline
____
*

Posts: 2,379
Joined: Feb 2006
Post: #9
RE: C++ primjeri
Bravo SchmRz, ide rep +2. Ako netko riješi zadatak sa istom funkcionalšću a sa manje koda SchmRzu oduzimamo 1 rep a sljedećem autoru dajemo +2. Svi ostali koji naprave zadatak drugačijim kodom dobivaju +1

(osim ako ne predložite drugačija pravila igre)

Pravila foruma | Twitter - Facebook - Google+ |
27-07-2008 08:14 PM
Visit this user's website Find all posts by this user
Puž Offline
Redoviti posjetitelj
**

Posts: 132
Joined: Mar 2007
Reputation: 25
Post: #10
RE: C++ primjeri
Evo da se i ja uključim..... _SchmRz_ fora ti je kod Palac-gore, al ovi IF-ovi mi se ne svidjaju.... Da ja delam ovaj zadatak ja bih se ovak nekak postavil:
Code:
////////////////////////////////////////////////////////////
/*
tvorac, kreator i odgajatelj:puž
odabrao:Đelo Hađiselimović
*/
#define velicina(funkcija) (sizeof funkcija / sizeof funkcija[0])

#include<string>
#include<iostream>

using namespace std;
////////////////////////////////////////////////////////////
class funkcija
{
      public:      
      string naredbaStr;
      string funkcijaStr;

      funkcija(string naredbaStr2, string funkcijaStr2)
      {
             naredbaStr=naredbaStr2;
             funkcijaStr=funkcijaStr2;
      }
      void izvrsiFunkciju(string parametri)
      {
           string temp_fun= funkcijaStr + " " + parametri;
           system(temp_fun.c_str());
      }      
};
////////////////////////////////////////////////////////////
int main()
{
     ////////////////////////////
     //tu dodas naredbu ak hoces!
     funkcija naredbe[]=
     {
              funkcija("Listanje ","dir"),
              funkcija("Promjena Imena <ime> <promjena>","ren"),
              funkcija("Brisanje Fajla <ime>","del")
     };
     ///////////////////////////
     while(1)
     {
             int velicinaNiza=velicina(naredbe);
    
             for(int i=0;i<velicinaNiza;i++)
             {
                     cout<<i+1 << "."<< naredbe[i].naredbaStr <<"\n";
             }
             char funChr[50];
             string funStr;
             int funInt;

             cout<<"\n";
             cout<<"Odaberite Željenu funkciju (nula za povratak):";
             gets(funChr);

             sscanf(funChr,"%d",&funInt);
             if(funInt==0) break;
             funInt--;
    
             funStr=funChr;                
    
             string param="";
             if(funStr.size()>=2)
             {
                      param=funStr.substr(2,funStr.size());
             }
             naredbe[funInt].izvrsiFunkciju(param);
     }
     return(0);
}
////////////////////////////////////////////////////////////
03-08-2008 07:25 PM
Find all posts by this user
Thread Closed 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)