C++ Ödevi

Başlatan asease42, 20 Ekim 2014 - 14:50:42

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

asease42

arkadaşlar c++ ödevi var yapamadım bi türlü .bilen varsa bakabilir mi?

-Bir dersin yıl içi notları, bir vize, iki ödev ve iki kısa sınavdan oluşmaktadır.
-Yıl içindeki sınav ve ödevlerin ağırlıkları dışarıdan alınacaktır.(klavyeden girilecek)
-Yıl içi puanının geçme notuna etkisi dışarıdan girilecektir.(klavyeden girilecek)
-Öğrencinin aldığı yıl sonu notu hesaplanıp harf karşılığı ile beraber ekrana yazılacaktır.

-DıLgEş-

#1
Alıntı yapılan: asease42 - 20 Ekim 2014 - 14:50:42
arkadaşlar c++ ödevi var yapamadım bi türlü .bilen varsa bakabilir mi?

-Bir dersin yıl içi notları, bir vize, iki ödev ve iki kısa sınavdan oluşmaktadır.
-Yıl içindeki sınav ve ödevlerin ağırlıkları dışarıdan alınacaktır.(klavyeden girilecek)
-Yıl içi puanının geçme notuna etkisi dışarıdan girilecektir.(klavyeden girilecek)
-Öğrencinin aldığı yıl sonu notu hesaplanıp harf karşılığı ile beraber ekrana yazılacaktır.
Ödevin aslında basit biraz uğraşırsan yapabilirsin...
Aşkın; gözü kör, kulağı sağır, dili tutuk, aklı kıttır..! Hayır yani bu halde nasıl herkesi madara ediyor onu çözemedim..

asease42

#2
aslında biraz yazdım ama bi hata alıyorum anlamadım .ben aslında kodumdaki eksiklikleri bulabilecek birine bakıyorum şu anda



[eklenti yönetici tarafından silindi]

-DıLgEş-

#3
Kardeş kusura bakma şu anda internet kafeden bağlanıyorum bugün evde kodlayıp sana yarın bu konuda gönderebilirim...


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 20 Ekim 2014 - 15:26:28

Yalnız şu vize olayı nasıl oluyor...
Aşkın; gözü kör, kulağı sağır, dili tutuk, aklı kıttır..! Hayır yani bu halde nasıl herkesi madara ediyor onu çözemedim..

asease42

#4
önemli değil kardeş eyvallah sağolasın.

sem

#5
Alıntı yapılan: asease42aslında biraz yazdım ama bi hata alıyorum anlamadım .ben aslında kodumdaki eksiklikleri bulabilecek birine bakıyorum şu anda

Kodu paylaşmamışsınız ki?
Aldığınız hata nedir?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

-DıLgEş-

#6
Kardeş işin içinden çıkamadım en iyisi sen kodu yolla biz burada yardımcı olalım.
Aşkın; gözü kör, kulağı sağır, dili tutuk, aklı kıttır..! Hayır yani bu halde nasıl herkesi madara ediyor onu çözemedim..

asease42


deripantolon

Benim anlamadığım şey şu; Neden verileri almadan önce hesaplamayı yaptırıyorsun? Bence hesaplamayı yaptırdığın satırları verileri aldığın satırların altına yaz. En sona da ekrana "Yılsonu notunuz ..." diye yazdır. Bence derdine derman olur. Sen tanımlama yaptırıyorsun değişkenler için ama değişkenlerin içi boşken yani değişkenlere bir değer atamamışken onlarla hesaplama yaptırıyorsun. Bence problem burada.

asease42

haklısınız öyle yaptım çözüldü ancak normalde main den sonra tanımladığımızda biz değer girene kadar sıkıntı yapmaması lazım değil mi ?

deripantolon

Alıntı yapılan: asease42 - 21 Ekim 2014 - 13:36:21
haklısınız öyle yaptım çözüldü ancak normalde main den sonra tanımladığımızda biz değer girene kadar sıkıntı yapmaması lazım değil mi ?

