Neler Yeni

C bilenler bakabilir mi

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
9,058
En İyi Cevap
1
Dahası  
Reaksiyon skoru
10,197
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
Arkadaşlar yazdığım kodun şu kısmına göre not için 0 ile 100 aralığı dışında sayı girildiğinde 0 ile 100 arasında sayı girmemiz için bidaha yönlendiriyor bizi. Sorum şu: Sadece sayı değil de harf girdiğinde de yönlendirmesi için (çünkü not yerine harf girince program kafayı yiyo) veya || kısmına ne eklemem gerekiyor. Veya başka bi çözümü var mı? Oranın sadece 0 ile 100 arasındaki sayıları kabul etmesini istiyorum kısaca.
1669833658110.png
 
Katılım
18 Ocak 2022
Mesajlar
291
Dahası  
Reaksiyon skoru
121
İsim
Furkan Bircan
C bilmiyorum ama isDigit() fonksiyonu varmış onunla gönderilen değerin yani vizenin sayı olup olmadığını kontrol et dönen değer false yada true olacak onuda if else bloğu ile kontrol et false dönerse hata fırlat
 

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
9,058
En İyi Cevap
1
Dahası  
Reaksiyon skoru
10,197
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
  • Konu Sahibi Konu Sahibi
  • #3
C bilmiyorum ama isDigit() fonksiyonu varmış onunla gönderilen değerin yani vizenin sayı olup olmadığını kontrol et dönen değer false yada true olacak onuda if else bloğu ile kontrol et false dönerse hata fırlat
Teşekkürler böyle olabilir, ama hoca henüz öğretmedi öğrettiği kadarıyla yapılabilir olması lazım. Daha basit bi çözümü var mı acaba
 

CptSpork

80+ Bronze
Katılım
21 Kasım 2022
Mesajlar
1,301
C:
int vize;
   if (scanf("%d", &vize) == 1) {
       printf("Bu bir sayı!");
   } else {
       printf("Bu bir sayı değil.\n");
   }
 

HmzaY

80+ Gold
Katılım
23 Temmuz 2022
Mesajlar
5,261
Dahası  
Reaksiyon skoru
2,313
Konum
Nazarick
İsim
Hamza Y
İlgilendiği Kategoriler
Little Bit Everything
Switch Case ile yapman daha sağlıklı olur
C:
#include <stdio.h>

int main()

{

 

    int grade;

    printf("Puan Notunuzu Giriniz: ");

    scanf("%d", &grade);

        switch (grade)

    {

        case 90 ... 100:

            printf("Notun A");

            break;

        case 80 ... 89:

            printf("Notun B");

            break;

        case 70 ... 79:

            printf("Notun C");

            break;

        case 60 ... 69:

            printf("Notun D");

            break;

        case 50 ... 59:

            printf("Notun E");

            break;

        case 1 ... 49:

            printf("Notun  F");

            break;

        default:

            printf("Geçerli Bir Not Giriniz");

            break;

    }

}
 

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
9,058
En İyi Cevap
1
Dahası  
Reaksiyon skoru
10,197
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
  • Konu Sahibi Konu Sahibi
  • #6
Switch Case ile yapman daha sağlıklı olur
C:
#include <stdio.h>

int main()

{

 

    int grade;

    printf("Puan Notunuzu Giriniz: ");

    scanf("%d", &grade);

        switch (grade)

    {

        case 90 ... 100:

            printf("Notun A");

            break;

        case 80 ... 89:

            printf("Notun B");

            break;

        case 70 ... 79:

            printf("Notun C");

            break;

        case 60 ... 69:

            printf("Notun D");

            break;

        case 50 ... 59:

            printf("Notun E");

            break;

        case 1 ... 49:

            printf("Notun  F");

            break;

        default:

            printf("Geçerli Bir Not Giriniz");

            break;

    }

}
defaulttan sonra bitmeyecek mi ama kod geçerli kodu nerde girecez burda
Mesaj otomatik birleştirildi:

switch case ile 0 ve 100 aralığına okey olup defaulta bidaha gir deriz ama orayı tekrar başa nası yönlendircez yani
Switch Case ile yapman daha sağlıklı olur
C:
#include <stdio.h>

int main()

{

 

    int grade;

    printf("Puan Notunuzu Giriniz: ");

    scanf("%d", &grade);

        switch (grade)

    {

        case 90 ... 100:

            printf("Notun A");

            break;

        case 80 ... 89:

            printf("Notun B");

            break;

        case 70 ... 79:

            printf("Notun C");

            break;

        case 60 ... 69:

            printf("Notun D");

            break;

        case 50 ... 59:

            printf("Notun E");

            break;

        case 1 ... 49:

            printf("Notun  F");

            break;

        default:

            printf("Geçerli Bir Not Giriniz");

            break;

    }

}
Mesaj otomatik birleştirildi:

C:
int vize;
   if (scanf("%d", &vize) == 1) {
       printf("Bu bir sayı!");
   } else {
       printf("Bu bir sayı değil.\n");
   }
kanka bu bi tık saçma bence ya istediğim tam olarak bu değil
 

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
9,058
En İyi Cevap
1
Dahası  
Reaksiyon skoru
10,197
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
  • Konu Sahibi Konu Sahibi
  • #8

firsatgamingx

80+ Silver
Katılım
19 Ekim 2020
Mesajlar
4,904
Dahası  
Reaksiyon skoru
2,723
İsim
Cem Ayar
Instagram
firsatgamingx
olmuyor veya yapamıyorum

üstteki scanf vizeyi sil bu şekilde dursun. Tam kodunu resim değil de normal kod blogu gibi atabilirmisin?

Yani şöyle yap:

while((scanf("%d", &vize) == 1 ) && (vize < 100 || vize >0))
 

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
9,058
En İyi Cevap
1
Dahası  
Reaksiyon skoru
10,197
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
üstteki scanf vizeyi sil bu şekilde dursun. Tam kodunu resim değil de normal kod blogu gibi atabilirmisin?

Yani şöyle yap:

while((scanf("%d", &vize) == 1 ) && (vize < 100 || vize >0))
özelden attım
 

Hasanst

80+ Bronze
Katılım
17 Aralık 2020
Mesajlar
1,539
Dahası  
Reaksiyon skoru
582
İsim
Hasan Said Tamer
Arkadaşlar yazdığım kodun şu kısmına göre not için 0 ile 100 aralığı dışında sayı girildiğinde 0 ile 100 arasında sayı girmemiz için bidaha yönlendiriyor bizi. Sorum şu: Sadece sayı değil de harf girdiğinde de yönlendirmesi için (çünkü not yerine harf girince program kafayı yiyo) veya || kısmına ne eklemem gerekiyor. Veya başka bi çözümü var mı? Oranın sadece 0 ile 100 arasındaki sayıları kabul etmesini istiyorum kısaca.
Alıntıyı görüntüle
Çok oldu c kullanmayalı ama if type kullanabilirsiniz. Girilen değerin türüne göre ekrana yazsın
 

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
9,058
En İyi Cevap
1
Dahası  
Reaksiyon skoru
10,197
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
Yeni mesajlar Yeni Konu Aç      

SON KONULAR

Çevrim içi yöneticiler

  • B1L0
    Hayırlı forumlar

Forum istatistikleri

Konular
1,031,397
Mesajlar
9,297,609
Üyeler
163,489
Son üye
paradox35
Top Bottom