captive
Admin
Mesaj Sayısı : 1304
Yaş : 34
Nerden : istanbul
Kayıt tarihi : 29/10/08
|
Konu: c++ ornek program Ptsi Ara. 15, 2008 3:00 pm |
|
|
arkadaslar c++ sınavına çalışırken kafamda şöle bi soru oluşturdum
girmek istedigimiz ogrenci sayısı kadar ogrenci gircek,eger ogrenci numaraları aynı iki ogrenci girilirse son ogrenciye ait numara ve isimin girilmesini baştan isticek 2 vize notu ve 1 final notunu finalin %60 ı vize ortalamasınında %40 ını alarak en son sınıf geçme notunu hesaplıcak ve program sonunda bunları büyükten küçüge dogru sıralıcak, bole bi soru oluşturmuştum çalışmak için buda çözümü
daha degişik yazan olursa bu programı konu altına yazsın farklı çözümlerle kendimizi geliştirelim.
- Kod:
-
#include <stdio.h> #include <conio.h> #include <string.h> main(){ int ogrno[100],vize1[100],vize2[100],final[100],y_ogrno,x,y,ogrencisayisi; char ogr_isim[100][100],y_ogr_isim[100]; float sonuc[100],yedek; printf("kac ogrenci giriceksiniz ? ");scanf("%d",&ogrencisayisi); for(x=1;x<=ogrencisayisi;x++){ dongu: printf("\n%d.ogrenci numarasi = ",x);scanf("%d",&ogrno[x]); printf("%d.ogrenci adi/soyadi = ",x);scanf("%s",ogr_isim[x]); printf("%d.ogrenci 1.vize = ",x);scanf("%d",&vize1[x]); printf("%d.ogrenci 2.vize = ",x);scanf("%d",&vize2[x]); printf("%d.ogrenci final = ",x);scanf("%d",&final[x]); for(y=1;y<=ogrencisayisi;y++){ if(y!=x){ if(ogrno[x]==ogrno[y]){ printf("\nbu ogrenci girilmis \n lutfen tekrar giriniz...."); goto dongu; } }else{ } } } for(x=1;x<=ogrencisayisi;x++){ sonuc[x]=(vize1[x]+vize2[x])/2; sonuc[x]=(sonuc[x]*0.4)+(final[x]*0.6); } for(x=1;x<=ogrencisayisi;x++){ for(y=x+1;y<=ogrencisayisi;y++){ if(sonuc[x]<sonuc[y]){ yedek=sonuc[x]; sonuc[x]=sonuc[y]; sonuc[y]=yedek; strcpy(y_ogr_isim,ogr_isim[x]); strcpy(ogr_isim[x],ogr_isim[y]); strcpy(ogr_isim[y],y_ogr_isim); y_ogrno=ogrno[x]; ogrno[x]=ogrno[y]; ogrno[y]=y_ogrno; } } } for(x=1;x<=ogrencisayisi;x++){ printf("\n%d nolu %s %f ortalamasini almistir.",ogrno[x],ogr_isim[x],sonuc[x]); } getch(); }
|
|