Dev C++ Proje Yardım-2

BOR4N
14-01-2018, 02:39   |  #1  
BOR4N avatarı
OP Taze Üye
Teşekkür Sayısı: 0
4 mesaj
Kayıt Tarihi:Kayıt: Ara 2017

 

Merhabalar Dev C++ da ufak bi program yazmaya çalışıyorum ama bir yerde tıkandım yardımcı olabilirseniz çok sevirim

o

öncelikle yapmak istediğim şey harf notu ile ortalamanın hesaplandığı bir program yazmak  örneğin AA girildiğinde bunu algılayıp ders kiredisini 4 ile çarpıcak  yanlız Aşağıdaki programdan da görduğunuz gibi scanf ile sadece kredi bilgisini alabiliyorum  harf bilgisini alamıyorum   

printf("%d.dersin Harf Notu:",sayac);
        scanf("%c",&a);

burda giriceğiim AA yı scanf ile a ya aktaramıyorum nedeni ne olabilir bilgisi olan varmı acaba

https://hizliresim.com/gO45kb

Programın Tamamı:

#include
#include

int main()

{
        int sayac=1;
        int derssayisi;
        float b,toplam,kreditoplam,ortalama;
        char a;
        char aa='AA';
        char ba='BA';
        char bb='BB';
        char cb='CB';
        char cc='CC';
        char dc='DC';
        char dd='DD';
        char fd='FD';
        char ff='FF';
       
       
       
        printf("Ders Sayisi:");
        scanf("%d",&derssayisi);
       
       
        while(sayac<=derssayisi)
        {
       
        printf("%d.dersin Harf Notu:",sayac);
        scanf("%c",&a);
       
        printf("\n");
       
        printf("%d.dersin kredisi:",sayac);
        scanf("%f",&b);
       
        if (a==aa)
        {
        kreditoplam=b;
     toplam=4*b;
        }
        else if (a==ba)
        {
        kreditoplam=b;
     toplam=3.5*b;
        }
       
        else if (a==bb)
        {
        kreditoplam=b;
     toplam=3*b;
        }
       
        else if (a==cb)
        {
        kreditoplam=b;
     toplam=2.5*b;
        }
       
        else if (a==cc)
        {
        kreditoplam=b;
     toplam=2*b;
        }
       
        else if (a==dc)
        {
        kreditoplam=b;
     toplam=1.5*b;
        }
       
        else if (a==dd)
        {
        kreditoplam=b;
     toplam=1*b;
        }
       
        else if (a==fd)
        {
        kreditoplam=b;
     toplam=0.5*b;
        }
       
        else if (a==ff)
        {
        kreditoplam=b;
     toplam=0*b;
        }
       
    ++sayac;
       
        }
       
        ortalama=toplam/kreditoplam;
        printf("Ortalamaniz:%f",ortalama);
       
       
        return 0;
        system("PAUSE");
}

Son Düzenleme: BOR4N ~ 15 Ocak 2018 22:32 Neden:
White-Fox
14-01-2018, 11:47   |  #2  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,090 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

Şöyle olur ;

ortalama puanı bulursun +20 AA notu olur +15 BA +10 BB +5 CB +0CC -5DC -10DD gerisi FF .

sonra girilen notu if-else ile harf notu değerini hesaplarsın.

Aldığın hataya gelince ;

Çözüm 1-

char*a="AA";

Çözüm 2-

char a[]="AA";

Çözüm 3-

char a[2]="AA";

Kolay gelsin.

BOR4N
15-01-2018, 00:02   |  #3  
OP Taze Üye
Teşekkür Sayısı: 0
4 mesaj
Kayıt Tarihi:Kayıt: Ara 2017

Çok teşekkür ederim   çok işime yardı bu bilgi

Son Düzenleme: BOR4N ~ 15 Ocak 2018 00:21
BOR4N
15-01-2018, 22:33   |  #4  
OP Taze Üye
Teşekkür Sayısı: 0
4 mesaj
Kayıt Tarihi:Kayıt: Ara 2017

bir sorum daha olacak  diyelim ki herhangi bir bir karakter girdim ve bunu bir char değişkenine atadım bu char değişkenini if veya while gibi döngüler de nasıl kullanabilirim  


örneğin aşağıdaki gibi bir bir kod yazdığımda işlem true olmasa dahi sadece ilk if deki döngüye giriyo

#include
#include
#include
int main()

{
       
       
        char a[3];
        char aa[3]="AA";
        char ba[3]="BA";
        char bb[3]="BB";
        char cb[3]="CB";
       
       
        printf("Bir Harf Notu Gir:");
        scanf("%s",a);
       
        if(a[3]==aa[3])
        printf("Bu harf notu 4'e esittir'");
       
        else if(a[3]==ba[3])
        printf("Bu harf notu 3.5'e esittir'");
       
        else if(a[3]==bb[3])
        printf("Bu harf notu 3'e esittir'");
       
        else if(a[3]==cb[3])
        printf("Bu harf notu 2.5'e esittir'");
       
        else

        printf("Bu harf notu 2.5 den aşağı puanlara esittir'");
       
       
        return 0;
        system("PAUSE");
}


https://i.hizliresim.com/2JYMm0.png

Son Düzenleme: BOR4N ~ 15 Ocak 2018 22:36