C++ Ödev Yardımı.
-
son derse gidememistim, 1 kisi de asagıda verdigim gibi yazmıs ödevi, bizim hocanın turkcesi bi tuhaftır, ödevleri bazen anlayamıyoruz, bu da onlardan biri oldu galiba.
son isledigi konular "file I/O, pointers, dynamic variables & arrays"
normalde file input & output ilk dönem konusuymus ama onu pointerlarla beraber anlattı gibi bir sey oldu.
yani bu yazdıgım konuların ödevi bu aslında, neyse uzatmayayım, ödev :
//test sınavının sonucları dogru yanlıs olarak degerlendırılmektedır ve dosyada
//DDDYYYDYDYDY olarak tutulmaktadır
//dosyadan her ogrencının numarası(strıng tıpınde) ve 10 sorulı somavdam aldıgı cevaplar tutulmaktadır
//her dogru cevap 2 puandır.Her yanlıs -1 degerındedır.Bos cevap ıse 0 degerındedır.
//Cıkıs dosyasında ogrencı numarasını sınav sonuclarını ızlemektedır(her satırda)
//Tum cevapların yuzdesıne gore harflı notlar hesaplanmaktadır.
//%90-%100 ise AA
//%89-%80 ise BA
//%79-%60 ise BB
//%59-%40 ise CB
//%39-%20 ise DC
//dıgerlerı FFsıfırdan ödev talep etmiyorum, bu etik degil zaten de en azından bir yol gösterirseniz, yani nerede ne kullanacagımı söylerseniz yeter diye düsünüyorum, kod kısmını hallederim.
tesekkürler simdiden.
-
Hocam o zaman ben de yol gösterme amaçlı söyleyeyim, daha kısa fikirler çıkabilir ama çıkmazsa bunu kullanırsın. Önce olayı tek öğrenci gibi düşün sonra onu döngüye atarsın. Önce ilk string i alıp bir diziye atarsın, zaten stringde boşluk görene kadar alacağından tek seferde öğrenci numarasını alırsın. Daha sonra karakter karakter okutarak, her okumada D ise +2, Y ise -1, boşluk ise 0 şeklinde yarattığın herhangi bir integer değişkene atarsın. Daha sonra bu değişkenin ( int sonuc; olarak düşünelim ) yüzdesini hesaplayarak hangi dilime girdiğini bulup, notunu ekrana yazdırtırsın.
edit// fscanf ve fgets fonksiyonlarını kullanabilirsin hocam.
-
anlasam bişeyler diyecemde anlamadımki :S
dosyalama fputs fgets falan. Bunları yaparsın herhalde.
struct kullan o struct içinde değişkenlerini yaz.
ilk öğrenci sayısını okut, daha sonra diğer bilgileri okut döngü kurarak her öğrenci için sırayla
mesela bi öğrenciye ait tüm bilgiler okutulduğu anda direk öğrencinin cevaplarını karşılaştır. doğru cevapları dosyadan okutup bi karakter dizisine atarsın ondan sonra girilen cevaplarla karşılaştırmayı yaparsın,doğru olan her cevap sayıcı1 değişkenini,yanlış her cevap sayıcı2 bir arttırır. işlem bitince sayıcı1 değişkenini 2 sayıcı2 değişkenini -1 ile çarparsın ve bu değerleri toplatıp if/elseif e sokup harf notunu buldurup structının harf notu değişkenine atar ve tüm bilgileri dosyaya yazdırırsın....
bilgiler girildikçe bu işlemler gerçekleşir ve sana istediğin kayıt dosyasını verir :) (boş cevaplar için 0 girilmesini iste.)
-
şöyle baktığımda ödevinizde dinamik yapı gerektirecek birşey yok bu yüzden önce veri yapısının nasıl olması gerektiğini öğren hocadan dinamik dizimi struct mı kullanılacak aksi halde normal dizi kullanarak bile rahatlıkla çözülür.
