arkadaşlar merhaba, atarlı giderli başlık açtığım için kusura bakmayın ama gerçekten çıldıracağım artık hiç bir yerde istediğim şeyi bulamadım.
kullanıcı bir kelime girecek ve bu kelime dışarıdaki bi text dosyası içinde aratılacak. kelimeler text dosyası içinde alt alta, akabinde aranan bu kelimenin kaçıncı sırada olduğunu öğrenmek istiyorum.
bunu ne yapıcaksın diye soracaksanız bir sözlük uygulaması yazıyorum dışarıdan kelime girilecek, bu kelimenin kaçıncı sırada olduğu bulunacak ve türkçe karşılığı olan başka bir text dosyasında bu sıra numarasındaki kelimeyi ekrana yazdıracak...
şimdiden teşekkürler.
Ödev falan mı hocam bu geçen mantıklı bi uygulama dedim bu başlığa bugün hoca ödev verdi aynı konudan
C'de satır okumayla ilgili basit bir örnek vereyim, ona göre koduna uyarlarsın.
Burada tek tek dosyadaki karakterleri okuyor. Okunan karakteri ekrana basıyor. '\n' yani satır sonu elemanına geldiğinde döngüden çıkıyor. Sen de buna benzer bir şekilde yapabilirsin. Bir döngüde her satır sonu işaretini gördüğünde satır sayısı değişkenini 1 artırırsın. Bu sayede istediğin kelimenin kaçıncı satırda olduğunu görebilirsin.
txt file'ına kelimeleri doldurduktan sonra en son kelimeden sonra yeni satıra geç txt file içinde
// // Created by Mert AYDIN on 23.12.2016. //
#include <stdio.h> #include <stdlib.h>
int main(void) {
FILE *text;
text = fopen("/Users/Mert/Desktop/Projects/CLionProjects/sozluk/text.txt", "r"); //buraya sende txt dosyası nerede ise onun path'ini yaz
if (text == NULL)
printf("Cannot open!");
else {
printf("Aradığınız kelimeyi girin ve sonuna nokta koyun: ");
char aranan[50], harf = 'a';
int index = 0, isEqual = 1, array[50] = {0}, arrayindex = 0;
scanf("%c", &harf);
do {
aranan[index++] = harf;
scanf("%c", &harf);
} while (harf != '.');
int status, counter = 0, satır = 0;
char word[50], ch;
status = fscanf(text, "%c", &ch);
while (status != EOF) {
satır++;
while (ch != '\n') {
word[counter] = ch;
counter++;
fscanf(text, "%c", &ch);
}
if (index == counter) {
for (int i = 0; i < index; i++)
if (word[i] != aranan[i])
isEqual = 0;
if (isEqual) {
printf("Aranan kelime %d. satırda bulundu.",satır);
fclose(text);
return (0);
} }
counter = 0;
isEqual = 1;
status = fscanf(text, "%c", &ch);
}
printf("Aranan kelime bulunamadı.");
fclose(text);
return (0);
} }
hocam sözlük uygulaması yapcaksanız bence en mantıklısı veri tabanı ile yapmak basit birkaç veri tabanı komutu bildimmi çok iyi olur. hem sağlam hem güvenilir
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme