C/C++
Mọi người trong group cho em hỏi là tại sao trong hình em nhập vào kí tự ‘u’ mà sao lại hiện là kí tự nào đó có id trong bảng ASCII là 10 ạ?
Lúc đầu thử em thấy lần nhập đầu tiên dù nhập đúng vẫn thấy sai nên em đã thêm đoạn khoanh đỏ để tỉm lỗi và phát hiện là trong lần nhâp đầu tiên kí tự em nhâp là 1 ký tự khác ạ.
Mong mọi người giúp đỡ ạ.
https://drive.google.com/drive/folders/1C_VGZJ38TrMtuCeNCGGyVMDaUx7tYvN6?usp=sharing
game.c
:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<time.h>
#include"game.h"
char nhap_ky_tu() {
char chu_cai_nhap_vao=0;
chu_cai_nhap_vao = getchar();
chu_cai_nhap_vao = toupper(chu_cai_nhap_vao);
while (getchar() != '\n');
return chu_cai_nhap_vao;
}
void ktra(char c, char string[],int s[]){
int a=0;
printf("tu vua nhap vao %c co id la %d\n",c,c);
for (int i=0; i<strlen(string); i++) {
printf("%c\n",string[i]);
if (string[i] == c) {
printf("Da tim thay ki ty!");
s[i] = 1;
a=1;
}
}
}
int win(int *s,int n) {
int d=1;
for (int i=0;i<n;i++) {
if (s[i] == 0 ) d= 0;
}
return d;
}
int chontu(char *tuduocchon) {
FILE *taptin = NULL;
taptin = fopen("data.dht","r");
if (taptin == NULL) {
printf("Co loi trong viec lay du lieu!");
return 0;
}
int dem=0,vitri_tuduocchon=0,kytu_hientai=0;
char s[SO_KY_TU_DUOC_DOC];
while ( fgets(s,SO_KY_TU_DUOC_DOC,taptin) != NULL) {
dem++;
}
vitri_tuduocchon=random(dem);
rewind(taptin);
while (vitri_tuduocchon >0) {
kytu_hientai=fgetc(taptin);
if (kytu_hientai == '\n') vitri_tuduocchon--;
}
fgets(tuduocchon,SO_KY_TU_DUOC_DOC,taptin);
tuduocchon[strlen(tuduocchon) -1] ='\0';
fclose(taptin);
giaima(tuduocchon);
return 1;
}
int random(int max) {
srand(time(NULL));
return (rand( ) % max);
}
void giaima( char *string) {
for (int i=0; i< strlen(string);i++) {
string[i] -=1;
}
}