Türkçe Karakter

kurbak
12-09-2012, 15:00   |  #1  
kurbak avatarı
OP Üye
Teşekkür Sayısı: 1
96 mesaj
Kayıt Tarihi:Kayıt: Eyl 2011

Arkadaşlar yazılacak değerlerde türkçe karakterleri c++ okumuyor. Mesela "yazı girin: Ateş" yazılamıyor yani yazsa bile boş bırakılıp "Enter" a basılmış gibi algılıyor sistem ama sistemin içinde ateş yazıldığında çalışacak kodlar hazır yardımcı olur msunuz ?

Kapalı Hesap (153535)
12-09-2012, 15:49   |  #2  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

Yazdığınız kodları paylaşabilir misiniz ona göre yardımcı olmaya çalışıcam.

kurbak
12-09-2012, 16:25   |  #3  
kurbak avatarı
OP Üye
Teşekkür Sayısı: 1
96 mesaj
Kayıt Tarihi:Kayıt: Eyl 2011

#include <.cstdlib.>   Buralarda normalde nokta yok.
#include <.iostream.>

using namespace std;

main(){
       setlocale(LC_ALL,"turkish");
       string x ;

       cout << "Yazıyı giriniz: ";
       cin >> x;
      
              
       if(x== "accusomed")
               cout << "\nanlamı ALIŞKIN, ALIŞIK dır edatı TO dur. ";
           if(x== "alışkın")
               cout << "\nİngilizce karşılığı Accusomed dir edatı TO dur. ";

       string a;  
       if ( a == "0" "" a == "exit" )
       cout << "\n";
               
    cout << "\n\n";
    cout << "\n\n";
    system("PAUSE");
    return EXIT_SUCCESS;
}

Burada alışkın yazıldığı zaman hiçbir şey çıkmıyor yukarıda da belittiğim gibi.

Son Düzenleme: kurbak ~ 12 Eylül 2012 17:01
Kapalı Hesap (153535)
12-09-2012, 17:38   |  #4  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

#include <iostream>
#include <string>
using namespace std;

int main()
{
setlocale(LC_ALL,"turkish");
string x;

cout << "Yazıyı giriniz: ";
cin >> x;

if(x == "accusomed")
cout << "\nanlamı ALIŞKIN, ALIŞIK dır edatı TO dur. ";
if(x == "alışkın")
cout << "\nİngilizce karşılığı Accusomed dir edatı TO dur. ";

cout << "\n\n";
cout << "\n\n";
return 0;

}

Bu şekilde yazdım ama bende de aynı şey oluyor.Sorun setlocale() fonksiyonun aldığı parametrelerle(belki farklı bir değer almalıdır ilki) ilgili olabilir mi acaba?

Kapalı Hesap (153535)
12-09-2012, 17:40   |  #5  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

http://www.codeproject.com/Quest ... racter-Problem-in-C 

Burada tartışılmış ve dediğine göre setlocale(LC_ALL, "Turkish") fonksiyonun bu şekilde kullanımı sadece C dili için geçerliymiş.

Kapalı Hesap (153535)
12-09-2012, 17:49   |  #6  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

#include<stdio.h>
#include<string.h>
#include<stddef.h>
#include<locale.h>
#include<stdlib.h>

int main()
{
setlocale(LC_ALL,"turkish");
char a[20];
gets(a);
puts(a);
return 0;
}

C'de şöyle bir program yazayım dedim boş dönmüyor, fakat türkçe karakterleri yazınca ilginç karakterler ortaya çıkıyor.

kurbak
12-09-2012, 18:36   |  #7  
kurbak avatarı
OP Üye
Teşekkür Sayısı: 1
96 mesaj
Kayıt Tarihi:Kayıt: Eyl 2011

Sıkınıtı program bittikten sonra istenilen yerlere yazarken oluyor. C dili için denmiş ama hiç sıkıntı çıkmadan kelimeleri kullanaibliyorum. İstersen verdiğim kodlarıdan o kısmı sil, sonuç Türkçe karakterlerin şaftı kayıyor. Onun haricinde, yazılan türkçe karakterlere (yani kullanıcı yazarken seçtiği Türkçe karakterlere, kodların içindekilere değil) harf atama yapsak yani Ç yazmıyor ama kodların içinde bulunabiliyor, onun için Ç yazıldığında kodların içinde yazdığımız eşitlikten dolayı Ç yazsa nasıl olur, yani bir etkisi olur mu ve olursa nasıl yaparız ? Umarım anlatabilmişimdir.

Kapalı Hesap (153535)
12-09-2012, 19:46   |  #8  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009
Alıntı: kurbak  
Sıkınıtı program bittikten sonra istenilen yerlere yazarken oluyor. C dili için denmiş ama hiç sıkıntı çıkmadan kelimeleri kullanaibliyorum. İstersen verdiğim kodlarıdan o kısmı sil, sonuç Türkçe karakterlerin şaftı kayıyor. Onun haricinde, yazılan türkçe karakterlere (yani kullanıcı yazarken seçtiği Türkçe karakterlere, kodların içindekilere değil) harf atama yapsak yani Ç yazmıyor ama kodların içinde bulunabiliyor, onun için Ç yazıldığında kodların içinde yazdığımız eşitlikten dolayı Ç yazsa nasıl olur, yani bir etkisi olur mu ve olursa nasıl yaparız ? Umarım anlatabilmişimdir.
 

Açıkçası tam anliyamadım kodların içindeki türkçe karakterler derken sanırım ekrana herhangi bir string yazdırmayı kastediyorsunuz,eşitlikten dolayı ç yazdırmak derken yani sizin belirlediğiniz string değişkenin içinde ç harfinin bulunup bunun ekrana(if denetim yapısıyla örneğin) yazdırılmasını mı istiyorsunuz?

Kapalı Hesap (153535)
12-09-2012, 19:51   |  #9  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace c_sharp_harf_deneme
{
class Program
{
static void Main(string[] args)
{
string a;
Console.WriteLine("Bir string giriniz");
a = Console.ReadLine();
Console.WriteLine("string is {0}",a);
}
}
}


Programın benzerini C# dilinde yazmayı denedim ve hiçbir sorun yok bütün yazdığınız türkçe karakterleri sorun olmadan ekrana yazdırıyor.

Son Düzenleme: Kapalı Hesap (223119) ~ 12 Eylül 2012 19:52
kurbak
13-09-2012, 12:33   |  #10  
kurbak avatarı
OP Üye
Teşekkür Sayısı: 1
96 mesaj
Kayıt Tarihi:Kayıt: Eyl 2011

C# dilinde oluyorda, C++ a bunu nasıl çevireceğiz ? Aynı şeyi bir de C++ dilinde yapabilir misin ?

Kapalı Hesap (153535)
13-09-2012, 13:42   |  #11  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009
Alıntı: kurbak  
C# dilinde oluyorda, C++ a bunu nasıl çevireceğiz ? Aynı şeyi bir de C++ dilinde yapabilir misin ?
 

Sorun neden kaynaklanıyor açıkçası bilmiyorum.Umarım başkaları yardım eder diyecem de forumda bunlardan anlayan benden başka pek kimse de kalmadı artık.

kurbak
13-09-2012, 13:48   |  #12  
kurbak avatarı
OP Üye
Teşekkür Sayısı: 1
96 mesaj
Kayıt Tarihi:Kayıt: Eyl 2011

Neyse uğraşların için sağol.

Kapalı Hesap (153535)
13-09-2012, 16:04   |  #13  
Kapalı Hesap
Teşekkür Sayısı: 27
2,297 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

Önemli değil kolay gelsin.