Results 1 to 16 of 16

Thread: C++

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14

    C++

    ! :
    :
    ) "" : , , , .
    ) - ( )

    , ) . , ... , ...
    , ,
    :

    #include <iostream> //deklarirame nujnite ni biblioteki za programata
    #include <fstream>
    #include <string>
    #include <conio.h>
    #define N 20

    using namespace std;

    int total=0; //promenliva total,koqto sochi za nachalniq broi otbori


    struct otbor { //suzdavame struktura i deklarirame promenlivite
    char name[40];
    int vkarani;
    int dopusnati;
    int tochki;
    } otbori[500],tempotbor;

    void dobavqne(); //dobavqme nov otbor
    void pokazvane(); //pokazvame vsichki otbori do momenta
    int search_otb(char tmpfak[10]); //tusim otbor
    void refreshfile(); //iztrivame vsicho ot faila i go zapisvame na novo
    void showotb(int st); //pokazvame dannite na daden otbor
    void spravka_otbor(); //spravka za otbor


    int loaded=0; //dali sme zarejdali purvonachalno ot fail

    int main()
    {
    if(!loaded)
    {
    //zarejdame ot fail purviq put kato puskame programata
    fstream f ;
    f.open("DATA.dat",ios::in|ios::binary);

    if(f.is_open()) //chetem ot faila
    {
    int tmp=0;
    while(f.read(reinterpret_cast<char *>(&otbori[tmp++]),sizeof(otbor)));

    total=tmp-1;
    }


    f.close();

    //otbelqzvame che veche sme zaredili ot faila za da ne zarejda pak
    loaded=1;
    }

    int a;
    while(1) //pokazvame menuto
    {
    system("cls"); //izchistvame ekrana
    system("color 4e"); //cvqt na teksta

    cout<<endl<<endl;
    cout<<"------Profesionalna futbolna liga------"<<endl;
    cout<<endl<<endl;
    cout<<endl<<"*************************** ******************";
    cout<<endl<<"*\t MENU *";
    cout<<endl<<"*\t1.Dobavqne na nov otbor *";
    cout<<endl<<"*\t2.Pokazvane na vsichki otbori *";
    cout<<endl<<"*\t3.Spravka za otbor *";
    cout<<endl<<"*\t4.Izhod *";
    cout<<endl<<"*************************** ******************";
    cout<<endl<<"\n Molq Napravete Vashiqt izbor: ";

    cin>>a;

    switch(a)
    {
    case 1: dobavqne(); break; //izvikvame suotvetnata funkciq
    case 2: pokazvane(); break;
    case 3: spravka_otbor(); break;
    case 4: exit(1); break;
    }

    }
    return 1;
    }

    void pokazvane()
    {
    if(!total) //proverqva za sustoqnieto na total,ako e ravno na nula - nqma vavedeni
    {
    cout << "\n\n\tNqma vuvedeni otbori";
    }

    else //ili pokazva vsichki otbori
    {
    cout << "\n\n\tPokazvane na vsichki otbori ";
    for(int i=0;i<total;i++) //operator,s koito obhojdame vsichki nalichni zapisi
    {
    showotb(i); //pokazvame dannite za vsichki otbori
    }
    }

    getch(); //zadurjame informaciqta,za da e vidima ot potrebitelq
    }

    void dobavqne()
    {
    cout << "\n\n\tDobavqne na otbor "<<(total+1); //dobavqme otbor,kato pronemlivata total narastva


    cout << "\n\n\tIme na otbor: "; //vuvejdame danni za otbora
    fflush(stdin); //chistim pametta na bufera
    gets(otbori[total].name); //chrez stringove izvlichame imeto na otbora


    cout<<"\n\tVkarani golove: ";
    fflush(stdin);
    cin >>otbori[total].vkarani; //chrez stringove izvlichame vkaranite golove


    cout<<"\n\tDopusnati golove: ";
    fflush(stdin);
    cin >> otbori[total].dopusnati; //chrez stringove izvlichame dopusnatite golove


    cout<<"\n\tTochki: ";
    fflush(stdin);
    cin >> otbori[total].tochki; //chrez stringove izvlichame tochkite na otbora


    //funkciq za zapisvame vuv fail

    fstream f;

    f.open("DATA.DAT",ios:ut | ios::app);

    if(!f.is_open()) {cout << "\n\tGreshka pri otvarqne na faila!";return;}


    f.write(reinterpret_cast<char *>(&otbori[total]),sizeof(otbor));

    f.close();

    //uvelichavame obshtiq broi otbori
    total++;
    }

    void showotb(int st) //pokazvame dannite na otbora,otgovarqsht na zadadenite kriterii
    {
    cout << "\n\n\tOtbor "<<(st+1); //poreden nomer na otbora

    cout << "\n\n\tIme: "<< otbori[st].name; //pokazva imeto na otbora
    cout<<"\n\tVkarani golove: " << otbori[st].vkarani; //pokazva vkaranite golove
    cout<<"\n\tDopusnati golove: " << otbori[st].dopusnati; //pokazva dopusnatite golove
    cout<<"\n\tTochki: " << otbori[st].tochki; //pokazva broq tochki na otbora

    }


    void refreshfile()
    {
    fstream f;

    f.open("DATA.DAT",ios:ut | ios::trunc);
    if(!f.is_open()) {cout << "\n\tGreshka pri otvarqne na faila!";return;}

    for(int i=0;i<total;i++)
    {
    f.write(reinterpret_cast<char *>(&otbori[i]),sizeof(otbor)); //zapisvame vsichki otbori vuv faila
    }

    f.close();
    }

    int search_otb(char tmpfak[10])
    {
    for(int i=0;i<total;i++)
    {
    if(!strcmp(tmpfak,otbori[i].name)) //sravnqvame imenata na otborite s turseniq edin po edin
    {
    return i;
    }
    }

    return -1;
    }

    void spravka_otbor()
    {
    char tmpfak[50]; //suzdavame si nova promenliva ot tip char
    cout << "\n\n\tSpravka za otbor";
    cout << "\n\n\tVuvedete ime na otbor: "; //vavejdame imeto na otbora,po koeto she tursim

    fflush(stdin); //chistim bufera ot tekushtata informaciq
    gets(tmpfak);

    int foundpos=-1; //nova promenliva za turseneto tekushtata spravka

    foundpos = search_otb(tmpfak);

    if(foundpos==-1) //ako ne nameri suvpadenie izliza informaciqta
    {
    cout << "\n\n\tNe beshe nameren otbor!";
    getch();
    return;
    }


    cout << "\n\n\tPokazvane na otbor ";
    showotb(foundpos); //pokazvane na otbor

    getch();
    }
    Last edited by intenZive; 27th May 2009 at 18:59.

  2. #2
    Registered User bombov's Avatar
    Join Date: Jan:2007
    Location:
    Posts: 260
    .

    int golova_razlika=Int32.Min( , ).
    int position=0;
    int suma=0;
    :
    suma=otbor[i].vkarani_golove-otbor[i].dopusnati_golovi;
    if(golova_razlika>suma)
    {
    golova_razlika=suma;
    position=i;
    }
    golova_razlika+ otbor[position];
    Last edited by bombov; 27th May 2009 at 22:34.

  3. #3
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    Quote Originally Posted by bombov View Post
    .

    int golova_razlika=Int32.Min( , ).
    int position=0;
    int suma=0;
    :
    suma=otbor[i].vkarani_golove-otbor[i].dopusnati_golovi;
    if(golova_razlika>suma)
    {
    golova_razlika=suma;
    position=i;
    }
    golova_razlika+ otbor[position];
    ?
    int , ...

    ---------- 14:16 ---------- 11:20 ----------

    .... - ... ... ...

  4. #4
    Registered User bombov's Avatar
    Join Date: Jan:2007
    Location:
    Posts: 260
    C/C++ , , .

    () int printBestTeam(){
    // ,
    return position;
    }

    main( )
    int position=printBestTeam();

  5. #5
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    Quote Originally Posted by bombov View Post
    C/C++ , , .

    () int printBestTeam(){
    // ,
    return position;
    }

    main( )
    int position=printBestTeam();
    ... ....

  6. #6
    Registered User bombov's Avatar
    Join Date: Jan:2007
    Location:
    Posts: 260
    () , , .

    void printBestTeam(){
    //
    }

    main(){
    printBestTeam()
    }

  7. #7
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    Quote Originally Posted by bombov View Post
    () , , .

    void printBestTeam(){
    //
    }

    main(){
    printBestTeam()
    }
    ... ...

  8. #8
    Registered User bombov's Avatar
    Join Date: Jan:2007
    Location:
    Posts: 260
    cout<<"Otbora ,koito ima nai-dobrata golova razlika e "<<otbor[position]<<" i tq e "<<golova_razlika;

  9. #9
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    Quote Originally Posted by bombov View Post
    cout<<"Otbora ,koito ima nai-dobrata golova razlika e "<<otbor[position]<<" i tq e "<<golova_razlika;
    otbor[position] :

    C:\Documents and Settings\intenZive\Desktop\Kursova\Kurso va.cpp(202) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'struct otbor' (or there is no acceptable conversion)

    , ... :

    Code:
    void dobavqne();				//dobavqme nov otbor
    void pokazvane();				//pokazvame vsichki otbori do momenta
    int search_otb(char tmpfak[10]);	//tusim otbor
    void refreshfile();				//iztrivame vsicho ot faila i go zapisvame na novo
    void showotb(int st);			//pokazvame dannite na daden otbor
    int printBestTeam();			//pokazvane na otbor s nai- dobra golova razlika
    main, :

    Code:
    int printBestTeam()
    { 
    	int golova_razlika;
    	int position=0;
        int sum=0;
    	int i=0;
    	
    
    		
    		sum=otbori[i].vkarani-otbori[i].dopusnati;
            if(golova_razlika>sum) 
    		{
                golova_razlika=sum;
                position=i;
    		}
    		cout<<"Otbora ,koito ima nai-dobrata golova razlika e "<<otbori[position]<<" i tq e "<<golova_razlika; 
    		
    
    
    	return position;
    ? int32.Min ...
    , , -

  10. #10
    Registered User 's Avatar
    Join Date: Feb:2006
    Location:
    Posts: 653
    , << , PrintOtbori() . :
    cout << otbori[i].name << otbori[i].vkarani<< otbori[i].dopusnati << otbori[i].to4ki;
    ?
    .

  11. #11
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    Quote Originally Posted by View Post
    , << , PrintOtbori() . :
    cout << otbori[i].name << otbori[i].vkarani<< otbori[i].dopusnati << otbori[i].to4ki;
    ?
    .
    , ... , ...

    ---------- 16:11 ---------- 15:08 ----------

    :C:\Documents and Settings\intenZive\Desktop\Kursova\Kurso va.cpp(197) : warning C4700: local variable 'golova_razlika' used without having been initialized, :

    Code:
    int printBestTeam()
    { 
    	int golova_razlika;
    	int position=0;
        int sum=0;
    	int i=0;
    		
    		sum=otbori[i].vkarani-otbori[i].dopusnati;
            if(golova_razlika>sum) 
    		{
                golova_razlika=sum;
                position=i;
    		}
    		cout<<"Otbora ,koito ima nai-dobrata golova razlika e "<<
    			cout << otbori[i].name << otbori[i].vkarani<< otbori[i].dopusnati << otbori[i].tochki
    			<<" i tq e " << golova_razlika; 
    		
    
    
    	return position;

  12. #12
    Registered User mitkohr's Avatar
    Join Date: Jul:2001
    Posts: 1,361
    - warning. golova_razlika if-a 0.
    printBestTeam() . - otbori.
    Gigabyte X570 Aorus Elite, AMD Ryzen 7 5800X@PBO+200, Noctua NH-D15, 2x16GB G.Skill F4-3600C17D-32GTZR, Palit GeForce RTX 4070 Ti GameRock Classic, 2x Sandisk Extreme II 240GB (not in RAID)+WD 320GB AAKS + WD40EZRZ + Toshiba X300 6GB, Cooler Master HAF 922, CORSAIR 750W CX

  13. #13
    Registered User 's Avatar
    Join Date: Feb:2006
    Location:
    Posts: 653
    (intenZive) . . mitkohr - . - , . . for ().

  14. #14
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    ... ... , .... , 0 ...

  15. #15
    Darknauss's Avatar
    Join Date: Mar:2005
    Location: Sofia/Vienna
    Posts: 2,151
    3 ? !

  16. #16
    Registered User
    Join Date: Jul:2007
    Location: Bulgaria
    Posts: 14
    Quote Originally Posted by Darknauss View Post
    3 ? !
    , ... ...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 . .
iskamPC.com | mobility.BG | Bloody's Techblog | | 3D Vision Blog |