Tam Sürümünü Görmek İçin : Son Ödev
46 Maras
13/01/2007, 23:04
Merhaba arkadaşlar. Foruma yeni üye oldum herkesi selamlıyorum.
Üniversiteye yeni başladım C ve C++ dersleri görüyoruz. Son ödevi yaparken zorlandım. Mecbur bitmesi gerekiyor, çok büyük önem taşıyor yardımcı olursanız çok sevinirim.
İlk sorum programda Command'lar girilecek. Mesela program:
Command: [buraya karakterler girilecek]
-> [Sonuç] (basit bir örnek buraya print yapacak)
Girdiğin karakterlerin ilk karakteri önemli ve daha sonra ikincisini bilmesi gerekiyor.
char command[MAXCOMMAND+1];
printf("\nCommand: ");
scanf("%s", &command);
if(command[0]=='.')
printf("nokta var");
else
printf("nokta yok");
46 Maras
13/01/2007, 23:05
Sanırım karakterleri tek tek kayıt etmiyor...
quasimodo
13/01/2007, 23:27
soru ney açık bir şekilde ifade etmemişsin ki?
46 Maras
13/01/2007, 23:28
Girdiğim komutun sadece birinci ve ikinci karakterini öğrenmek istiyorum. Olay bu..
quasimodo
13/01/2007, 23:58
ya çok saçma bi soru bu girilen komutun ilk iki karakteri herşey olabilir rakam , harf, noktalama işaretleri .... yani herbiri için karşılaştırma yapman gerekiyor.
Bi sınırlama olmalı bence. ASCII kullanılarak yapılabiir ama...
46 Maras
14/01/2007, 00:11
odev bu degil, sadece bir parcasi abi
program soyle birsey olmasi gerekiyor
Komut gir: _
sen buraya ornegi import yaziyorsun
program ise bu import yazisinin birinci karakterini mesela command[0] icine kayit edecek, ikinci harfini ise command[1]
otomatik olarak tabiki
quasimodo
14/01/2007, 00:29
char command[11]; //en fazla 10 karakterli bir komut girebilirsin demek
char fch, sch;
printf("Komut giriniz : ");
gets(&command[0]); /* verilen bir başlangıç adresinden itibaren
karakterleri dizinin içine atar /*
fch = command[0]; // birinci karakter fch ' de
sch = command[1]; // ikinci karakter sch ' de
46 Maras
14/01/2007, 00:40
cok tesekkur ederim
gets() fonksiyonunu bilmiyordum daha
bu sekilde bir deneyeyim
tekrar tesekkurler..
acehreli
14/01/2007, 06:30
Ama her tarafta gets'in kullanilmamasi gerektigini okuyoruz... Onun yerine fgets'i kullanin.
46 Maras, ilk yaptigin dogru olmamis mi? command[0] ilk karakterse, command[1] de ikinci karakterdir...
Ali
46 Maras
14/01/2007, 13:10
46 Maras, ilk yaptigin dogru olmamis mi? command[0] ilk karakterse, command[1] de ikinci karakterdir...
Ali
o sekilde yapamadim. scanf ile bir dizi yazi karakteri &command'a kayit ederek denedim. commandi ise char command[10] ile tanimlamistim.
46 Maras
14/01/2007, 14:42
yeni bir sorun:
Please enter a sentence: _
bu bir ornektir
benim istedigim simdi, ornegin
a = 'bu'
b = 'bir'
c = 'ornektir'
anlatabildim mi?:)
sagopa87
14/01/2007, 15:07
Mantığında yardımcı oliim.Şimdi sen girilen kelimeleri değişkenlerin içine koymak istiyosun.Girilen Cümledeki kelimeleri alacaksın.Cümlede kelimeler boşluklarla ayrıldığı için boşluk karakterine kadar olan yer 1 kelime olur.bunu şartlı döngüyle yapabilirsin sanırım.Kolay gelsin.
46 Maras
14/01/2007, 15:12
Mantığında yardımcı oliim.Şimdi sen girilen kelimeleri değişkenlerin içine koymak istiyosun.Girilen Cümledeki kelimeleri alacaksın.Cümlede kelimeler boşluklarla ayrıldığı için boşluk karakterine kadar olan yer 1 kelime olur.bunu şartlı döngüyle yapabilirsin sanırım.Kolay gelsin.
Tesekkurler.
char dizi[1],dizi2[2],dizi3[7];
for(i=0;i<=2;i++)
{
scanf("%s"&dizi[i])
}
for(i=0;i<=3;i++)
{
scanf("%s",&dizi2[i])
}
for(i=0;i<=7;i++)
{
scanf("%s",&dizi3[i])
}
printf("%s %s %s",dizi[i],dizi2[i],dizi3[i]);
return 0;
getch();
bunu gelistirmeye calisiyorum. her bir kelime (sayisi bellisiz) bir dizine girecek.
sagopa87
14/01/2007, 15:43
bak kelimelerin karakter sayısını bilmediğimiz için ,kelimeleri koyacağımız dizilerin eleman sayısını bilmiyoruz bu yüzden bu dizileri dinamik olarak tanımlamamız gerekiyor.mesela a dizisi tanımlicaksın diyelim.
Dynmic Array<int> a;
şeklinde tanımlıyosun dizini.
46 Maras
15/01/2007, 22:36
Birşey öğrendim, sizinle paylaşmak istedim. Belki bilenler vardır gerçi...
#define MAXSIZE 128 // en fazla girilecek karakter sayısı
char dizi1[MAXSIZE], dizi2[MAXSIZE], dizi3[MAXSIZE],;
sscanf(command, "%*s %s %s %s", dizi1, dizi2, dizi3); // ilk kelimeyi atlar, 2. 3. ve 4. kelimeyi sırasıyla dizi1, dizi2 ve dizi3'e kayıt eder.
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.