Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pocetnik Code Pomoc

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pocetnik Code Pomoc

[ Pregleda: 2964 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rastafarix
Nojko Nabiguz
Balkan

Član broj: 153808
Poruke: 2
*.adsl.net.t-com.hr.

Jabber: Jabber????
ICQ: 2147483647
Sajt: www.youporn.com


Profil

icon Pocetnik Code Pomoc12.08.2007. u 08:46 - pre 203 meseci
Code:

#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
int main() {
    int br;
    char ime_radnika[br][13];
    char prezime_radnika[br][20];
    int staz[br];   float placa[br];
    cout<<"Zelite li izmjeniti uneseno ili unijeti novo?"<<endl;
    cout<<"1. Novo"<<endl;
    cout<<"2. Izmjeniti"<<endl;
    cout<<"-> ";
    int choice;
    cin>>choice;
    if(choice==2) {
                  char vatfajl[20];             //OVO NEMA NIKAKVE FUNKCIJE
                cout<<"Upisi ime fajla kojeg ocesh otvoriti : ";
                  cin>>vatfajl;
                  ifstream izlaznitok(vatfajl);
                  if(!izlaznitok) {
                                  cout<<"Ne mogu otvoriti fajl!! "<<vatfajl<<endl;
                                  cin.get();
                                  }
                                   }
                                  
    if(choice==1) {
    cout<<"------------------------------------"<<endl;
    cout<<"BROJ RADNIKA: ";
    cin>>br;
    static float uk_placa=0;
    for(int i=0;i<br;i++)
    {
            cout<<endl<<i+1<<". radnik IME: ";
            cin>>ime_radnika[i];
            cout<<endl<<i+1<<". radnik PREZIME: ";
            cin>>prezime_radnika[i];
            cout<<endl<<i+1<<". radnik STAZ: ";
            cin>>staz[i];
            cout<<endl<<i+1<<". radnik PLACA: ";
            cin>>placa[i];
            uk_placa=uk_placa+placa[i];
            cout<<"------------------------------------"<<endl; }
            char g;
            cout<<"Zapisati informacije u fajl?"<<endl<<"y/n"<<endl;
            cin>>g;
            if(g=='y')
            {
                      char *love=("kn");  
                      char b[30];
                      cout<<"Ime fajla: ";
                      cin>>b;
                      ofstream ulaznitok(b);
                      for(int n=0; n<br;n++) {
                        ulaznitok<<endl<<n+1<<". radnik IME: ";
            ulaznitok<<ime_radnika[n];
            ulaznitok<<endl<<n+1<<". radnik PREZIME: ";
            ulaznitok<<prezime_radnika[n];
            ulaznitok<<endl<<n+1<<". radnik STAZ: ";
            ulaznitok<<staz[n];
            ulaznitok<<endl<<n+1<<". radnik PLACA: ";
            ulaznitok<<placa[n]<<" "<<love;
            ulaznitok<<endl<<"------------------------------------";  
            }
              ulaznitok<<endl<<"Ukupna placa koju morash dati radnicima je "<<uk_placa<<" kn";
              cout<<"Zapishano u fajl!";
            fflush(stdin);
            cin.get();
            }
}
}

Ovo sam napisao za zajebanciju i vjezbu.
Imam knjigu demistificirani c++ i dosao sam do funkcija.
1.Mozete li napisati kod kako bi ovaj program bio kraci?
2.Neznam Kako napisati odlomak za izmjenu informacija if(choice==2),
3.Zashto varijabla tipa float placa kada upisem npr broj 2.300 dava samo 2.3, a inace ako nisu 0 normalno ispise npr, 2.345??
Ajdemo gledati ona sranja od domacih sapunica pa skociti kroz prozor od muke!!!!!! :))))))))))
 
Odgovor na temu

Sephiroth?
Balkan @ net

Član broj: 79406
Poruke: 82
*.bi2.dlp394.bih.net.ba.



Profil

icon Re: Pocetnik Code Pomoc22.12.2007. u 22:09 - pre 198 meseci
Zanimljivo je da postoji tema sa 1000+ pregleda a bez odgovora...
Zar nitko nije mogao nista napisati korisno?

Ako netko naleti na ovakvo nesto, mislim da je poprilicno korisno da vidi i sta ne valja, a to je, pa vecina koda, bez uvrede za autora :)

1.) Uzasna citljivost

Kod bi trebao biti dosta pregledniji. Prvo je nepregledan zbog same konstrukcije programa, pa tek onda zbog loseg nacina pisanja koda.
Ociti primjer:

Code:

if(choice==2) {
                  char vatfajl[20];             //OVO NEMA NIKAKVE FUNKCIJE
                cout<<"Upisi ime fajla kojeg ocesh otvoriti : ";
                  cin>>vatfajl;
                  ifstream izlaznitok(vatfajl);
                  if(!izlaznitok) {
                                  cout<<"Ne mogu otvoriti fajl!! "<<vatfajl<<endl;
                                  cin.get();
                                  }
                                   }
                                  
    if(choice==1) {


je uzasno! Nakon malo korekcije:

Code:

if(choice==2) 
 {  
  cout<<"Upisi ime fajla kojeg ocesh otvoriti : ";
  
  char vatfajl[20];
  cin>>vatfajl;
  ifstream izlaznitok(vatfajl);
  
  if(!izlaznitok) 
   {
    cout<<"Ne mogu otvoriti fajl!! "<<vatfajl<<endl;
    cin.get();
   }
  }
                                  
if(choice==1) 
 {
  .
  .
  .
itd...

Najvece zamjerke: imena i tipove varijabli stavljati u posebne redove. Pomocu space-a odmaknuti dijelove koda, znaci umjesto:

Code:

cout<<"izlaz"<<endl;


staviti:

Code:

cout << "izlaz" << endl;

Nakon citanja par ovakvih linija covjek izgubi zelju za zivotom...

2.) Los izbor strukture grananja

Probaj umjesto if (ovo) else ono pa if (ono2) koristiti

Code:

switch (..)
 {
  case (..) :
  case (..):
   . 
   . 
   .
  default(..): 
}


Pa onda taj switch staviti u neku while petlju koja ce u ovome slucaju obavljati dati zadatak sve dok korisnik ne unese znak za prekid rada (moze biti neki znak sa tastature).

3.) imenovanje varijabli

je za zivo cudo poprilicno ok. Osim :) nemoj koristiti kojekakve varijable br, g, c itd. koje su nejasne. Stavi: trenutni_unos ili broj_radnika, nema veze da li je varijabla "nevazna".



Ostale greske su manje primjetne (na prvi pogled), ne bi ih objasnjavao, ali definitivno treba prepraviti cijeli program. Obavezno barem koristiti funkcije. Pozeljno OOP (naravno osnove samo radi vjezbe). Treba pocinjati kako treba od pocetka...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pocetnik Code Pomoc

[ Pregleda: 2964 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.