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 | Ìàãàçèí çà åëåêòðîííè öèãàðè