Neler Yeni

C Programlama da hatamı bulamıyorum yardım eder misiniz?

Katılım
2 Mayıs 2020
Mesajlar
29
Dahası  
Reaksiyon skoru
10
İsim
Samet
#include <stdio.h>
#include <conio.h>

char square[17] = { '0' ,'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16' };

int checkwin();
void drawBoard();

int main()
{
int player = 1, i, choice;

char mark;
do
{
drawBoard();
player = (player % 2) ? 1 : 2;

printf("Player %d, enter a number: ", player);
scanf("%d", &choice);

mark = (player == 1) ? 'X' : 'O';

if (choice == 1 && square[1] == '1')
square[1] = mark;

else if (choice == 2 && square[2] == '2')
square[2] = mark;

else if (choice == 3 && square[3] == '3')
square[3] = mark;

else if (choice == 4 && square[4] == '4')
square[4] = mark;

else if (choice == 5 && square[5] == '5')
square[5] = mark;

else if (choice == 6 && square[6] == '6')
square[6] = mark;

else if (choice == 7 && square[7] == '7')
square[7] = mark;

else if (choice == 8 && square[8] == '8')
square[8] = mark;

else if (choice == 9 && square[9] == '9')
square[9] = mark;

else if (choice == 10 && square[10] == '10')
square[10] = mark;

else if (choice == 11 && square[11] == '11')
square[11] = mark;

else if (choice == 12 && square[12] == '12')
square[12] = mark;

else if (choice == 13 && square[13] == '13')
square[13] = mark;

else if (choice == 14 && square[14] == '14')
square[14] = mark;

else if (choice == 15 && square[15] == '15')
square[15] = mark;

else if (choice == 16 && square[16] == '16')
square[16] = mark;

else
{
printf("Invalid move ");

player--;
getch();
}
i = checkwin();

player++;
}while (i == - 1);

drawBoard();

if (i == 1)
printf("==>\aPlayer %d win ", --player);
else
printf("==>\aGame draw");

getch();

return 0;
}

int checkwin()
{
if (square[1] == square[2] && square[2] == square[3] || square[2] == square[3] && square[3] == square[4] )
return 1;

else if (square[5] == square[6] && square[6] == square[7] || square[6] == square[7] && square[7] == square[8])
return 1;

else if (square[9] == square[10] && square[10] == square[11] || square[10] == square[11] && square[11] == square[12])
return 1;

else if (square[1] == square[5] && square[5] == square[9] || square[5] == square[9] && square[9] == square[13])
return 1;

else if (square[2] == square[6] && square[6] == square[10] || square[6] == square[10] && square[10] == square[14])
return 1;

else if (square[3] == square[7] && square[7] == square[11] || square[7] == square[11] && square[11] == square[15])
return 1;

else if (square[4] == square[8] && square[8] == square[12] || square[8] == square[12] && square[12] == square[16])
return 1;

else if (square[1] == square[6] && square[6] == square[11] || square[6] == square[11] && square[11] == square[16] )
return 1;

else if (square[2] == square[7] && square[7] == square[12])
return 1;

else if (square[5] == square[10] && square[10] == square[15])
return 1;

else if (square[4] == square[7] && square[7] == square[10] || square[7] == square[10] && square[10] == square[13])
return 1;

else if (square[3] == square[6] && square[6] == square[9])
return 1;

else if (square[8] == square[11] && square[11] == square[14])
return 1;

else if (square[1] != '1' && square[2] != '2' && square[3] != '3' &&
square[4] != '4' && square[5] != '5' && square[6] != '6' && square[7]
!= '7' && square[8] != '8' && square[9] != '9' && square[10] != '10'
&& square[11] != '11' && square[12] != '12' && square[13] != '13'
&& square[14] != '14' && square[15] != '15' && square[16] != '16')

return 0;
else
return - 1;
}

