Chương 1: Các khái niệm cơ bản về lập trình1.1: Khái niệm về lập trìnhLập trình là cách sắp xếp và cài đựt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lậ
Trang 1ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN
-BÀI TẬP LỚN HỌC PHẦN: CƠ SỞ LẬP TRÌNH VỚI C
I
Trang 2Hà Nội, tháng 05 năm 2022
II
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO
BÀI TẬP LỚN HỌC PHẦN: CƠ SỞ LẬP TRÌNH VỚI C
TÊN: CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN
Điểm bằng số
Điểm bằng chữ
Ký tên SV
Trang 4Mục lục
MỞ ĐẦU 1
NỘI DUNG 2
I Chương 1: Các khái niệm cơ bản về lập trình 2
1.1: Khái niệm về lập trình 2
1.2 Các bước xây dựng một chương: 2
1.3 Thuật toán và chương trình: 2
1.4 Phương pháp lập trình: 2
1.5 Ngôn ngữ lập trình 3
II Chương 2: Tổng quan về ngôn ngữ C 4
2.1 Các thành phần cơ bản 4
2.1.1 Bảng chữ cái 4
2.1.2 Từ khóa 4
2.1.3 Tên 4
2.1.4 Dấu chấm phẩy 4
2.1.5 Câu chú thích 4
2.2 Cấu trúc chung của chương trình 4
2.3 Các kiểu dữ liệu cơ sở 6
2.3.1 Kiểu vô hướng đơn giản 6
2.3.2 Kiểu dữ liệu có cấu trúc 7
2.3.3 Kiểu con trỏ 7
2.4 Biểu thức – câu lệnh 7
2.5 Vào -ra dữ liệu 7
III Chương 3: Xây dựng chương trình 8
3.1 Chương trình quản lý sinh viên 8
3.2Kết quả 14
Trang 5Khi quản lý thông tin sinh viên nhà trường và người kinh doanh phần mềmhướng đến một mục tiêu chung đó chính là sự chất lượng trong hoạt động quản lýthông tin và kết quả của một đối tượng nào đó Quản lý sinh viên mang lại sự nhanhchóng trong việc quản lý thông tin và kết quả của sinh viên trong việc học tập tạiđơn vị đang quản lý mình Quản lý sinh viên tốt mang lại sự nhanh chóng trong việclưu trữ thông tin sinh viên.
Trang 61.2 Các bước xây dựng một chương:
B1:Xác định nội dung bài toán công việc
B2:Mô hình hóa bài toán công việc
B3:Chọn phương pháp giải
B4:Viết thuật giải
B5:Lập chương trình
B6:Thử nghiệm chương trình
B7:Giải bài toán
B8:Phân tích đánh giá và sử dụng kết quả
B9:Viết tài liệu hướng dẫn
1.3 Thuật toán và chương trình:
Thuật toán là một bản hướng dẫn bao gồm một số hữu hạn các mệnh lệnh quy địnhchính xác những phép toán và động tác cần thực hiện một cách máy móc theo mộttrình tự đã vạch rõ để giải quyết một loại bài toán hay nhiệm vụ nào đó.Các tínhchất của thuật toán là tính xác định, tính hữu hạn, tính đúng đắn, tính vào ra, tínhhiệu quả, tính tổng quát.Có 3 phương pháp biểu diễn thuật toán là dùng ngôn ngữ tựnhiên, dùng mã giả, dùng sơ đồ khối.Chương trình là một thuật toán, trong đó mỗilệnh được viết bằng các kí hiệu theo đúng quy cách thống nhất sao cho một máytính có thể nhận biết và thực hiện được
1.4 Phương pháp lập trình:
Lập trình thủ tục
Lập tình hướng đối tượng
Trang 8II Chương 2: Tổng quan về ngôn ngữ C
Là một xâu(dãy) các kí tự Trong ngôn ngữ lập tình nói chung đều yêu cầu phải tuântheo những ràng buộc nhất định Với C, tên là xâu kí tự chỉ có thể gồm: các chữ cái,chữ số, dấu gạch nối
Trang 9được định nghĩa trong thư viện của C Để sử dụng các thành phần này chúng ta phảichỉ dẫn cho chương trình dịch biết các thông tin về các thành phần sử dụng, cácthông tin đó được khai báo trong tệp gọi là các tệp tiêu đề (có phần mở rộng là h –viết tắt của header) Và phần các bao hàm tệp là các chỉ dẫn để chương trình gộpcác tệp này vào chương trình của chúng ta Trong một chương trình chúng ta có thểkhông dùng hoặc dùng nhiều tệp tiêu đề.
2.2.2 Các khai báo nguyên mẫu và định nghĩa hàm của người dùng
có thể không nhất thiết phải có dòng khai báo nguyên mẫu hàm
2.2.2.3 Định nghĩa kiểu mới
Ngoài những kiểu chuẩn đã được cung cấp sẵn của ngôn ngữ ,người lập trình có thểđịnh ra những kiểu mới từ những kiểu đã có bằng cách sử dụng từ khóa typedef(typedefine)
2.2.2.4 Định nghĩa biến và hằng
Biển là đại lượng có giá trị thuộc một kiểu dữ liệu nào đó mà được chấp nhận bởingôn ngữ (xem phần các kiểu dữ liệu), giá trị của biến có thể thay đổi trong thờigian tồn tại của biến (hay ta nói trong vòng đời của biến)
Các thành phần của chương trình sẽ được lưu trong bộ nhớ trong và biến cũngkhông ngoại lệ Tức là biến cũng được cấp phát một vùng nhớ để lưu giữ giá trịthuộc một kiểu dữ liệu xác định Vì thế theo một khía cạnh nào đó có thể nói biến làmột cái tên đại diện cho ô nhớ trong máy tính, chương trình có thể truy xuất ô nhớ(lấy hoặc ghi giá trị) thông qua tên biến
Trang 10Một biến nói chung phải có các đặc trưng sau:
• Tên biến
• Kiểu dữ liệu: kiểu của biến
• Giá trị hiện tại nó đang lưu giữ (giá trị của biến)
Hằng là đại lượng có giá trị thuộc một kiểu dữ liệu nhất định, nhưng giá trị củahằng không thể thay đổi trong thời gian tồn tại của nó
Có hai loại hằng, một là các hằng không có tên (chúng ta sẽ gọi là hằng thường) đó
là các giá trị cụ thể tức thời như: 8, hay 95 hoặc d’
Loại thứ hai là các hằng có tên (gọi là hằng ký hiệu) Các hằng ký hiệu cũng phảiđịnh nghĩa trước khi sử dụng, tên của hằng được đặt theo quy tắc của tên Sau đâynếu không có điều gì đặc biệt thì chúng ta gọi chung là hằng Hằng là đại lượng cógiá trị thuộc một kiểu dữ liệu nhất định, nhưng giá trị của hằng không thể thay đổitrong thời gian tồn tại của nó
2.2.2.6 Hàm main
Đây là thành phần bắt buộc duy nhất trong một chương trình C, thân của hàm mainbắt đầu từ sau dấu mở móc { (dòng 7) cho tới dấu đóng móc } (dòng 8) Khônggiống như chương trình của Pascal luôn có phần chương trình chính, chương trìnhtrong C được phân thành các hàm độc lập, các hàm có cú pháp như nhau và cùngmức, và một hàm đảm nhiệm phần thân chính của chương trình, tức là chương trình
sẽ bắt đầu được thực hiện từ dòng lệnh đầu tiên và kết thúc sau lệnh cuối cùng trongthân hàm main
2.3 Các kiểu dữ liệu cơ sở
2.3.1 Kiểu vô hướng đơn giản
Kiểu int
Kiểu dữ liệu số thực
Kiểu dữ liệu double
Kiểu dữ liệu char
Trang 11Kiểu dữ liệu void
Các kiểu dữ liệu dẫn xuất
2.3.2 Kiểu dữ liệu có cấu trúc
2.3.3 Kiểu con trỏ
2.4 Biểu thức – câu lệnh
Biểu thức là sự kết hợp giữa các toán hạng và các toán tử theo một cách phù hợp đểdiễn đạt một công thức toán học nào đó Các toán hạng có thể là hằng, biến, hay lờigọi hàm hay một biểu thức con Các toán tử thuộc vào tập các toán tử mà ngôn ngữ
hỗ trợ
Câu lệnh đảm nhiệm một chức năng nào đó trong chương trình
2.5 Vào -ra dữ liệu
2.5.2 Tập tin tiêu đề <stdio.h>
2.5.2 Nhập và xuất trong C
Hàm nhập có định dạng scantf()
Hàm xuất có định dạng printf
Trang 12III Chương 3: Xây dựng chương trình
3.1 Chương trình quản lý sinh viên
void nhap ( SV & sv ){
printf ( " \n Nhap msv: " ); scanf ( " %s " ,& sv msv );
printf ( "Nhap ten: " ); fflush (stdin); gets ( sv ten );
printf ( "Nhap gioi tinh: " ); gets ( ); sv gt
printf ( "Nhap ngay sinh: " ); scanf ( " %d%d%d " ,& sv date ngay sv date thang sv date nam ,& ,& ); printf ( "Sinh vien lop:" ); scanf ( " %s " ,& sv lop );
printf ( "Diem toan cao cap: " ); scanf ( " %f " ,& sv toan );
printf ( "Diem triet: " ); scanf ( " %f " ,& sv triet );
printf ( "Diem lap trinh C: " ); scanf ( " %f " ,& ); sv ltc
sv dtb = ; 0
}
Trang 13void nhapN ( SV a [], int n ){
printf ( " \n ==NHAP THONG TIN SINH VIEN== \n " );
for ( int i = ; i< n; ++i){ 0
printf ( " \n Nhap SV thu %d :" , i+ 1
Trang 14else if ( sv dtb >= 6.5 ) printf ( "Kha" );
else if ( sv dtb >= ) 4 printf ( "Trung binh" );
else printf ( "Yeu" );
}
void xeploaiN ( SV a [], int n ){
printf ( " " \n \n ); for ( int i = ;i < n;++i){ 0
printf ( " \n Xep loai cua SV %s la: " , [i] a ten ); xeploai ( [i]); a
Trang 15for 0 ; i< ; i++){ n
fprintf ( fb , "| %-5s | \t %-20s\t | %-11s | " \t , a [i] msv , a [i] ten a , [i] gt );
fprintf ( fb , " %d /" , a [i] date ngay );
fprintf ( , fb " %d a /" , [i] date thang );
fprintf ( , fb " %d \t |" , [i] a date nam );
Trang 16printf ( "============================================================= " \n ); printf ( "1 NHAP THONG TIN SINH VIEN \n " );
printf ( "2 XUAT DANH SACH SINH VIEN \n " );
printf ( "3 TINH DIEM TRUNG BINH SINH VIEN \n " );
printf ( "4 SAP XEP SINH VIEN THEO THU TU TANG DAN CUA DIEM TRUNG BINH \n " ); printf ( "5 XEP LOAI SINH VIEN \n " );
printf ( "6 NHAP, XUAT DU LIEU VAO FILE \n " );
printf ( "0 THOAT CHUONG TRINH \n " );
printf ( "============================================================= " \n ); printf ( "** Nhap lua chon cua ban ** \n " );
Trang 17dtb (a, n);
printf ( " \n \t DA HOAN THANH!" );
printf ( " \n Bam phim bat ky de tiep tuc!" );
Trang 18printf ( " \n Ban da chon thoat chuong trinh!" ); getch ();
return 0 ;
default :
printf ( " \n Khong co chuc nang nay!" ); printf ( " \n Bam phim bat ky de tiep tuc!" ); getch ();
3.2.1 Nhập thông tin sinh viên
3.2.2 Xuất danh sách sinh viên
Trang 193.2.3 Tính điểm trung bình của sinh viên
Trang 203.2.4 Sắp xếp danh sách sinh viên theo thứ tự tăng dần của điểm trung bình
3.2.5 Xếp loại sinh viên
Trang 213.2.6 Xuất dữ liệu vào file
Trang 223.2.7 Thoát chương trình