Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
221
Tıklama
0
Öne Çıkarma
C# Harf kısıtlama yapamıyorum.
O
3 yıl
Binbaşı
Konu Sahibi

Arkadaşlar merhaba.

Ödev olarak C dilinde matematiksel bir yapı oluşturmam gerekiyordu. Onu bir şekilde hallettim. Ama scanf ile giriş aldığımda girilen değer harf olursa tekrar giriş yapmasını istemem gerekiyor. Aslında if döngüsünü oluşturabilsem goto ile dönüş yapacağım ama doğru yaklaşımı bir türlü bulamadım. isalpha ile harf sorgusu yapsam bile onu if ile bir işleme sokamadım.

Not: sadece harf girişi olduğunda uyarı alıp tekrar döndüreceğim. gerçel sayı olmasında sorun yok


#include <stdio.h>
#include <math.h>
#include <locale.h>


int main() {
setlocale(LC_ALL, "Turkish"); // Türkçe harf kullanabilmek için gereken fonksiyon.

float a, b, c, discriminant, x1, x2, r, i;


printf("Lütfen x^2 katsayı değerini giriniz: ");
scanf("%f", &a);


printf("Lütfen x katsayı değerini giriniz: ");
scanf("%f", &b);


printf("Lütfen sabit terim değerini giriniz: ");
scanf("%f", &c);


discriminant = pow(b,2) - 4*a*c; // b sayısının karesini alıyoruz ve b^2 - 4.a.c işlemi ile diskriminantı buluyoruz.


if(discriminant > 0) // Eğer bulunan Diskriminant değeri 0'dan büyükse;
{
x1 = (-b + sqrt(discriminant))/(2*a);
x2 = (-b - sqrt(discriminant))/(2*a);


printf("Kök 1 degeri = %.2f \n", x1);
printf("Kök 2 degeri = %.2f \n", x2);



else if (discriminant == 0) // Eğer bulunan Diskriminant değeri 0'a eşitse;
{
x1 = -b/(2*a);
x2 = -b/(2*a);


printf("Kök 1 degeri = %.2f \n", x1);
printf("Kök 2 degeri = %.2f \n", x2);

else if (discriminant < 0) // Eğer bulunan Diskriminant değeri negatifse yani 0'dan küçükse.
{
r = -b/(2*a);
i = sqrt(-discriminant)/(2*a);
        
printf ("\nBu denklemde reel kök yoktur. Karmaşık sayı kök değeri vardır. \n");
printf("Kök 1 degeri = %.2f +i %.2f \n", r, i);
printf("Kök 2 degeri = %.2f -i %.2f \n", r, i);


}


return 0;
}



O
3 yıl
Binbaşı
Konu Sahibi

Mesela şu aşağıdaki isalpha komutlarını hiçbir şekilde uyarlayamadım.


#include <stdio.h>
#include <ctype.h>
int main()
{
    char c;


    printf("Enter a character: ");
    scanf("%c", &c);


    if (isalpha(c) == 0)
         printf("%c is not an alphabet.", c);
    else
         printf("%c is an alphabet.", c);


    return 0;
}














/* Example using isalpha by TechOnTheNet.com */


#include <stdio.h>
#include <ctype.h>


int main(int argc, const char * argv[])
{
    /* Define a temporary variable */
    unsigned char test;


    /* Assign a test letter to the variable */
    test = 'T';


    /* Test to see if this is a alphabet character */
    if (isalpha(test) != 0) printf("%c is in the alphabet\n", test);
    else printf("%c is not in the alphabet\n", test);


    /* Assign a non-alphabetic character to the variable */
    test = '7';


    /* Test to see if this is a alphabet character */
    if (isalpha(test) != 0) printf("%c is in the alphabet\n", test);
    else printf("%c is not in the alphabet\n", test);


    return 0;
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.