Bài tập lớn THĐC 10CLC
MỤC LỤC
MỤC LỤC 1
BÁO CÁO BÀI TẬP LỚN 2
Phần :ITHUẬT TOÁN: 2
.I.1Xác định bài toán: 2
.I.2Ý tưởng: 2
.I.3Sơ đồ khối: 3
Phần :IICHƯƠNG TRÌNH: 4
.II.1Nội dung chương trình: 4
.II.2Ví dụ: 9
Trường ĐH Bách khoa Đà Nẵng ΘΘΘ Trang
1
Bài tập lớn THĐC 10CLC
BÁO CÁO BÀI TẬP LỚN
Phần :I THUẬT TOÁN:
.I.1Xác định bài toán:
.I.1.a Input:
Danh sách 1 lớp gồm 45 sinh viên gồm: họ tên, ngày tháng năm sinh và điểm thi học kỳ
3 môn Toán, Lý, Hóa.
.I.1.b Output:
Thông tin về mỗi sinh viên gồm: họ tên, ngày tháng năm sinh và điểm thi học kỳ 3 môn
Toán, Lý, Hóa, điểm trung bình, xếp loại của học sinh đó và danh sách tất cả sinh viên
trước và sau khi sắp xếp theo điểm trung bình tăng dần.
.I.2Ý tưởng:
Do các dữ liệu để lưu trữ thông tin cho mỗi sinh viên như: họ tên, ngày tháng năm sinh
và điểm thi học kỳ 3 môn Toán, Lý, Hóa, điểm trung bình, hay xếp loại của học sinh đó,
có các kiểu khác nhau nhưng liên kết với nhau để chứa dựng thông tin của mỗi sinh
viên nên ta dùng kiểu cấu trúc để lưu thông tin cho sinh viên.
Do số sinh viên phải luôn lớn hơn hoặc bằng 1 nên nếu nhập vào số sinh viên bé hơn 1
ta sẽ báo sai và cho nhập lại.
i = 0
i<N
sv[i].diemtb >= 9.0 Xuất sắc
sv[i].diemtb >= 8.0 Giỏi
sv[i].diemtb >= 6.5 Khá
sv[i].diemtb >= 5.0 Trung bình
sv[i].diemtb >= 3.5 Yếu
Kém
i = i +1
i = 0
i<N-1 In ra thông tin về các sinh viên
Danh sách sinh viên trước và
j = i +1 sau khi sắp xếp
i = i + 1 j < N End
sv[i].diemtb > sv[j].diemtb
tam = sv[i].diemtb
sv[i].diemtb = sv[j].diemtb
sv[j].diemtb = tam
j = j +1
Hình 1: Sơ đồ khối của chương trình.
Trường ĐH Bách khoa Đà Nẵng ΘΘΘ Trang
3
Bài tập lớn THĐC 10CLC
Phần :II CHƯƠNG TRÌNH:
.II.1 Nội dung chương trình:
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct ngaythang
printf("\n ===================================\n");
goto sosinhvien;
}
printf("\n **********************************");
printf("\n **********************************\n");
Trường ĐH Bách khoa Đà Nẵng ΘΘΘ Trang
4
Bài tập lớn THĐC 10CLC
nhap(sv,n);
trungbinh(sv,n);
xeploai(sv,n);
xuat(sv,n);
if (n>1)
{
printf("\n ***************************************\n");
printf("\n Danh sach sinh vien truoc khi sap xep : ");
for (i=0; i<n; i++)
printf("\n %s",sv[i].hoten);
sapxep(sv,n);
}
getch();
}
void nhap(sinhvien sv[50],int n)
{
for(int i=0; i<n; i++)
{
printf("\n Nhap thong tin cho sinh vien thu %d\n ", i+1);
printf("\n Ho va ten sinh vien : ");
fflush(stdin);
gets(sv[i].hoten);
goto ngaysinh;
}
diemToan:
printf("\n Nhap diem thi Toan [0;10] : ");
scanf("%f",&sv[i].toan);
if ((sv[i].toan >10) || (sv[i].toan <0))
{
printf("\n ================================");
printf("\n = Nhap DIEM TOAN sai roi! =");
printf("\n = Nhap lai: =");
printf("\n ================================\n");
goto diemToan;
}
diemLy:
printf("\n Nhap diem thi Ly [0;10] : ");
scanf("%f",&sv[i].ly);
if ((sv[i].ly >10) || (sv[i].ly <0))
{
printf("\n ================================");
printf("\n = Nhap DIEM LY sai roi! =");
printf("\n = Nhap lai: =");
printf("\n ================================\n");
goto diemLy;
}
diemHoa:
printf("\n Nhap diem thi Hoa [0;10] : ");
scanf("%f",&sv[i].hoa);
if ((sv[i].hoa >10) || (sv[i].hoa <0))
{
printf("\n ================================");
{
for (int i=0; i<n; i++)
sv[i].diemtb = (sv[i].toan + sv[i].ly + sv[i].hoa)/3;
}
void xeploai(sinhvien sv[50], int n)
{
for (int i=0; i<n; i++)
{
if (sv[i].diemtb >= 9.0)
strcpy(sv[i].xeploai,"XUAT SAC");
else
if (sv[i].diemtb >= 8.0)
strcpy(sv[i].xeploai,"GIOI");
else
if (sv[i].diemtb >= 6.5)
strcpy(sv[i].xeploai,"KHA");
else
if (sv[i].diemtb >=5.0)
strcpy(sv[i].xeploai,"TRUNG BINH");
else
if (sv[i].diemtb >=3.5)
strcpy(sv[i].xeploai,"YEU");
else
strcpy(sv[i].xeploai,"KEM");
}
}
void hoanvi(sinhvien &a, sinhvien &b)
{
sinhvien tam;
tam = a;
Bài tập lớn THĐC 10CLC
.II.2.c Báo lỗi:
Hình 4: Lỗi nhập số sinh viên sai.
Hình 5: Lỗi nhập ngày, tháng, năm sinh sai.
Trường ĐH Bách khoa Đà Nẵng ΘΘΘ Trang
11
Bài tập lớn THĐC 10CLC
Hình 6: Lỗi nhập điểm sai.
.II.2.d Không thực hiện bước sắp xếp:
Hình 7: Không thực hiện sắp xếp nếu số sinh viên nhập vào là 1.
Trường ĐH Bách khoa Đà Nẵng ΘΘΘ Trang
12