01/10/2018, 17:47
Do While bị báo lỗi expected ‘while’ at end of input
#include<stdio.h>
#include<conio.h>
void XuatMenu(){
printf("1: Giai phuong trinh bac 1
");
printf("2: Kiem tra so hoan thien
");
printf("3: Liet ke so hoan thien trong pham vi tu 1 den n
");
printf("4: Tim uoc chung lon nhat cua 2 so nguyen
");
printf("0: Thoat
");
}
int main()
{
int chon;
do
{
XuatMenu();
printf("Hay chon cong viec:");
scanf("%d", &chon);
switch (chon){
case 1:
float a,b,c;
printf("Nhap he so a,b: ");
scanf("%f%f",&a,&b);
if(a==0){
if(b==0)
printf("Phuong trinh vo so nghiem
");
else
printf("Phuong trinh vo nghiem
");
}
else
{
c=-b/a;
printf("Phuong trinh co 1 nghiem %f
", c=-b/a);
}
break;
case 2:
{
int x;
printf("Nhap so nguyen x: ");
scanf("%d", &x);
int dem=0;
for(int i=1;i<x;i++)
if(x%i==0)
dem+=i;
if(dem==x) printf("%d la so hoan thien
",x);
else printf("%d khong la so hoan thien
",x);
}
break;
case 3:
{
int n, dem;
do
{
printf("Nhap so nguyen n: ");
scanf("%d", &n);
}
while (n<0);
for(int i=1;i<=n;i++)
{
dem =0;
for(int j=1;j<i;j++)
{
if(i%j==0)
dem+=j;
}
if(dem==i) printf("%d
",i);
}
break;
case 4:
{
int a,b,c;
printf("Nhap 2 so nguyen a,b: ");
scanf("%d%d",&a,&b);
while((c = (a%b)) != 0)
{
a = b;
b = c;
}
printf("UCLN = %d
",b);
}
break;
default: chon =0;
}
}while(chon!=0);
}
Cho em hỏi, em đã dùng do đầy đủ và đã kiểm tra nhưng bị báo lỗi expected ‘while’ at end of input là sao ạ, em ngồi kiểm tra từng dấu rồi mà vẫn chưa thấy chỗ sai. Em cảm ơn.
Bài liên quan
Hãy sử dụng Markdown đúng cách (hoặc đẩy lên repl.it) chứ viết thế này khó đọc lắm.
Markdown trích dẫn code: 3 dấu ` (kế bên phím 1 - pc/lap), xuống dòng, code, rồi xuống dòng, gõ 3 dấu đó để kết thúc.
Trong
case
không bắt buộc cặp ngoặc nhọn nhé.Lỗi nằm ở dấu mở ngoặc nhọn ({) sau
case 3:
xóa nó đi.