C/C++ Orta seviye arkadaşlar için örnek C++ kodu!

Cefe_55

Picopat
Katılım
9 Nisan 2023
Mesajlar
314
Çözümler
4
Yer
Samsun
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci/Yazılım
Orta düzey arkadaşların biraz uğraşarak anlayabileceği kolay bir kod örneği tasarladım isteyen arkadaşlar kendileri deneyip geliştirebilir :)

C++:
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<ctime>
#include<fstream>
#include<windows.h>
using namespace std;

string Sen1;
string Sen2;
string Sen3;
string Sen4;
string let1;
string let2;
string let3;
string let4;
string code;

int main()
{
 system("Title Code Creator");
 int max = 25;
 int min = 1;
 int kodsayisi;
 char Alfabe[27]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
 cout<<"Kac Kod Olusturulsun:";
 cin>>kodsayisi;
 fstream yaz("code.txt");
 for(int i=1;i<=kodsayisi;i++){
 Sleep(1000);
 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen1=let1+let2+let3+let4;

 Sleep(1000);
 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen2=let1+let2+let3+let4;

 Sleep(1000);

 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen3=let1+let2+let3+let4;

 Sleep(1000);

 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen4=let1+let2+let3+let4;

 code = Sen1+"-"+Sen2+"-"+Sen3+"-"+Sen4;
 cout<<code<<endl;
 yaz<<code<<"\n";

 }

 cout<<"Cikis Icin Bir Tusa Basin...";
 getch();

}
 
Orta düzey arkadaşların biraz uğraşarak anlayabileceği kolay bir kod örneği tasarladım isteyen arkadaşlar kendileri deneyip geliştirebilir :)

C++:
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<ctime>
#include<fstream>
#include<windows.h>
using namespace std;

string Sen1;
string Sen2;
string Sen3;
string Sen4;
string let1;
string let2;
string let3;
string let4;
string code;

int main()
{
 system("Title Code Creator");
 int max = 25;
 int min = 1;
 int kodsayisi;
 char Alfabe[27]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
 cout<<"Kac Kod Olusturulsun:";
 cin>>kodsayisi;
 fstream yaz("code.txt");
 for(int i=1;i<=kodsayisi;i++){
 Sleep(1000);
 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen1=let1+let2+let3+let4;

 Sleep(1000);
 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen2=let1+let2+let3+let4;

 Sleep(1000);

 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen3=let1+let2+let3+let4;

 Sleep(1000);

 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen4=let1+let2+let3+let4;

 code = Sen1+"-"+Sen2+"-"+Sen3+"-"+Sen4;
 cout<<code<<endl;
 yaz<<code<<"\n";

 }

 cout<<"Cikis Icin Bir Tusa Basin...";
 getch();

}
Başlangıç seviyesi güzel bir çalışma olmuş ama algoritmik olarak daha iyisi yapılabilir. Orta seviye için çok yetersiz bir örnek.

Ekleme : Bu örneği ve gelişmişlerini her programlama dilinde algoritma geliştirme çalışması olarak yapabilirsiniz.
 
Başlangıç seviyesi güzel bir çalışma olmuş ama algoritmik olarak daha iyisi yapılabilir. Orta seviye için çok yetersiz bir örnek.

Ekleme: Bu örneği ve gelişmişlerini her programlama dilinde algoritma geliştirme çalışması olarak yapabilirsiniz.

Uzun süre önce başka bir program için yapmıştım üstüne hiç durmadım dosyalarda dolaşırken buldum boş durması yerine paylaşayım dedim.
 
Uzun süre önce başka bir program için yapmıştım üstüne hiç durmadım dosyalarda dolaşırken buldum boş durması yerine paylaşayım dedim.
Eline sağlık dostum sadece başlık ve içerikte bulunan Orta Düzey kısmı hatalı olmuş. Bu giriş seviyesinin de giriş seviyesi bir kod sadece onu belirttim.
 
Uygulamada sana özel kod oluşturmasını arkadaşlarının seni kolayca bulmasını sağlayacaktı olmadı bu da ortada kaldı :D

Ben şahsen böyle bir sistemde öntanımlı kodları veritabanında eşleştirirdim. Süresi dolunca veya kullanılınca da bağı keser boşa alırdım.

Neyse neyse, kod hakkında çok konuştuk. Orta seviyeler yorumları okumasa bari.
 
Neden array kullanmak yerine sen1, sen2, sen3, sen4 şeklinde değişken tanımlıyorsun? std::array<std::string, 4> sen diye tanımlamak varken? Letler içinde aynı şekilde. Neden rand kullanıyorsun? rand gerçekten random değer sunmuyor ki. Aynı zamanda çalıştıran herkes aynı çıktıyı alacak. Daha gerçekci bir rand için std::random_device ve std::mt19937 kullanmalısın. Üzgünüm ki kodun orta seviye olmaktan çooook uzak. Daha başlangıç seviyesinde.

