Neler Yeni

C bilenler bakabilir mi

B1L0

Hayırlı forumlar
Moderatör
Katılım
28 Haziran 2021
Mesajlar
8,705
En İyi Cevap
1
Dahası  
Reaksiyon skoru
9,717
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
289
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
8,705
En İyi Cevap
1
Dahası  
Reaksiyon skoru
9,717
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,288
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,258
Dahası  
Reaksiyon skoru
2,309
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
8,705
En İyi Cevap
1
Dahası  
Reaksiyon skoru
9,717
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
8,705
En İyi Cevap
1
Dahası  
Reaksiyon skoru
9,717
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,836
Dahası  
Reaksiyon skoru
2,697
İ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
8,705
En İyi Cevap
1
Dahası  
Reaksiyon skoru
9,717
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
8,705
En İyi Cevap
1
Dahası  
Reaksiyon skoru
9,717
Konum
Angara
İsim
bilo
İlgilendiği Kategoriler
Her şeyden ufak ufak
Top Bottom