void drawBoard()
{
system("cls");
printf("\n\n\t X O X \n\n");

printf("Player 1 (X) - Player 2 (O)\n\n\n");


printf(" | | | | \n");
printf(" %c | %c | %c | %c |\n", square[1], square[2], square[3], square[4]);

printf("_____|_____|_____|_____|\n");
printf(" | | | |\n");

printf(" %c | %c | %c | %c |\n", square[5], square[6], square[7], square[8]);

printf("_____|_____|_____|_____|\n");
printf(" | | | |\n");

printf(" %c | %c | %c | %c |\n", square[9], square[10], square[11], square[12]);

printf("_____|_____|_____|_____|\n");
printf(" | | | |\n");

printf(" %c | %c | %c | %c |\n", square[13], square[14], square[15], square[16]);

printf(" | | | |\n\n");
}



Bu kodu çalıştırdığımda (10,11,12,13,14,15,16) sayıları ekrana gelmiyor ve bu sayıları tuşlayamıyorum bunun sebebi nedir bilen yardım edebilir mi?
 

Ziya Enes

80+ Bronze
Katılım
10 Ocak 2021
Mesajlar
692
Dahası  
Reaksiyon skoru
196
İsim
Ziya Enes
#include <stdio.h>
#include <conio.h>

char square[17] = { '0' ,'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16' };

int checkwin();
void drawBoard();

int main()
{
int player = 1, i, choice;

char mark;
do
{
drawBoard();
player = (player % 2) ? 1 : 2;

printf("Player %d, enter a number: ", player);
scanf("%d", &choice);

mark = (player == 1) ? 'X' : 'O';

if (choice == 1 && square[1] == '1')
square[1] = mark;

else if (choice == 2 && square[2] == '2')
square[2] = mark;

else if (choice == 3 && square[3] == '3')
square[3] = mark;

else if (choice == 4 && square[4] == '4')
square[4] = mark;

else if (choice == 5 && square[5] == '5')
square[5] = mark;

else if (choice == 6 && square[6] == '6')
square[6] = mark;

else if (choice == 7 && square[7] == '7')
square[7] = mark;

else if (choice == 8 && square[8] == '8')
square[8] = mark;

else if (choice == 9 && square[9] == '9')
square[9] = mark;

else if (choice == 10 && square[10] == '10')
square[10] = mark;

else if (choice == 11 && square[11] == '11')
square[11] = mark;

else if (choice == 12 && square[12] == '12')
square[12] = mark;

else if (choice == 13 && square[13] == '13')
square[13] = mark;

else if (choice == 14 && square[14] == '14')
square[14] = mark;

else if (choice == 15 && square[15] == '15')
square[15] = mark;

else if (choice == 16 && square[16] == '16')
square[16] = mark;

else
{
printf("Invalid move ");

player--;
getch();
}
i = checkwin();

player++;
}while (i == - 1);

drawBoard();

if (i == 1)
printf("==>\aPlayer %d win ", --player);
else
printf("==>\aGame draw");

getch();

return 0;
}

int checkwin()
{
if (square[1] == square[2] && square[2] == square[3] || square[2] == square[3] && square[3] == square[4] )
return 1;

else if (square[5] == square[6] && square[6] == square[7] || square[6] == square[7] && square[7] == square[8])
return 1;

else if (square[9] == square[10] && square[10] == square[11] || square[10] == square[11] && square[11] == square[12])
return 1;

else if (square[1] == square[5] && square[5] == square[9] || square[5] == square[9] && square[9] == square[13])
return 1;

else if (square[2] == square[6] && square[6] == square[10] || square[6] == square[10] && square[10] == square[14])
return 1;

else if (square[3] == square[7] && square[7] == square[11] || square[7] == square[11] && square[11] == square[15])
return 1;

else if (square[4] == square[8] && square[8] == square[12] || square[8] == square[12] && square[12] == square[16])
return 1;

else if (square[1] == square[6] && square[6] == square[11] || square[6] == square[11] && square[11] == square[16] )
return 1;

else if (square[2] == square[7] && square[7] == square[12])
return 1;

else if (square[5] == square[10] && square[10] == square[15])
return 1;

else if (square[4] == square[7] && square[7] == square[10] || square[7] == square[10] && square[10] == square[13])
return 1;

else if (square[3] == square[6] && square[6] == square[9])
return 1;

else if (square[8] == square[11] && square[11] == square[14])
return 1;

else if (square[1] != '1' && square[2] != '2' && square[3] != '3' &&
square[4] != '4' && square[5] != '5' && square[6] != '6' && square[7]
!= '7' && square[8] != '8' && square[9] != '9' && square[10] != '10'
&& square[11] != '11' && square[12] != '12' && square[13] != '13'
&& square[14] != '14' && square[15] != '15' && square[16] != '16')

return 0;
else
return - 1;
}

