AÇIKLAMA
Bu programda C veya C++ derleyicisinde lig maç skorları girişi ve puan tablosu (liderlik durumu) gibi parçaları bulunan bir futbol maç programı tasarlanmıştır. Lig programında ilgili maç skorları girildikten sonra sırasız olan kısımda takımların skor sonuçlarına göre verileri gösterilmektedir. Lig puan tablosu seçilirse veriler liderlik durumuna göre sıralanmaktadır. Program içindeki gets fonksiyonu konsoldan karakter dizisi(katar) okurken, atoi fonksiyonu ise karakter tipinde alınan rakamları tamsayı tipine çevirir. getchar fonksiyonu ise gets fonksiyonun scanf ile kullanılmasından dolayı oluşan hatayı ( ikisi birlikte kullanıldığında scanf fonksiyonu bir newline karakter oluşturuyor gets fonksiyonu da onu görüp kullanıcıdan veri almadan direk programa devam ediyor) önlemek amacıyla kullanılmıştır.
Program Kodu:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <conio.h> #include <stdio.h> int anamenu(); //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { String takimlar[10]={"Trabzonspor","Galatasaray","Besiktas","Fenerbahce","Sivasspor","Kayserispor","Ankaragucu","Antalyaspor","Malatyaspor","Bursaspor"}; int puandurumu[10]={0,0,0,0,0,0,0,0,0,0}; int averaj[10]={0,0,0,0,0,0,0,0,0,0}; char skor[3]; int takimbir,takimiki,birinci,ikinci; for(int i=0;i<3;i++) skor[i]=' '; int averaji; int donecezmi; while((donecezmi=anamenu())!=3) { if(donecezmi==1) { for(int i=0;i<10;i++) scanf("%d",&takimbir); getchar(); scanf("%d",&takimiki); getchar(); gets(skor); int skor1=atoi(&skor[0]); int skor2=atoi(&skor[2]); if(skor1>skor2) { averaji=skor1-skor2; puandurumu[takimbir-1]+=3; averaj[takimbir-1]+=averaji; averaj[takimiki-1]-=averaji; } else if(skor2>skor1) { averaji=skor2-skor1; puandurumu[takimiki-1]+=3; averaj[takimiki-1]+=averaji; averaj[takimbir-1]-=averaji; } else if(skor1==skor2) { puandurumu[takimbir-1]+=1; puandurumu[takimiki-1]+=1; } for(int i=0;i<10;i++) }//ilk if if(donecezmi==2) { int puansiralamasi[10]; String takimsiralamasi[10]; int takimaveraji[10]; for(int z=0;z<10;z++) { puansiralamasi[z]=puandurumu[z]; takimsiralamasi[z]=takimlar[z]; takimaveraji[z]=averaj[z]; } for(int i=0;i<10;i++) { for(int j=i+1;j<10;j++) { if(puansiralamasi[i]<puansiralamasi[j]) { String temp=takimsiralamasi[i]; takimsiralamasi[i]=takimsiralamasi[j]; takimsiralamasi[j]=temp; int gecici=puansiralamasi[i]; puansiralamasi[i]=puansiralamasi[j]; puansiralamasi[j]=gecici; int tampon=takimaveraji[i]; takimaveraji[i]=takimaveraji[j]; takimaveraji[j]=tampon; } else if(puansiralamasi[i]==puansiralamasi[j]) { if(takimaveraji[i]<takimaveraji[j]) { String temp=takimsiralamasi[i]; takimsiralamasi[i]=takimsiralamasi[j]; takimsiralamasi[j]=temp; int gecici=puansiralamasi[i]; puansiralamasi[i]=puansiralamasi[j]; puansiralamasi[j]=gecici; int tampon=takimaveraji[i]; takimaveraji[i]=takimaveraji[j]; takimaveraji[j]=tampon; } } } } for(int i=0;i<10;i++) } //ikinci if } //while getche(); return 0; } //--------------------------------------------------------------------------- int anamenu() { int secim; scanf("%d",&secim); getchar(); return secim; } //---------------------------------------------------------------------------