01/10/2018, 17:40
Bài tập lập trình về câu lệnh if
Cho mình hỏi, đoạn code này bị lỗi chỗ nào mà mỗi lần chạy chương trình là chỉ nhập được mỗi họ tên là nó tự chạy tiếp chứ không dừng để mình nhập tiếp ạ.
#include<stdio.h>
#include<conio.h>
void main()
{
float T, L, H, TB;
char HTen;
printf("Nhap ho va ten hoc sinh
");
scanf_s("%c", &HTen);
printf("Nhap diem Toan
");
scanf_s("%f", &T);
printf("Nhap diem Ly
");
scanf_s("%f", &L);
printf("Nhap diem Hoa
");
scanf_s("%f", &H);
TB = (T + L + H) / 3;
printf("Diem trung binh 3 mon = %f", TB);
if (TB >= 9.0) printf("Hoc sinh xuat xac");
else
{
if (TB >= 8.0 && TB < 9.0) printf("Hoc sinh gioi");
else
{
if (TB >= 6.5 && TB < 8.0) printf("Hoc sinh kha");
else
{
if (TB >= 5.0 && TB < 6.5) printf("Hoc sinh trung binh");
else
{
if (TB >= 3.0 && TB < 5.0) printf("Hoc sinh yeu");
else
{
if (TB < 3.5) printf("Hoc sinh kem");
}
}
}
}
}
_getch();
}
Bài liên quan
Chỗ kia bạn để kiểu char HTen. Kiểu char chỉ nhận duy nhất một kí tự vậy nên khi nhập vào tên (VD: Duy Le) thì nó chỉ nhận mỗi chữ D thôi, còn chữ khác thì nó sẽ nhập vào biến T L H => Tính điểm luôn.
Bây giờ bạn thử sửa thành sử dụng mảng (để lưu trữ đươc nhiều chữ ạ).
cú pháp in ra giống mảng nhưng có thêm một hàm cần nhớ đó là strlen(a) (Chính là số chữ nhập vào ạ)
Cảm ơn bạn để mình thử
Nếu mình không dùng strlen(a) thì dùng cách khác được không bạn
Chuỗi thì đừng dùng scanf printf, dùng fputs fgets nhé
mình chịu, mấy cái đó chưa được học :((
Không dùng thì dính space
:(((( mới học chưa biết gì