#include #include int main(int argc, char* argv[]) { int evGenislik, evRegex; printf("Ev Genislik giriniz: "); evRegex = scanf_s("%d", &evGenislik); if (evRegex == 0) { printf("Harf Giremezsiniz. Yeniden Deneyin\n"); exit(0); } else if (evGenislik < 10) { printf("10 dan kucuk veya negatif olamaz "); exit(0); } int evCatiYukseklik = abs(evGenislik / 2) / 2 + 1; int catiGenislikYarisi = abs(evGenislik / 2); int kpGenislik = evCatiYukseklik; //kapı ve pencere genişlikleri hücre sayısı int kpYukseklik = abs(kpGenislik / 2) + 1; // kapı ve pencere yükseklikleri Satır Sayısı if (kpYukseklik <= 3) { kpYukseklik++; } int kpHucrebBoy = (kpGenislik / 2); //35/9=4,75 70/9=7,77->8 int kapiBaslangic = (catiGenislikYarisi - kpHucrebBoy) + 1; // Çatı Döngü Değişkenleri int cati; int catiSatirGenislik; int catiBosluk; int catiSol = 0; int catiSag = 0; //Satir Dönüşü for (cati = 0; cati < evCatiYukseklik; cati++) { for (catiBosluk = 0; catiBosluk < catiGenislikYarisi; catiBosluk++) { //burada satırın ortalanana kadar boşluk bırakıyoruz printf(" "); } //Sağa doğru olanı yazdırıyoruz while (catiSag > 0) { printf("/"); catiSag--; } //catiBosluk ve // bitince değeri bitince + yazdırıyoruz printf("+"); //buradan sonra \\ işarreti gelecek while (catiSol > 0) { printf("\\"); catiSol--; } printf("\n"); catiGenislikYarisi = catiGenislikYarisi - 2; catiSag = abs(evGenislik / 2) - catiGenislikYarisi; catiSol = abs(evGenislik / 2) - catiGenislikYarisi; } // Kapı ve Pencere Döngü değişkenleri int kpSatir; int kpHucre; int kpYildiz; int pYildiz; int kpYildiz2; int pKenar1 = kpHucrebBoy + 1; int pKenar3 = kpHucrebBoy + 1; int pKenar2 = evGenislik - pKenar1 * 2 - kpGenislik * 2; int ptest = 0; for (kpSatir = 0; kpSatir < kpHucrebBoy - 1; kpSatir++) { for (kpHucre = 0; kpHucre < evGenislik; kpHucre++) { printf("O"); } printf("\n"); //HücreBoy oranına göre Satır "O" Harfinin bitişi } //PENCERE OLUŞUM YERİ for (kpSatir = 0; kpSatir < kpYukseklik; kpSatir++) { //Pencere Satırı Başlıyor for (kpHucre = 1; kpHucre <= evGenislik; kpHucre++) { //pencere içi if (kpHucre % kpHucrebBoy == 0) { //HürceBoy'a Bölününce while (pKenar1 > 0) { printf("O"); pKenar1--; //kpHucre++; } //Pencere yıldızlar Bölümü for (pYildiz = 0; pYildiz < kpGenislik; pYildiz++) { if (kpSatir == (kpYukseklik / 2)) { for (kpYildiz2 = 0; kpYildiz2 < kpGenislik; kpYildiz2++) { printf("*"); } break; } if (pYildiz == (kpGenislik / 2)) { printf("*"); } else { printf(" "); } } // Yıldızlar Bölümü //Burası ORTAYI YAZDIRIYOR while (pKenar2 > 0) { printf("O"); pKenar2--; } //burası ortayı yazdırdı. //Son duvar if (ptest > 0) { while (pKenar3 > 0) { printf("O"); pKenar3--; } kpHucre = evGenislik; } //son duvar. ptest = 1; } } pKenar1 = kpHucrebBoy + 1; pKenar2 = evGenislik - pKenar1 * 2 - kpGenislik * 2; pKenar3 = kpHucrebBoy + 1; printf("\n"); ptest = 0; } //Pencere sonrası "O" lar for (kpYildiz2 = 0; kpYildiz2 < kpHucrebBoy; kpYildiz2++) { for (kpYildiz = 0; kpYildiz < evGenislik; kpYildiz++) { printf("O"); } printf("\n"); } //Kapi için Değişkenler int kapiHucre; int kapiSatir; int kapiYildiz; for (kapiSatir = 0; kapiSatir < kpYukseklik; kapiSatir++) { for (kapiHucre = 1; kapiHucre <= evGenislik; kapiHucre++) { if (kapiHucre == kapiBaslangic) { //Her 13'lük hücre için for (kapiYildiz = 0; kapiYildiz < kpHucrebBoy; kapiYildiz++) { printf(" "); } printf("*"); for (kapiYildiz = 0; kapiYildiz < kpHucrebBoy; kapiYildiz++) { printf(" "); } kapiHucre = kapiHucre + (kpHucrebBoy * 2); } else {//13'e Bölünemeyenler için printf("O"); } } printf("\n"); // Her Kapı Satırı için } getch(); }