text e isim soyisim kaydetme

foilman
26-10-2008, 23:14   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
14 mesaj
Kayıt Tarihi:Kayıt: Eyl 2008

arkaslar scanf ile girdiğim isim ve soyisimleri nasıl text dosyasının içine yazabilirim. kodda yardımcı olabilir misiniz?

Kapalı Hesap (79876)
27-10-2008, 00:17   |  #2  
Kapalı Hesap
Teşekkür Sayısı: 0
1,252 mesaj
Kayıt Tarihi:Kayıt: Tem 2008

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
#include "stdio.h" #include "conio.h" #include "stdlib.h" main() {FILE * f; int i=0,a=0,k=0,n1,n2,n3,no; float ort; char c,s[100],ad[150]; f=fopen("data.txt","w+"); if (f==NULL) exit(1); do{ i++; printf("\n<<<< %d. Oğrenci >>>>>",i); printf("\n Adi&soyadi =");scanf("%s",&ad); printf("\n No=");scanf("%d",&no); printf("\n"); printf("\n Not1=");scanf("%d",&n1); printf("\n Not2=");scanf("%d",&n2); printf("\n Not3=");scanf("%d",&n3); ort=(n1+n2+n3)/3; printf("\n Devam Edilsinmi [E/H] =");if (getche()=='h') break; fprintf(f,"%s %d %d %d %d ortalama=%f",ad,no,n1,n2,n3,ort); printf("\n");printf("\n"); }while (1); fclose(f); f=fopen("data.txt","r"); if (f==NULL) { printf("\n A‡#141;lam#141;yo"); exit(1); } printf("\n"); printf("\n"); while(k!=EOF) { if(k=='\n')printf("\n"); k=fgetc(f); putchar(k); } getch(); fclose(f); }
http://jewoper.googlepages.com/dosyayazlistele.zip

burada basitbir öğrenci bilgisi alıp  dosyaya yazan program var.
Veriyi data.txt dosyasına yazıyor. kayıt girip onayladıktansonra bu dosyaya bak

Son Düzenleme: Kapalı Hesap (87928) ~ 27 Ekim 2008 00:18
muh34
25-10-2010, 05:42   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
215 mesaj
Kayıt Tarihi:Kayıt: Eki 2010

Yukarıdaki kod hatalidir."char" veri tipli dizilerde(array) karakter girisi icin &(ampersand) karakterine gerek yoktur,cunku girilen yapı bir dizidir ve icerisinde adres bilgisini zaten tasımaktadır.Deger adrese degil dizinin kendisine yapılır.C programlama dilinde dosyaya formatlı veri girisi frintf() fonksiyonu ile yapılabilir.Ayrıca fwrite() ve fputs() fonksiyonlarıda sırasıyla tek hamlede ve tek tek karakter girisi ile bir dosyaya veri yazabilir.Belirtilen sorunun C dilindeki karsılıgı asagıdaki gibi olabilir.
 
#include <stdio.h>
int main() {
      
       char isim[40];
       printf("Lutfen isim soyisim giriniz:");
       gets(isim);
      
       FILE *dosya=NULL;
       if((dosya=fopen("kayit.txt","a"))==NULL) {
       printf("Dosya Acilamadi\n");
       return 1;
       }
       fprintf(dosya,"%s",isim);
       fclose(dosya);
       return 0;
       }
       Başarılar