Program hatası

Katılım
2 Şubat 2020
Mesajlar
1.967
Çözümler
7
C:
[CODE=cpp]/* 3 Sınav ve bir proje notu girilen öğrenci

ort 50 den küçükse ff

ort 50 ile 60 arası ise dd

ort 60 ile 70 arası ise cc

ort 70 ile 85 arası ise bb

ort 85 den büyük ise aa

*/

int s1,s2,s3,p1,ortalama;

printf("S1 Gir: ");

scanf("%d",&s1);

printf("S2 Gir: ");

scanf("%d",&s2);

printf("S3 Gir: ");

scanf("%d",&s3);

printf("P1 Gir: ");

scanf("%d",&p1);

ortalama=(s1+s2+s3+p1)/4;

if(ortalama <50)

{

printf("Notunuz: ff");

}

if(ortalama >50 && ortalama <60)

{

printf("Notunuz: dd");

}

if(ortalama >60 && ortalama <70)

{

printf("Notunuz: cc");

}

if(ortalama >70 && ortalama <85)

{

printf("Notunuz: bb");

}

if(ortalama >85)

{

printf("Notunuz: aa");

}

[/CODE]

Hocam neden olmuyor? Kafayı yedim ya! Compile and Run Diyorum "Source file not compiled diyor". 5 dk üzerinde durdum yok bulamadım hatayı ya. Yardımcı olabilir misiniz?
 
Kodların sosyal mesafeye uyması gerekmiyor.

Kodda genel kötülük dışında pek bir sorun yok. Kütüphane eklememişsiniz, main yok. Asıl sorunlar bunlar gibi.

Kod:
#include <stdio.h>

#define N 4.0

int main(){
    int s1 = 0;
    int s2 = 0;
    int s3 = 0;
    int p1 = 0;
    double ort = 0;
   
    printf("S1 gir: ");
    scanf("%d", &s1);
    printf("S2 gir: ");
    scanf("%d", &s2);
    printf("S3 gir: ");
    scanf("%d", &s3);
    printf("P1 gir: ");
    scanf("%d", &p1);
   
    ort = (s1 + s2 + s3 + p1) / N;
   
    if (ort < 50)
        printf("Notunuz: %.2lf, FF.\n", ort);
    else if (ort < 60)
        printf("Notunuz: %.2lf, DD.\n", ort);
    else if (ort < 70)
        printf("Notunuz: %.2lf, CC.\n", ort);
    else if (ort < 85)
        printf("Notunuz: %.2lf, BB.\n", ort);
    else
        printf("Notunuz: %.2lf, AA.\n", ort);
   
    return 0;
}
 
Her neyse kodunuzdan değil. Çevrim içi bir derleyiciye kodu yapıştırdım ve sorunsuz çalıştı. Denemek istiyorsanız: Online C++ Compiler - online editor
O zaman sıkıntı benim PC de. :D
Kodların sosyal mesafeye uyması gerekmiyor.

Kod:
#include <stdio.h>

#define N 4.0

int main(){
    int s1 = 0;
    int s2 = 0;
    int s3 = 0;
    int p1 = 0;
    double ort = 0;
  
    printf("S1 gir: ");
    scanf("%d", &s1);
    printf("S2 gir: ");
    scanf("%d", &s2);
    printf("S3 gir: ");
    scanf("%d", &s3);
    printf("P1 gir: ");
    scanf("%d", &p1);
  
    ort = (s1 + s2 + s3 + p1) / N;
  
    if (ort < 50)
        printf("Notunuz: %.2lf, FF.\n", ort);
    else if (ort < 60)
        printf("Notunuz: %.2lf, DD.\n", ort);
    else if (ort < 70)
        printf("Notunuz: %.2lf, CC.\n", ort);
    else if (ort < 85)
        printf("Notunuz: %.2lf, BB.\n", ort);
    else
        printf("Notunuz: %.2lf, AA.\n", ort);
  
    return 0;
}
Hocam darlanıyorum birbirlerine girdiklerinde :D
Her neyse kodunuzdan değil. Çevrim içi bir derleyiciye kodu yapıştırdım ve sorunsuz çalıştı. Denemek istiyorsanız: Online C++ Compiler - online editor

(Bu arada neden else if kullanmadınız :D)
Ama burada kullanılır mı ? Evet hayırlı bir soru değil ki bu ?
 
O zaman sıkıntı benim PC de. :D
Hangi IDE'yi kullanıyorsunuz?