Mesela amacın arkadaşlarının sana ulaşmasını sağlayacak bir kod oluşturmakmış, bunun için aynı kodu iki kişinin alamıyor olması lazım ek olarak kod oluşturma işleminin otomatik gerçekleşiyor olması lazım dolayısıyla uygulamanın kaç adet kod vereceği falan konsoldan değil argüman olarak verilmesi lazım gibi gibi. Kodun elini yüzünü bi miktar toplamaya çalıştım.

Uğraşılsa daha iyi hale gelir. Alfabe diye ek bir array'e gerek yok mesela. ASCII tablosundan da yararlanabilirsin. İkinci paylaştığım şeyde Alfabe adlı array'i kaldırıp yerine tek bir char'a rastgele int veriyorum ve ekliyorum gibi gibi. (Not: Ascii tablosunda A = 65, Z = 90)
C++:
#include<iostream>
#include <array>
#include<stdio.h>
#include<conio.h>
#include<ctime>
#include<fstream>
#include<windows.h>
#include<random>

std::array<std::string, 4> sen;
std::array<std::string, 4> let;
std::string code;

int main()
{
 system("Title Code Creator");
 int max = 25;
 int min = 1;
 int kodsayisi;
 std::array<char, 27> Alfabe = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
 std::cout << "Kac Kod Olusturulsun:";
 std::cin >> kodsayisi;
 std::fstream yaz ("code.txt");
 std::random_device rd;
 std::mt19937 generator(rd());
 for(int i=1;i<=kodsayisi;i++){
    for(std::array<std::string, 4>::iterator itr = sen.begin(); itr < sen.end(); itr++) {
        for(std::array<std::string, 4>::iterator it = let.begin(); it < let.end(); it++) {
            *it = Alfabe[generator() %(max-min+1)+min];
            *itr += *it;
        }
    }
    for(auto x : sen) {
        code += x + "-";
    }
    code.erase(code.end() - 1);
    std::cout << code << std::endl;
    yaz << code << "\n";
}

 std::cout<<"Cikis Icin Bir Tusa Basin...";
 getch();
}

C++:
#include<iostream>
#include <array>
#include<stdio.h>
#include<conio.h>
#include<ctime>
#include<fstream>
#include<windows.h>
#include<random>

std::array<std::string, 4> sen;
std::array<std::string, 4> let;
std::string code;

int main()
{
 system("Title Code Creator");
 int kodsayisi;
 std::cout << "Kac Kod Olusturulsun:";
 std::cin >> kodsayisi;
 std::fstream yaz ("code.txt");
 std::random_device rd;
 std::mt19937 generator(rd());
 for(int i=1;i<=kodsayisi;i++){
    for(std::array<std::string, 4>::iterator itr = sen.begin(); itr < sen.end(); itr++) {
        for(std::array<std::string, 4>::iterator it = let.begin(); it < let.end(); it++) {
            *it = generator() % (90-65+1)+65;;
            *itr += *it;
        }
    }
    for(auto x : sen) {
        code += x + "-";
    }
    code.erase(code.end() - 1);
    std::cout << code << std::endl;
    yaz << code << "\n";
 }
 std::cout<<"Cikis Icin Bir Tusa Basin...";
 getch();
}
 
Orta düzey arkadaşların biraz uğraşarak anlayabileceği kolay bir kod örneği tasarladım isteyen arkadaşlar kendileri deneyip geliştirebilir :)

C++:
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<ctime>
#include<fstream>
#include<windows.h>
using namespace std;

string Sen1;
string Sen2;
string Sen3;
string Sen4;
string let1;
string let2;
string let3;
string let4;
string code;

int main()
{
 system("Title Code Creator");
 int max = 25;
 int min = 1;
 int kodsayisi;
 char Alfabe[27]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
 cout<<"Kac Kod Olusturulsun:";
 cin>>kodsayisi;
 fstream yaz("code.txt");
 for(int i=1;i<=kodsayisi;i++){
 Sleep(1000);
 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen1=let1+let2+let3+let4;

 Sleep(1000);
 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen2=let1+let2+let3+let4;

 Sleep(1000);

 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen3=let1+let2+let3+let4;

 Sleep(1000);

 srand(time(0));
 let1=Alfabe[rand() %(max-min+1)+min];
 let2=Alfabe[rand() %(max-min+1)+min];
 let3=Alfabe[rand() %(max-min+1)+min];
 let4=Alfabe[rand() %(max-min+1)+min];
 Sen4=let1+let2+let3+let4;

 code = Sen1+"-"+Sen2+"-"+Sen3+"-"+Sen4;
 cout<<code<<endl;
 yaz<<code<<"\n";

 }

 cout<<"Cikis Icin Bir Tusa Basin...";
 getch();

}
Çok güzel olmuş ama orta düzey demiyelimde ortaya yakın gibi , ellerine sağlık iyi düşünülmüş :) Başarıların devamını dilerim
 

Geri
Yukarı