Code nhập vào 1 chuỗi nếu có khoảng trắng thì nhập lại bị sai

Code đây mình muốn nhập vào 1 chuỗi nếu có khoảng trắng thì nhập lại. Mình nhập chuỗi 'A AAAA’có khoảng trắng vào thì nó lặp lại theo ý mình.Nhưng mình cố tình nhập sai tiếp thì nó lại ko cho nhập lại nữa ạ @@

#include<stdio.h>
#include<string.h>

void NhapChuoi(char chuoi[])
{
	printf("Nhap chuoi: ");
	gets(chuoi);

	for(int i=0;i<strlen(chuoi);i++)
	{		
		if(chuoi[i]= 32) 
		{
			printf("Nhap sai dinh dang !nhap lai : ");
			gets(chuoi);		
		}
	
	}

}
void XuatChuoi(char chuoi[])
{
	puts(chuoi);
}
int main()
{
	char chuoi[100];
	NhapChuoi(chuoi);
	XuatChuoi(chuoi);
	return 0;
}

Ô hay gì thế này :v :v

1 Like

code đó là mình gán điều kiện nếu phần tử thứ i trong chuỗi có khoảng trắng thì thực hiện lệnh nhập lại

Bạn có chắc là chỗ đó đúng không?

2 Likes

bạn nói ra ý kiến của bạn đc k, tại mình nghĩ ra được v nên mình viết th ko biết đúng hay sai nên mình mới post lên nhóm để ai thấy chỗ nào sai thì góp ý để mình rút kinh nghiệm á :vv

Toán tử so sánh bằng nhau trong C++ là gì?

2 Likes

hai dấu = @@
mà mình vẫn chưa khác phục đc lỗi trên á. bạn xem giúp còn sai chõ nào nữa ko, mình cảm ơn bạn nhiều

Số lần gets của bạn là bao nhiêu lần?

2 Likes

tùy thuộc vào chuỗi có mấy khoảng trắng thì gets bấy nhiêu lần @@

Vậy thì bạn nên tìm cách xác định 1 xâu có kí tự cách hay không rồi mới nhập lại chứ nhỉ.

3 Likes

bạn gợi ý giúp mình dùng vòng lặp j đề nhập lại giá trị mới được không :v:

Bạn viết 1 hàm kiểm tra xâu nhập vào, kết hợp với vòng lặp while.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?