Ama burada kullanılır mı ? Evet hayırlı bir soru değil ki bu ?
Kullanılır. Else If önceki kontroller kontrolü sağlamadığında kendinin çalışacağını ifade eder. Şu mantıkla düşünün:

Ayrı If blokları, önceki If bloğundan bağımsız çalışır. Yani tüm If blokları çalışır. Eğer Else If kullanırsanız önceki If bloğu kontrolü sağlamadığında diğer blokların çalışmasını sağlarsınız. Böylece performans kaybından da kurtulursunuz.
 
İlk önce sakin olun. Size mantığıyla anlatacağım.

[CODE lang="cpp" title="IF"]if (ortalama < 20){

}
if (ortalama >= 20 && ortalama < 50){

}
if (ortalama >= 50 ortalama < 100){

}

/* Ortalama 40 olsun.

#Bilgisayarın yapacağı:
- Ortalama 20'den küçük mü? HAYIR
- Ortalama 20'den büyük ve 50'den küçük mü? EVET
- Ortalama 50'den büyük ve 100'den küçük mü? HAYIR
*/

if (ortalama < 20){

}
else if (ortalama >= 20 && ortalama < 50){

}
else if (ortalama >= 50 ortalama < 100){

}

/*#Bilgisayarın yapacağı:
- Ortalama 20'den küçük mü? HAYIR
- Ortalama 20'den büyük ve 50'den küçük mü? EVET
*/
[/CODE]

Gördüğünüz gibi işleme devam etmedi ve EVET'i gördüğü yerde işlemi sonlandırdı.
 
Kodların sosyal mesafeye uyması gerekmiyor.

Kodda genel kötülük dışında pek bir sorun yok. Kütüphane eklememişsiniz, main yok. Asıl sorunlar bunlar gibi.

Kod:
#include <stdio.h>

#define N 4.0

int main(){
    int s1 = 0;
    int s2 = 0;
    int s3 = 0;
    int p1 = 0;
    double ort = 0;
  
    printf("S1 gir: ");
    scanf("%d", &s1);
    printf("S2 gir: ");
    scanf("%d", &s2);
    printf("S3 gir: ");
    scanf("%d", &s3);
    printf("P1 gir: ");
    scanf("%d", &p1);
  
    ort = (s1 + s2 + s3 + p1) / N;
  
    if (ort < 50)
        printf("Notunuz: %.2lf, FF.\n", ort);
    else if (ort < 60)
        printf("Notunuz: %.2lf, DD.\n", ort);
    else if (ort < 70)
        printf("Notunuz: %.2lf, CC.\n", ort);
    else if (ort < 85)
        printf("Notunuz: %.2lf, BB.\n", ort);
    else
        printf("Notunuz: %.2lf, AA.\n", ort);
  
    return 0;
}
Hocam attığınızdan hiçbir şey anlamadım. Ben mi cahilim :D Ben Youtube de bir kanaldan öğrendim sanırım adam iyi değil. Sorun çözüldü bu arada başka bir sorun vardı çözdüm de genel kötülük ne demek ? Biraz beni bilgilendirebilir misiniz ?
İlk önce sakin olun. Size mantığıyla anlatacağım.

[CODE lang="cpp" title="IF"]if (ortalama < 20){

}
if (ortalama >= 20 && ortalama < 50){

}
if (ortalama >= 50 ortalama < 100){

}

/* Ortalama 40 olsun.

#Bilgisayarın yapacağı:
- Ortalama 20'den küçük mü? HAYIR
- Ortalama 20'den büyük ve 50'den küçük mü? EVET
- Ortalama 50'den büyük ve 100'den küçük mü? HAYIR
*/

if (ortalama < 20){

}
else if (ortalama >= 20 && ortalama < 50){

}
else if (ortalama >= 50 ortalama < 100){

}

/*#Bilgisayarın yapacağı:
- Ortalama 20'den küçük mü? HAYIR
- Ortalama 20'den büyük ve 50'den küçük mü? EVET
*/
[/CODE]

Gördüğünüz gibi işleme devam etmedi ve EVET'i gördüğü yerde işlemi sonlandırdı.
Hocam sizle Discordan konuşabilir miyiz özel olarak ? Bilgili birine benziyorsunuz da :D Forumda yasak mı böyle şey bilmiyorum Dc adresi paylaşmak vs. ?
MrLaplas#6966 adım bu.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı