C/C++ C case çok karakter kullanma

TH6

Decipat
Katılım
9 Temmuz 2022
Mesajlar
781
Çözümler
20
Arkadaşlar merhaba. Ben bu kodda case yapısında daha fazla karakter kullanmak istiyorum. Yani case 'C': yapısında sadece C değil Cik yazılıp programdan çıkılmasını istiyorum. Ancak bunu yaptığımda case yapısında bir çok karakter kullanamazsın diyor. Ben kullanmak istiyorum. Bir yolu var mı? Kod:

Kod:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>


int main() {
    setlocale(LC_ALL, "Turkish");

    int msekle,msazalt,ah,mh,th,fa,zy,islem,wh;
    char isimler;
    wh=8
   
    while(wh=8)
    {
        printf("Çalışan Maaşı Düzenleme Uygulamasına Hoşgeldiniz.\nÇalışanları Seçmek İçin Baş Harflerini Kuallanın.\nÇıkmak İçin C Yazın: ")
        scanf("%s",isimler);
        switch(isimler)
        case 'C':
            wh=7; break;
    }
       
   
   
   
    return 0;
}
 
Ne demek istediğini tam anlamadım, ama böyle bir şey mi istiyorsun?
C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>


int main()
{
    setlocale(LC_ALL, "Turkish");

    int msekle,msazalt,ah,mh,th,fa,zy,islem,wh;
    char isimler;
    wh=8
  
    while(wh=8)
    {
        printf("Çalışan Maaşı Düzenleme Uygulamasına Hoşgeldiniz.\nÇalışanları Seçmek İçin Baş Harflerini Kuallanın.\nÇıkmak İçin C Yazın: ")
        scanf("%s",isimler);
        switch(isimler)
        {
            case 'c':
            case 'C':
                wh=7; break;
        }
    }
    return 0;
}
 
Ne demek istediğini tam anlamadım, ama böyle bir şey mi istiyorsun?
C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>


int main()
{
    setlocale(LC_ALL, "Turkish");

    int msekle,msazalt,ah,mh,th,fa,zy,islem,wh;
    char isimler;
    wh=8
 
    while(wh=8)
    {
        printf("Çalışan Maaşı Düzenleme Uygulamasına Hoşgeldiniz.\nÇalışanları Seçmek İçin Baş Harflerini Kuallanın.\nÇıkmak İçin C Yazın: ")
        scanf("%s",isimler);
        switch(isimler)
        {
            case 'c':
            case 'C':
                wh=7; break;
        }
    }
    return 0;
}
Hayır hocam. Mesela Case 'C': dediğimizde C yazıldığında bunu yap demek. Ancak case'cik': denediğimde çok karakter kullanamazsınız diyor ve böyle kullanmama izin vermiyor. Çalışsa bile cik yazdığımda çalışmıyor. Bende case'cik' komutunun çalışmasını istiyorum.
 
switch case numerik girdi destekler ama C kullaniyoruz, hile yapabiliriz. :)

Ornek bir kod yazdim incelersin. Burada metni sayisal olarak kodluyoruz ardindan komutumuzun sayisal karsiligini alip switch case yapimizda kullaniyoruz, gayet basit, cok kullanisli oldugunu soyleyemem aklima boyle bir yontem geldi.

C:
#include <stdio.h>
int convert(char * text) {
    int temp = 10000000;
    for(int i=0; text[i] != '\0'; i++) {
        temp += text[i]*(i+5);
    }
    return temp;
}
int main() {
    char * metin = "test";
    printf("test'in sayisal kodlamasi: %d\n", convert(metin));

    char input[1024];
    printf("komut gir:");
    scanf(" %s", input);
    switch ( convert(input) )
    {
    case 10002919:
        printf("test girildi");
        break;
    
    default:
        break;
    }
    return 0;
}
}
 
Son düzenleme:

Yeni konular

Geri
Yukarı