Eğer ki hesaplamayı bir fonksiyonun içinde yaptırır ve hesaplama yapacağınız zaman fonksiyonu çağırırsanız istediğiniz yerde kullanın. Ama main ya da fonksiyonların içinde her satır sırasıyla işlem görür. Bu yüzden işlemleri mantıksal bir sıraya koyup kodları bu doğrultuda alt alta yazmalısınız. Yani derleyici şunu yapmıyor. Tüm kodları okuyup ondan sonra "tamam anladım kardeş, ver şu sayıları, dur şurada da hesaplamasını yazmıştı ona göre hesaplayayım. al sonuç bu" demiyor. Düz ve basit mantık kullanın kod yazarken. İşlemleri mantıksal sırasıyla yazarsanız problem çıkmaz. Çünkü bilgisayar yazdığınız kodları satır satır sırayla işliyor. Bir satırı (kodlarınızda ";" ile biter) okuyup işliyor sonra alt satıra geçiyor. :) Umarım yardımcı olabilmişimdir. Kolay gelsin. :)

asease42

Beyler eyvallah sağolun bilgiler için

heartsmagic

Çözülen konularımız için: cozuldukonusu
Bir de merak ettim, @asease42, kullandığın işletim sistemi nedir acaba?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

asease42

ubuntu 14.04.1 ve win 8.1 (visual studio ve flash için malesef)

ekremsenturk

#14
Konu ödev'di. Diğer sorunlar için ayrı birer başlık açmalısın. Nedeni: konu'nun içeriği ile ilgisi olmayan olayların tartışılması durumunda, anlaşılabilirlikten çıkar.

asease42

bir şey daha sormak istiyorum if() kontrol yapısının içinde birden fazla değişkeni aynı kontrol için yazabilir miyiz?
mesela notları gireceğiz notlar 100 den büyük olamaz .
if((vize,final,odev)>100){
......
}
gibi bi kontrol yapmak mümkün mü?

bytan

Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

Reverser

#17
Alıntı yapılan: asease42 - 22 Ekim 2014 - 18:02:46
bir şey daha sormak istiyorum if() kontrol yapısının içinde birden fazla değişkeni aynı kontrol için yazabilir miyiz?
mesela notları gireceğiz notlar 100 den büyük olamaz .
if((vize,final,odev)>100){
......
}
gibi bi kontrol yapmak mümkün mü?

Mantık operatörü kullanımıyla mümkün tabii


#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])


    int not_1, not_2;

scanf("%d",&not_1);
scanf("%d",&not_2);

if(not_1 > 100 || not_2 > 100)
{
   printf("\nGiris yapilan notlar 100 (veya) 100 den buyuk.\n");
}
    else
    {
      printf("Giris yapilan notlar 100 den kucuk.\n");
    }
  return 0;




else if ile sorguyu genişletebilirsiniz. Bu arada, temanızı çok beğendim bizimle paylaşmanız mümkün mü acaba ?

XFCE ROCKS !
Powered by Thunar & XFWM4



deripantolon

Visual Basic de select - case ile istediğiniz tarzda ve cok modüler bir şekilde sorgu yapabilirsiniz. C'de de böyle bir kod yapısı vardı. Sanırım Switch case idi. Bu kod yapısını araştır böylece karma karışık ve ic ice geçmiş  ÍF ÍF ÍF lerden kurtulursun. Yapmak istediğin şey daha basit ve anlaşılır bir şekilde olur. Switch case üzerinde araştırma yap. İf komutu üç beş defa iç içe kullanılmaz çünkü kodu yapısını karma karışık ve zor anlaşılır yapar.

Reverser

Alıntı yapılan: deripantolon - 27 Ekim 2014 - 19:39:38
Visual Basic de select - case ile istediğiniz tarzda ve cok modüler bir şekilde sorgu yapabilirsiniz. C'de de böyle bir kod yapısı vardı. Sanırım Switch case idi. Bu kod yapısını araştır böylece karma karışık ve ic ice geçmiş  ÍF ÍF ÍF lerden kurtulursun. Yapmak istediğin şey daha basit ve anlaşılır bir şekilde olur. Switch case üzerinde araştırma yap. İf komutu üç beş defa iç içe kullanılmaz çünkü kodu yapısını karma karışık ve zor anlaşılır yapar.

switch case'den bahsediyorsunuz sanırım switch case kullanımı if-else kullanıma alternatif olarak kullanılabilir fakat nedendir bilmem çok nadir kullanıyorum switch case yapısını. Son olarak, iç içe if kullanımı ile ilgili "İf komutu üç beş defa iç içe kullanılmaz çünkü kodu yapısını karma karışık ve zor anlaşılır yapar." söyleminize katılmıyorum zira çok da anlaşılır. Mesela bir sayı giriyoruz if ile kontrol ediyoruz girilen sayı <= 0 ise if içinde bir if daha oluşturuyoruz negatif ise başka bir işlem döndürüyoruz.

