|
||||
|
|
|||||||
|
|
#1 (permalink) |
|
Yeni Üye
![]() Giriş Tarihi: 15-01-2008
Mesajlar: 33
Rep Puanı: 2375
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
(Dosyadan gelen illere ait milletvekili oyları ile ilgili bilgileri alıp, alınan bu oyları ekrana yazıran,iktidar ve muhalefet partisini bulan ve parti yüzdelerini v.b gibi hesaplayan güzel bi ödev. CodeBlock'ta hazırlanmıştır)
1 7 2648 3456 2345 4567 2367 3456 1256 7823 2 3 2345 1234 4532 1256 109 169 890 1245 ====> Dosya örneği!! 3 2 451 157 345 672 342 1009 2000 304 void oytoplam(int iloy[],int ilkontenjan,int ilMv[],int ulkeMv[]) { int t,max; for(t=0;t<=7;t++)// 8 il için for döngüsü ilMv[t]=0; for(t=1;t<=ilkontenjan;t++)// milletvekili kontenjanı için for döngüsü { max=maxoy(iloy);// max oyu bulan fonksiyon çağrılır iloy[max]=iloy[max]/2;//max oyu alan partinin oyu yarıya indirilir ilMv[max]++;// il için milletvekili sayısı arttırılır ulkeMv[max]++;// ülke için milletvekili sayısı arttırılır } } int maxoy(int oylar[]) { int t,maxdeger,maxoy; maxoy=0; maxdeger=0; for(t=0;t<=7;t++)// her il için max oy hesaplanır { if(maxdeger<oylar[t]) { maxoy=t; maxdeger=oylar[t]; } } return maxoy; } void oysıra(int oytop[],char parti[],int mvtop[]) { int t,a,gsayı,gsayı2; char gkarakter; for(t=0;t<=7;t++)// tüm partiler için { for(a=t+1;t<=7;a++) { if(oytop([a]>oytop[t])// ikinci toplm oy daha büyük ise { gsayı=oytop[a]; oytop[a]=oytop[t]; oytop[t]=gsayı; gsayı2=mvtop[a]; mvtop[a]=mvtop[t]; mvtop[t]=gsayı2; //milletvekili sayılarını değiştirir gkarakter=parti[a]; parti[a]=parti[t]; parti[t]=gkarakter;// parti isimlerini değiştirir } } } } void ilsonuc(int oytop[],int mvtop[];int ilsayı[],int topoy,int plakano,int kontenjan) // her il için bilgileri yazdırmak için { int k; char parti[8]={'A','B','C','D','E','F','G','H'}; float oyyüzdesi; oysıra(oytop,parti,mvtop); printf("\n\t\t\t~~~~~~~~%d plaka kodlu il için bilgiler~~~~~~~~~~\n\n",plaka); prinrf("Milletvekili kontenjan Sayisi: %4d\n",kontenjan); printf("Toplam oy sayisi: %3d\n\n",topoy); printf("\t\t oy sayisi\t Oy Yuzdesi\t Milletvekili sayisi\t\n"); printf("\t\_____________\t___________\t ____________\t\n"); for(k=0;k<=7;k++) { oyyuzdesi=(float)oytop[k]*100/topoy; //her il için ildeki toplam oy //ülkedeki toplam oy sayısına göre yüzdesi printf("%c Partisi: | %8d |\t %8.2f | %5d |\n",parti[k],oytop[k], oyyuzdesi,mvtop[k]); printf("------------|------------|------------|------------|\n"); } } void ulkesonuc(int oytop[],int mvtop,int ilsayisi[],int toppy,int kontenjan) // her il için bilgiler yazdırılır { int i,t; float oyyuzdesi,mvyuzdesi; char parti[8]={'A','B','C','D','E','F','G','H'}; oysira(oytopiparti,mvtop; ildegis(oytop,ilsayisi); printf("\n\n\t\t\t~~~~~~\n\n"); printf("Milletvekili Kontenjan Sayisi: %4d\n",kontenjan); printf["Toplam oy sayısı: %3d\n\n",topoy); printf("\n\t oy sayisi\t Oy Yuzdesi\t Mv Sayisi\t Mv Yuzdesi"); printf["\n\t __________\t____________\t____________\t__________ "); for (i=0;i<=7;i++) { oyyüzdesi=(float)oytop[i]*100/topoy; Mvyuzdesi=(float)mvtop[i]*100/kontenjan; printf("\n %c Partisi:| %8d | %8.2f | %7d | %10.2f |?n",parti[i], oytop[i],oyyuzdesi,mvtop[i],Mvyuzdesi); printf("-----------|------------|------------|----------|----------|"); } printf("\n\n %c Partisi Iktıdar Parti \t\t %c Partisi Ana Muhalefet partisi\n ",parti[0],parti[1]); for (t=0;t<=7;t++) { if (ilsayisi[t]!=0) printf("?n %c Partisi %d ilde birinci olmuştur.",parti[t],ilsayisi[t]); else break; } } int main() { int oy[PARTI]={0},iloy[PARTI]={0},ilmv[PARTI]={0}; int oytop[PARTI]={0},mvtop[PARTI]={0},ilsayisi[PARTI]={0}; int iltopoy=0,ulketopoy=0,plaka,ilkontenjan,ulkekonten jan=0,t; FILE*dosyaPtr; if((dosyaPtr=fopen("secim.dat","r"))==NULL) { printf(" 'secim.dat' Bulunamadı...."); system("pause"); } else { do { fscanf(dosyaPtr,"%d%d,&plaka,&ilkontenjan); iltopoy=0; ulkekontenjan=ulkekontenjan+ilkontenjan; for (t=0;t<=7;t++) { fscanf(dosyaPtr,"%d",&oy[t]); iloy[t]=oy[t], oytop[t]=oytop[t]+oy[t]; iltopoy=iltopoy+oy[t]; ulketopoy=ulketopoy+oy[t]; } oytoplam(iloy,ilkontenjan,ilmv,mvtop); ilsayisi[maxoy(oy)]++; ilsonuc8oy,ilmv,ilsayisi,iltopoy,plaka,ilkontenjan ); printf("Bir sonraki il icin bir tusa basınız\n"); getch(); } while(!feof(dosyaPtr)); ulkesonuc(oytop,mvtop,ilsayisi,ulketopoy,ulkekonte njan); fclose(dosyaPtr); return 0; system("pause"); } } |
|
|
|
![]() |
| Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz |
| Konu Araçları | |
|
|
ForumTR Mail'den Ücretsiz Bir Mail Almak veya Mail'inizi Okumak İçin Tıklayınız.
Almanya Vizesi | Rusya Vizesi | Ukrayna Vizesi | Fransa Vizesi | Vize İşlemleri | Almanya Otelleri | Tatil | Haberler | Telefon Santrali | Daily News
Sitemiz bir forum sitesi
olduğu için kullanıcılar her türlü görüşlerini önceden onay olmadan anında
siteye yazabilmektedir,
bu yazılardan dolayı doğabilecek her türlü sorumluluk
yazan kullanıcılara aittir,
yine de sitemizde yasalara aykırı unsurlar
bulursanız sikayet@frmtr.com email
adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede
gereken yapılacaktır.
Report Abuse, Harassment, Scamming, Hacking, Warez, Crack, Divx, Mp3 or any Illegal Activity to
abuse@frmtr.com