void drawBoard()
{
system("cls");
printf("\n\n\t X O X \n\n");

printf("Player 1 (X) - Player 2 (O)\n\n\n");


printf(" | | | | \n");
printf(" %c | %c | %c | %c |\n", square[1], square[2], square[3], square[4]);

printf("_____|_____|_____|_____|\n");
printf(" | | | |\n");

printf(" %c | %c | %c | %c |\n", square[5], square[6], square[7], square[8]);

printf("_____|_____|_____|_____|\n");
printf(" | | | |\n");

printf(" %c | %c | %c | %c |\n", square[9], square[10], square[11], square[12]);

printf("_____|_____|_____|_____|\n");
printf(" | | | |\n");

printf(" %c | %c | %c | %c |\n", square[13], square[14], square[15], square[16]);

printf(" | | | |\n\n");
}



Bu kodu çalıştırdığımda (10,11,12,13,14,15,16) sayıları ekrana gelmiyor ve bu sayıları tuşlayamıyorum bunun sebebi nedir bilen yardım edebilir mi?
Hocam sadece merak ettiğimden baktım da allah kolaylık versin bu ne
 

1v9uknow

80+
Katılım
30 Temmuz 2022
Mesajlar
489
Dahası  
Reaksiyon skoru
171
İsim
Ayhan TOPCU
Dostum kod çok kirli görünüyor, hata ile ilgili yorum yapamam C kodlamıyorum fakat döngü kullanmalısın. Bu şekilde kodu sen dahi düzgün bir biçimde okuyamıyorken senden başkası hiç okuyamaz. Kodlama da önemli olan kısım sadece kodun çalışması değil aynı zamanda temiz ve okunabilir olması da çok önemli. Yoksa saatliği 1 dolara kod yazan hintlilerden bir farkın kalmaz. (Yapıcı eleştiri yapmaya çalıştım yanlış anlama)
 
Katılım
2 Mayıs 2020
Mesajlar
29
Dahası  
Reaksiyon skoru
10
İsim
Samet
  • Konu Sahibi Konu Sahibi
  • #6
Dostum kod çok kirli görünüyor, hata ile ilgili yorum yapamam C kodlamıyorum fakat döngü kullanmalısın. Bu şekilde kodu sen dahi düzgün bir biçimde okuyamıyorken senden başkası hiç okuyamaz. Kodlama da önemli olan kısım sadece kodun çalışması değil aynı zamanda temiz ve okunabilir olması da çok önemli. Yoksa saatliği 1 dolara kod yazan hintlilerden bir farkın kalmaz. (Yapıcı eleştiri yapmaya çalıştım yanlış anlama)
tamamdır teşekkür ederim yorumun için
 

DeveloperRedneck

80+ Silver
Katılım
13 Temmuz 2021
Mesajlar
2,618
Dahası  
Reaksiyon skoru
1,354
İsim
Kürşat

Kaan ÇABUK

80+ Titanium
Katılım
23 Mart 2020
Mesajlar
26,270
En İyi Cevap
1
Hocam kodu spoiler içine veya txt içine koyup falan paylaşabilirmisiniz ya
 

ikista

80+
Katılım
22 Ocak 2021
Mesajlar
161
En İyi Cevap
2
Dahası  
Reaksiyon skoru
79
İsim
Hakan YILMAZ
İlgilendiği Kategoriler
Programalama Dilleri, Yazılım
Tanımlamalarını tek tırnak (' ') yerine çift tırnak (" ") içinde yaparak dener misin?
 
Yeni mesajlar Yeni Konu Aç      

SON KONULAR

Forum istatistikleri

Konular
1,003,715
Mesajlar
9,053,467
Üyeler
159,043
Son üye
ilelamam
Top Bottom