01/10/2018, 10:53

Em muốn hỏi về vòng lặp while của bài này ạ

bài này là phương trình bậc 1 em muốn hỏi dòng 4 hoặc 5 của ( printf…vui long nhập lại )
mấy anh chị phẩu thuật cho em được không của vòng lặp while này nè em hơi rối là tại sao có 2 cái while, cảm ơn m.n nhiều

<#include<stdio.h>
int main() {
float a,b;
printf("Nhap gia tri a: "); while(scanf("%f",&a) != 1){while(getchar() != '
') {} printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");}
printf("Nhap gia tri b: "); while(scanf("%f",&b) != 1){while(getchar() != '
') {} printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");}
if (a==0) {
if (b==0) {
printf("phuong trinh vo so nghiem");
}
else {
printf("phuong trinh vo nghiem");
}
}
if (a!=0) {
if (b!=0) {
printf("phuong trinh co 1 nghiem duy nhat %f",-b/a);
}
else {
printf("phuong trinh co 1 nghiem %.2f");
}
}
return 0;
}>
Đạt Trình viết 12:57 ngày 01/10/2018

Đặt đoạn code trong <đoạn code> xem cho dễ bạn

anhkhoa viết 12:59 ngày 01/10/2018

printf(“Nhap gia tri a: “);
while(scanf(”%f”,&a) != 1){while(getchar() != ‘\n’) {}
printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");}

vậy hả anh, em hok hiểu @@!!

Đạt Trình viết 13:04 ngày 01/10/2018

ghi trước đoạn code 3 dấu ` với đằng sau đoạn code thêm 3 dấu nữa nhen bạn, coi cho dễ xuống dòng nữa nhìn rồi quá =))

HK boy viết 12:54 ngày 01/10/2018

Format lại code bằng cách thêm 3 dấu ` vào đầu và cuối code:

// code

Hình như đây không phải là code bạn viết?

anhkhoa viết 12:54 ngày 01/10/2018

vâng k phải ạ nên em muốn hỏi mọi người giải phẩu dòng 4 hoạt động ra sao ^^

Đạt Trình viết 13:06 ngày 01/10/2018
   printf("Nhap gia tri a: "); 
   while(scanf("%f",&a) != 1)
  { 
   while(getchar() != '\n') {} 
   printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");
  }

dòng nào bạn ghi vầy cho dễ =)) có màu cho đẹp

HK boy viết 13:05 ngày 01/10/2018

Thằng code vô duyên thế, nếu đã nhập được số thực thì cần quái gì nhập kí tự nữa
Thằng đó muốn người dùng nhập thông tin, nhưng muốn kiểm tra xem người dùng có nhập số thực không hay là nhập kí tự lạ. Khổ nỗi thằng đó code rất ngu, mà code cũng xấu y như cái bản mặt nó vậy =)) code vừa rút dòng, lại vừa không indent, lại vừa viết vớ va vớ vẩn :v

Cách tốt hơn để giải quyết yêu cầu này là

while (scanf("%s", &tmp) == 1) { // vòng lặp "gần như" vô tận để xem người dùng có nhập cái gì không,
// đại ý là nhập thôi, đừng quan tâm quá
    if (tmp chuyển được thành số thực) {
        // xử lí bài toán: ơn giời biến a (b) đây rồi
        break; // nhập đúng số thực rồi, break thôi
    } else {
        printf("nhập sai cmnr\n");
    }
}
anhkhoa viết 13:01 ngày 01/10/2018

đâu cần nói ác vậy, gê qá

HK boy viết 13:05 ngày 01/10/2018

đâu cần nói ác vậy, gê qá

Việc đọc và debug code xấu (và ngu học) của thằng khác khiến coder muốn chửi thề :v (#$&()#^(#~$#@($!@

anhkhoa viết 13:02 ngày 01/10/2018

cảm ơn anh nhé …

anhkhoa viết 13:08 ngày 01/10/2018

ồ mình cảm ơn mà, mình cũng k hiểu đoạn code while đó ,mình mới học đến if rồi giải bài nên k biết người đó sai như vậy ^^.

anhkhoa viết 12:55 ngày 01/10/2018

anh ơi về cái hàm này, em muốn biết nó hoạt động ra sao, với lại anh cho em hỏi là nó bị cái code ngu là thế nào vậy ạ. em chưa biết gì mong anh giúp đỡ

printf(“Nhap gia tri a: “); while(scanf(”%f”,&a) != 1){while(getchar() != ‘\n’) {} printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");}

Đạt Trình viết 12:57 ngày 01/10/2018

Bạn vào học lập trình C cơ bản của anh Lê Trần Đạt trên youtube ấy ở trong mấy cái clip có ấy. bạn học xong là hiểu thôi phân này cơ bản tại viết code 1 dòng như vậy nên khó đọc ấy. =))

Trần Hoàn viết 12:59 ngày 01/10/2018

Mình không biết làm gì, thôi rảnh háng copy paste lại code để spam vậy:

#include<stdio.h>
int main()
{
	float a, b;
	printf("Nhap gia tri a: ");
	while (scanf("%f", &a) != 1)
	{
		while (getchar() != '\n');
		printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");
	}
	printf("Nhap gia tri b: ");
	while (scanf("%f", &b) != 1)
	{
		while (getchar() != '\n');
		printf("Gia tri nhan duoc khong phai la so, vui long nhap lai: ");
	}
	if (a == 0)
		if (b == 0)
			printf("phuong trinh vo so nghiem");
		else
			printf("phuong trinh vo nghiem");
	if (a != 0)
		if (b != 0)
			printf("phuong trinh co 1 nghiem duy nhat %f", -b / a);
		else
			printf("phuong trinh co 1 nghiem %.2f");
	return 0;
}
Bài liên quan
0