XFCE ROCKS !
Powered by Thunar & XFWM4



deripantolon

Zamanında kod yazarken iİf bana dağınık ve takibi zor gelirdi. Sorgu yap doğruysa işlem değilse bir daha sorgu değilse bir daha sorgu değilse bir daha... :) Switch case de bir değişken var ve bu değişkenin alabileceği tüm değerler için ayrı case açıp kodun bütününe baktığınızda yormayan ve sade bir yapısı olurdu. Ama dediğiniz gibi kullanım ve alışkanlıklar bazen belirleyici oluyor. Ben if komutunu tek bir defa else olmadan kullandım hep. Bana sadece ufak, evetse bu hayırsa bu şeklinde basit sorgular için kullanılan basit bir kod gibi geldi. Yani 3 5 sonuç alabilecek konularda hiç kullanmadım ve soranlara farklı yöntemler önerdim. Bu benim fikrim. Gerçi hepsi aynı işi yapıyor. :) Sonuca baktığımızda hiç sorun yok hepsi aynı kapıya çıkıyor.

sem

Konudan sapmış oluyoruz bu tartışma ile fakat deripantolon'un dediğine katılıyorum ben de, olabildiğince sade yapılar her zaman okunabilirliği arttıracaktır. Bu uygulama güncelleme ve bakım aşamasında da zaman kazanmak demek elbette.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

blackwidow


#include <stdio.h>

int checkError(int degree);
void getDegree(int total);
/*Program 30 ögrencili bir sınıf icin yapılmıstır */

int main(int argc, char const *argv[])
{
/* code */
double sumDegree;
double agirlikVize , agirlikOdev , agirlikExam;
double vize , odev1 , odev2 , exam1 , exam2;
printf("vizeyi girin.\n");
scanf("%lf",&vize);
checkError(vize);
printf("1.sinavı girin\n");
scanf("%lf",&exam1);
checkError(exam1);
printf("2.sinavı girin\n");
scanf("%lf",&exam2);
checkError(exam2);
printf("1.odevi girin\n");
scanf("%lf",&odev1);
checkError(odev1);
printf("2.odevi girin\n");
scanf("%lf",&odev2);
checkError(odev2);


printf("vize agirlik yuzdesini girin>\n");
scanf("%lf",&agirlikVize);
printf("odev agirlik yuzdesini girin\n");
scanf("%lf",&agirlikOdev);
printf("sinav agirlik yuzdesini girin\n");
scanf("%lf",&agirlikExam);

while(agirlikExam+agirlikOdev+agirlikVize  != 100){
printf("Agirlik yuzdeleri toplamı 100 olmak zorunda\n");

printf("vize agirlik yuzdesini girin>\n");
scanf("%lf",&agirlikVize);
printf("odev agirlik yuzdesini girin\n");
scanf("%lf",&agirlikOdev);
printf("sinav agirlik yuzdesini girin\n");
scanf("%lf",&agirlikExam);
}

sumDegree = (vize*agirlikVize)/100 + ((((exam1+exam2)/2)*agirlikExam)/100) + ((((odev1+odev2)/2)*agirlikOdev)/100);
getDegree(sumDegree);
return 0;
}

int checkError(int degree){
if(degree < 0 || degree > 100){
printf("Not 0 ile 100 arasında olmalı\n");
}
}

void getDegree(int total){
if(total >= 0 && total < 25)
printf("Harf Notu FF\n");
else if(total >= 25 && total < 40)
printf("Harf Notu DD\n");
else if(total >= 40 && total < 50)
printf("Harf Notu DC\n");
else if(total >= 50 && total < 65)
printf("Harf Notu CC\n");
else if(total >= 65 && total < 75)
printf("Harf Notu BC\n");
else if(total >= 75 && total < 82)
printf("Harf Notu BB\n");
else if(total >= 82 && total < 90)
printf("Harf Notu BA\n");
else
printf("Harf Notu AA\n");
}



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 30 Mart 2015 - 20:32:52

Bu C ile yapılmış olanı dediğinizin .