Results 1 to 16 of 16
Thread: Ïîìîù C++
Hybrid View
-
27th May 2009 18:35 #1Registered 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.
-
27th May 2009 21:45 #2
Ñàìî ùå êàæÿ ñïîðåä ìåí êàê òðÿáâà äà ñòàíå.
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.
-
28th May 2009 14:16 #3Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14
À òåçè íåùà êúäå òî÷íî òðÿáâà äà ãè äîáàâÿ?
int îùå ãîðå êúäåòî ñå âúâåæäàò ïàðàìåòðèòå,à ïúê òîâà ñ îáõîæäàíåòî íà ôàéëà ñè å âå÷å äîëó... è çà ïðèòèðàíåòî êàê ùå ñòàíå
---------- Äîáàâåí ïîñëåäâàù êîìåíòàð â 14:16 ---------- Îðèãèíàëíèÿò êîìåíòàð å ïóñíàò â 11:20 ----------
Íå ìîãà äà òå ðàçáåðà.... áè ëè ãî íàïèñàë ïî- òî÷íî... è êîå êúäå òðÿáâà äà ñëîæà... àêî å âúçìîæíî...
-
28th May 2009 21:02 #4
Íå ñúì ìíîãî ÿñíî ñúñ ñèíòàêñèñà íà C/C++ ,òàêà ,÷å íå ñìÿòàì äà òå îáúðêâàì.
Ïðàâèø åäíà ïîäïðîãðàìà(ìåòîä) ïðèìåðíî int printBestTeam(){
//Êîäà ,êîéòî òè íàïèñàõ
return position;
}
êîÿòî ùå èçâèêàø âúâ main(ãëàâíàòà ôóíêöèÿ)
int position=printBestTeam();
-
29th May 2009 14:59 #5Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14
-
29th May 2009 15:03 #6
Âïðî÷åì êàòî ñå çàìèñëÿ èçîáùî ïîäïðîãðàìàòà(ìåòîäà) íå òðÿáâà äà âðúùà ðåçóëòàò,çàùîòî ñàìî ñå óñëîæíÿâà ïðîãðàìàòà ,à ðåçóëàòà ùå å åäèí è ñúù.
Ïðîñòî åäèí void printBestTeam(){
//Ïðèíòèðàø
}
main(){
printBestTeam()
}
-
29th May 2009 16:58 #7Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14
-
29th May 2009 23:08 #8
cout<<"Otbora ,koito ima nai-dobrata golova razlika e "<<otbor[position]<<" i tq e "<<golova_razlika;
-
30th May 2009 13:54 #9Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14
Íà òîâà 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)
Òîâà å åäèíñòæåíàòà ãðåøêà, êîÿòî ìè äàâà... èíà÷å íàïðàâèõ íåùàòà ïî ñëåäíèÿ íà÷èí:
Òîâà ïðåäè main, ñëåä òîâà :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
Òàêà ëè òðÿáâà äà ñòàíå èëè ñúì îáúðêàë íÿêúäå íåùî? Ïîíåæå ñ òîâà int32.Min ìè äàâàøå ïîñòîÿííî ãðåøêè èëè íå ñúì ãî ñëîæèë êúäåòî òðÿáâà...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;
Ñúæàëÿâàì, ÷å òå çàíèìàâàì, àìà â ÒÓ- Âàðíà ìíîãî íè ãúð÷àò
-
30th May 2009 14:37 #10
Ãðåøêàòà òè å, ÷å îïåðàòîðà << íåçíàå êàê äà ïðèíòèðà òàçè ñòðóêòóðà, òîåñò òðÿáâà äà ñè íàïèøåø ìåòîä PrintOtbori() è â íåãî äà ïðèíòèðàø âñÿêà ñòîéíîñò îò ñòðóêòóðàòà èëè äèðåêòíî áåç ìåòîä. È â äâàòà ñëó÷àÿ êîäà å ñëåäíèÿ:
cout << otbori[i].name << otbori[i].vkarani<< otbori[i].dopusnati << otbori[i].to4ki;
Êàïèø?
Äàíî íå ñè ÊÑÒ.
-
30th May 2009 16:11 #11Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14
Íå, ñïîêîéíî íå ñúì ÊÑÒ... ÊÒÒ ñúì
Ïî ïðèíöèï ìè å èíòåðåñíî äà ñå çàíèìàâàì, íî íå ìè îñòàâà êîé çíàå êîëêî ñâîáîäíî âðåìå... ìåðñè âñå ïàê
ñåãà ùå îïèòàì
---------- Äîáàâåí ïîñëåäâàù êîìåíòàð â 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;
-
30th May 2009 17:15 #12
òîâà íå å ãðåøêà - òîâà å 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
-
30th May 2009 17:25 #13
Å ìîé ÷îâåê (intenZive) òè íàïðàâî ìå ñðàçè. Íÿìàø ñè ãðàì ïðåäñòàâà êàêâî ïðàâèø. Êàêòî òè êàçà mitkohr â ìåòîäà çà íàìèðàíå íà íàé-äîáðèÿò îòáîð òè òðÿáâà öèêúë. Íç ïî-äîáðå ïðî÷åòè íÿêîè îñíîâíè íåùà è ïèòàé çà òÿõ, àêî íå ñè ðàçáðàë. Çàäà÷àòà ïîñëå ñàìà ùå ñòàíå. Òðÿáâà òè for öèêúë (ïðèìåðíî).
-
30th May 2009 19:55 #14Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14
Àéäå êàæåòå êàê äà íàïèøà òîÿ êîä... ÷å ìè ïèñíà âå÷å äà ñå ðîâÿ... êàêâî ëè íå ÷åòîõ, êàêâî ëè íå ïðàâèõ.... íàêðàÿ òðúãíà áåç ãðåøêè è ïðåäóïðåæäåíèÿ, àìà êàòî äàì äà ìè çèêàðà ãîëîâàòà ðàçëêà è ìè ïèøå âèíàãè 0 è íà èìåòî íà îòáîðà ìè èçïèñâà íÿêàêâè áóêâè è öèôðè...
-
30th May 2009 20:22 #15
Å ÷å çà 3 äíè è òè ïèñíà äà ñå ðîâèø ? Áåç ÷åòåíå è ðîâåíå íÿìà äà ñòàíåø ïðîãðàìèñò

!
-
30th May 2009 20:29 #16Registered User
Join Date: Jul:2007
Location: Bulgaria
Posts: 14




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè