Şifremi/Kullanıcı Adımı Unuttum
Bağlan Google+ ile Bağlan Facebook ile Bağlan
Şimdi Ara

Dosyadan Yazmak Dosyadan okumak

3
Cevap
0
Favori
443
Tıklama
Cevapla
Sayfaya Git:
Sayfa:
1
Giriş
Mesaj
  • Teğmen
    244 Mesaj
    Merhaba ben rastgele sayı üretip bu sayıyı bir harfe atayıp(5 harf var)sonra dosya açıp bu dosyaya yazıp sonrada
    dosyadan okumak istiyorum şöyle bir kod yazdım dosyaya yazıyor ama okuyunca da hep aynı sayıları çıkarıyor

    #include<iostream>
    #include<fstream>
    #include<string>
    #include <algorithm>
    using namespace std;
    int main()
    {
    int x,y,z,a,b,c,d,e,f,g,i,k,sayi;
    cout<<"kac harf olsun";
    cin>>k;
    string asd = "a";
    string asf = "b";
    string asg = "c";
    string ash = "d";
    string asj = "e";
    for(int i=0;i<k;i++)
    {
    a=rand() % 6;
    b=rand() % 6;
    c=rand() % 6;
    d=rand() % 6;
    e=rand() % 6;
    f=rand() % 6;
    g=rand() % 6;

    }
    ofstream cikti("dosya.txt");
    if(a==1)
    {cikti<<asd;}

    if(a==2)
    {cikti<<asf;}

    if(a==3)
    {cikti<<asg;}


    if(a==4)
    {cikti<<ash;}


    if(a==5)
    {cikti<<asj;}

    if(b==1)
    {cikti<<asd;}

    if(b==2)
    {cikti<<asf;}

    if(b==3)
    {cikti<<asg;}


    if(b==4)
    {cikti<<ash;}


    if(b==5)
    {cikti<<asj;}

    if(c==1)
    {cikti<<asd;}

    if(c==2)
    {cikti<<asf;}

    if(c==3)
    {cikti<<asg;}


    if(c==4)
    {cikti<<ash;}


    if(c==5)
    {cikti<<asj;}

    if(d==1)
    {cikti<<asd;}

    if(d==2)
    {cikti<<asf;}

    if(d==3)
    {cikti<<asg;}


    if(d==4)
    {cikti<<ash;}


    if(d==5)
    {cikti<<asj;}

    if(e==1)
    {cikti<<asd;}

    if(e==2)
    {cikti<<asf;}

    if(e==3)
    {cikti<<asg;}


    if(e==4)
    {cikti<<ash;}


    if(e==5)
    {cikti<<asj;}

    if(f==1)
    {cikti<<asd;}

    if(f==2)
    {cikti<<asf;}

    if(f==3)
    {cikti<<asg;}


    if(f==4)
    {cikti<<ash;}


    if(f==5)
    {cikti<<asj;}

    if(g==1)
    {cikti<<asd;}

    if(g==2)
    {cikti<<asf;}

    if(g==3)
    {cikti<<asg;}


    if(g==4)
    {cikti<<ash;}


    if(g==5)
    {cikti<<asj;}


    ifstream dosya("dosya.txt");
    string veriler, gecici;
    while (!dosya.eof ())
    {
    getline(dosya, gecici, '#');
    veriler += gecici;
    }
    cout << veriler;
    getchar();


    getchar();
    getchar();
    getchar();
    }



    < Bu mesaj bu kişi tarafından değiştirildi megaorsan -- 30 Mayıs 2013; 18:45:26 >



    |
    |
    _____________________________




  • Yüzbaşı
    420 Mesaj
    srand(time(NULL)) goremedim.

    Ayrica kodlamaniz kotu maalesef. Daha guzel algoritmalar yazmaya calisin.
    |
    |
    _____________________________
  • Teğmen
    128 Mesaj
    Surrealist bi calisma olmus. Hocan olsam okuldan atardim :)

    Saka bi yana bugun butun gun evde canim sikiliyordu, firsattan istifade kullanabilecegin kullanabilecegin basit bir sablon yazdim. Hepten hazir olmasin diye toparlamadim; artik orasinida yaparsin.
    Notlar: rand fonksiyonu hatali, bilerek dokunmadim; google'dan random kullanim orneklerine bakip ve onu duzeltmelisin. Surekli farkli sayi uretebilmesi icin srand'la kullanman gerekiyor, daha dogrusu time fonksiyonuyla beslemen gerekiyor.
    Okuma islemi icin iki farkli yol yazdim, daha baska metodlarda var. Vector, linked list vs gibi yada dinamik olarak. Ilgini cekiyorsa bakabilirsin.
    Bu arada bilgisayarimda derleyici olmadigindan kodu derleyip calistirmadim, ufak tefek hatalar olabilir.
    Kolay gelsin.
    /** MENU **/ 
    do
    {
    cout <span><</span><span><</span> "Yeni veri girisi icin [1], dosyadan veri okumak icin [2]" <span><</span><span><</span> endl;
    cout <span><</span><span><</span> "Yok ben sevmedim buralari. Cikcam[3]";
    // Numara, harf vs ile yonlendirme icin
    cin <span>></span><span>></span> sart;
    } while (sart==1 || sart==2 || sart==3);// Dogru seceneklerden biri girilinceye kadar
    // Ana menu icin sonsuz dongu

    switch(sart)
    {
    case 1 : yaz(); break;
    case 2 : oku(); break;
    case 3 : exit();
    }


    /** OKUR **/ 
    void oku(){

    ifstream girdi("dosya.txt");
    if(!girdi)
    {
    cout<span><</span><span><</span> "Hata: Dosya okuma basarisiz!" <span><</span><span><</span> endl;
    exit(1); //Programdan cik
    }

    char temp[100]; // metod 1
    string temp; // metod 2


    while(!girdi.eof()){
    girdi <span>></span><span>></span> temp; // metod 1
    getline (girdi,temp); // metod 2

    cout <span><</span><span><</span> temp;
    }
    girdi.close();
    }


    /** YAZAR **/ 
    void yaz(){
    ofstream cikti("dosya.txt");
    if(!cikti)
    {
    cout<span><</span><span><</span> "Hata: Dosyaya yazma basarisiz!" <span><</span><span><</span> endl;
    exit(1); //Programdan cik
    }

    char xchar = 'a';
    int i, j, arr[7];

    for (i = 0; i <span><</span> 7; i++)
    {
    arr[i]=rand()%6+1;
    }
    for (i = 0; i <span><</span> 7; i++)
    {
    for (j = 0; j <span><</span> 5; j++)
    {
    if (arr[i]==j+1)
    {
    cikti <span><</span><span><</span> xchar+j;
    continue;
    }
    }
    }
    cikti.close();
    }
    |
    |
    _____________________________




  • Teğmen
    244 Mesaj
    tesekkürler
    |
    |
    _____________________________
HızlıCevap
Sayfaya Git:
Sayfa:
1
Reklamlar
sohbet
e-ticaret
son dakika
Lastik Fiyatları
Paykasa
üniversite
Blogio
Bu sayfanın
Mobil sürümü
Mini Sürümü

BR4
0,156
1.2.165

Reklamlar
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.