Create Database De05
Go
Use De05
Go
Drop Table Person
Create Table Person
(
ID smallint Constraint PK_Contact Primary Key (ID),
HoVaTen varchar(60) NOT NULL,
NgaySinh date,
DiaChi varchar(120)
)
Go
Drop Table PhoneNumber
Create Table PhoneNumber
(
ID smallint Constraint FK_Contact Foreign Key (ID) References Person(ID),
DienThoai numeric
)
Go
Insert Into Person Values ('101', 'Vu Hoang Nam', '1996-01-08', 'Hoang Dao Thuy, Ha Noi')
Insert Into Person Values ('102', 'Chu Bao Ngoc', '1996-07-11', 'Minh Khai, Ha Noi')
Insert Into Person Values ('103', 'Nguyen Thanh Tung', '1996-07-09', 'Thuy Khue, Ha Noi')
Insert Into Person Values ('104', 'Hoang Dung', '1996-04-20', 'Nguyen Thi Thap, Ha Noi')
Insert Into Person Values ('105', 'Bui Huu Viet Hung', '1996-05-07', NULL)
Insert Into Person Values ('106', 'Vu Hoang Nam', '1996-01-08', 'Hoang Dao Thuy, Ha Noi')
Go
Insert Into PhoneNumber Values ('101', 0917463454)
Insert Into PhoneNumber Values ('102', 01653486187)
Insert Into PhoneNumber Values ('103', 0946510796)
Insert Into PhoneNumber Values ('104', 0984075186)
Insert Into PhoneNumber Values ('105', 01658904232)
Insert Into PhoneNumber Values ('106', 0942998858)
Go
--Liệt kê danh sách những người trong danh bạ
Select * From Person
Go
--Liệt kê danh sách số điện thoại có trong danh bạ
Select * From PhoneNumber
Go
--Liệt kê các số điện thoại của người có tên là Nguyễn Văn An.
Select HoVaTen, DienThoai From Person As A
Inner Join PhoneNumber As B On A.ID = B.ID
Where HoVaTen like 'Chu Bao Ngoc'
Go
--Liệt kê những người có ngày sinh là 12/12/09
Select * From Person
Where NgaySinh = '1996-04-20'
Go
--Liệt kê danh sách người trong danh bạ theo thứ thự alphabet.
Select * From Person
Order By HoVaTen ASC
Go
--Tìm số lượng số điện thoại của mỗi người trong danh bạ.
Select HoVaTen, Count(*) As SoLuongSoDT From PhoneNumber As B
Inner Join Person As A On A.ID = B.ID
Group By HoVaTen
Go
--Tìm tổng số người trong danh bạ sinh vào thang 12.
Select Count(HoVaTen) From Person
Where DatePart(mm, NgaySinh) = 7
Go
--Viết câu lệnh để thay đổi trường ngày sinh là trước ngày hiện tại.
Alter Table Person
Add Constraint dateofbirth Check (NgaySinh < GetDate())
Go
--Viết câu lệnh để xác định các trường khóa chính và khóa ngoại của các bảng.
Alter Table PhoneNumber Drop Constraint FK_Contact
Alter Table Person Drop Constraint PK_Contact
Alter Table Person Add Constraint PK_Contact Primary Key (ID)
Alter Table Person Add Constraint FK_Contact Foreign Key (ID) References Person(ID)
Go
--Viết câu lệnh để thêm trường ngày bắt đầu liên lạc.
Alter Table PhoneNumber
Add NgayBatDauLienLac date
Go
--IX_HoTen: Đặt chỉ mục cho cột Họ và tên
Create NonClustered Index IX_FullName
On Person(HoVaTen)
Go
--IX_SoDienThoai: Đặt chỉ mục cho cột Số điện thoại
Create NonClustered Index IX_PhoneNumber
On PhoneNumber(DienThoai)
Go
--View_SoDienThoai: hiển thị các thông tin gồm Họ tên, Số điện thoại
Create View View_SoDienThoai
As
Select HoVaTen, DienThoai
From Person As A
Inner Join PhoneNumber As B On A.ID = B.ID
Go
Select * From View_SoDienThoai
Go
--View_SinhNhat: Hiển thị những người có sinh nhật trong tháng hiện tại (Họ tên, Ngày sinh, Số điện thoại)
Create View View_SinhNhat
As
Select HoVaTen, NgaySinh, DienThoai
From Person As A
Inner Join PhoneNumber As B On A.ID = B.ID
Where DatePart(mm, NgaySinh) = GetDate()
Go
Select * From View_SinhNhat
Go
--SP_Them_DanhBa: Thêm một người mới vào danh bạ
Create Procedure SP_Them_DanhBa
@ID smallint,
@Name char(60),
@BirthDate date,
@Address char(120)
As
Begin
Insert Into Person (ID, HoVaTen, NgaySinh, DiaChi)
Values (@ID, @Name, @BirthDate, @Address)
End
Go
Execute SP_Them_DanhBa '107', 'Do Huy Phong', '1995-01-25', 'Lang Ha, Ha Noi'
Execute SP_Them_DanhBa '108', 'Trinh Bach', '1995-01-30', NULL
Go
Insert Into PhoneNumber (ID, DienThoai) Values ('107', '0982336668')
Insert Into PhoneNumber (ID, DienThoai) Values ('108', '01697151420')
Go
--SP_Tim_DanhBa: Tìm thông tin liên hệ của một người theo tên (gần đúng)
Create Procedure SP_Tim_DanhBa
@FullName char(60)
As
Select HoVaTen, NgaySinh, DiaChi, DienThoai
From Person As A
Inner Join PhoneNumber As B On A.ID = B.ID
Where HoVaTen = @FullName
Go
Execute SP_Tim_DanhBa 'Trinh Bach'
Go
--Hiển thị toàn bộ thông tin về người, của từng số điện thoại.
Select HoVaTen, NgaySinh, DiaChi, DienThoai
From Person As A
Inner Join PhoneNumber As B On A.ID = B.ID
Go
--Hiển thị toàn bộ thông tin về người, của số điện thoại 123456789.
Declare @Number bigint
Set @Number = '0984075186'
Select HoVaTen, NgaySinh, DiaChi, DienThoai
From Person As A
Inner Join PhoneNumber As B On A.ID = B.ID
Where DienThoai = @Number
Thứ Tư, 3 tháng 6, 2015
[DBM] Assignment 03
Create Database De03
Go
Use De03
Go
Create Table KhachHang
(
MaKH smallint Constraint PK_Customer Primary Key (MaKH),
TenKH varchar(60) NOT NULL,
SoCMND int Constraint CK_IdentityCard Check (SoCMND > 0),
DiaChi varchar(120)
)
Create Table ThueBao
(
MaTB char(5) Constraint PK_Subscription Primary Key (MaTB),
SoThueBao bigint Constraint CK_Number Check (SoThueBao > 0) NOT NULL,
LoaiThueBao varchar(30) NOT NULL
)
Create Table DangKy
(
MaKH smallint Constraint FK_Customer Foreign Key (MaKH) References KhachHang(MaKH),
MaTB char(5) Constraint FK_Subscription Foreign Key (MaTB) References ThueBao(MaTB),
NgayDangKy date
)
Go
Insert Into ThueBao Values ('N1001', '0917463454', 'Tra truoc')
Insert Into ThueBao Values ('N1002', '0942998858', 'Tra truoc')
Insert Into ThueBao Values ('N1003', '0913812802', 'Tra truoc')
Insert Into ThueBao Values ('N1004', '01247610319', 'Tra truoc')
Insert Into ThueBao Values ('N1005', '0936255596', 'Tra truoc')
Insert Into ThueBao Values ('N1006', '01259586979', 'Tra truoc')
Go
Insert Into DangKy Values ('101', 'N1001', '2015-02-14')
Insert Into DangKy Values ('102', 'N1003', '2014-12-31')
Insert Into DangKy Values ('103', 'N1005', '2013-12-31')
Insert Into DangKy Values ('104', 'N1006', '2011-09-05')
Go
Insert Into KhachHang Values ('101', 'Vu Hoang Nam', '013273654', 'Hoang Dao Thuy, Ha Noi')
Insert Into KhachHang Values ('102', 'Ngo Minh Duc', NULL, 'Phuong Mai, Ha Noi')
Insert Into KhachHang Values ('103', 'Nguyen Van Hoc', NULL, 'Le Van Luong, Ha Noi')
Insert Into KhachHang Values ('104', 'Nguyen Viet Anh', NULL, 'Cu Loc, Ha Noi')
Go
--Hiển thị toàn bộ thông tin của các khách hàng của công ty.
Select * From KhachHang
Go
--Hiển thị toàn bộ thông tin của các số thuê bao của công ty.
Select * From ThueBao
Go
--Hiển thị toàn bộ thông tin của thuê bao có số: 0123456789
Declare @Number bigint
Set @Number = 0942998858
Select * From ThueBao
Where SoThueBao = @Number
Go
--Hiển thị thông tin về khách hàng có số CMTND: 123456789
Declare @Card int
Set @Card = 013273654
Select * From KhachHang
Where SoCMND = @Card
Go
--Hiển thị các số thuê bao của khách hàng có số CMTND:123456789
Select TenKH, SoCMND, SoThueBao, LoaiThueBao From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where SoCMND = 013273654
Go
--Liệt kê các thuê bao đăng ký vào ngày 12/12/09
Select SoThueBao, LoaiThueBao, NgayDangKy From DangKy As C
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where NgayDangKy = '2014-12-31'
Go
--Liệt kê các thuê bao có địa chỉ tại Hà Nội
Select TenKH, DiaChi, SoThueBao, LoaiThueBao From DangKy As C
Inner Join ThueBao As B On B.MaTB = C.MaTB
Inner Join KhachHang As A On A.MaKH = C.MaKH
Where DiaChi like '%Ha Noi%'
Go
--Tổng số khách hàng của công ty
Select Count(*)
From KhachHang
Go
--Tổng số thuê bao của công ty
Select Count(*)
From ThueBao
Go
--Tổng số thuê bao đăng ký ngày 12/12/09
Select Count(SoThueBao) From DangKy As C
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where NgayDangKy = '2013-12-31'
Go
--Viết câu lệnh để thay đổi trường ngày đăng ký là NOT NULL
Alter Table DangKy
Alter Column NgayDangKy date NOT NULL
Go
--Viết câu lệnh để thay đổi trường ngày đăng ký là trước hoặc bằng ngày hiện tại
Alter Table DangKy
Add Constraint CK_RegistrationDate Check (NgayDangKy < GetDate() or NgayDangKy = GetDate())
Go
--Viết câu lệnh để thêm trường số điểm thưởng cho mỗi số thuê bao
Alter Table ThueBao
Add SoDiemThuong tinyint Check (SoDiemThuong >= 0)
Go
--Đặt chỉ mục (Index) cho cột Tên khách hàng của bảng chứa thông tin khách hàng
Alter Table DangKy
Drop Constraint FK_Customer
Alter Table KhachHang
Drop Constraint PK_Customer
Create Unique Clustered Index IX_CustomerName
On KhachHang(TenKH)
Alter Table KhachHang
Add Constraint PK_Customer Primary Key (MaKH)
Alter Table DangKy
Add Constraint FK_Customer Foreign Key (MaKH) References KhachHang(MaKH)
Go
Alter Table ThongTinKhachHang
Add Constraint PK_CustomerID Primary Key (MaKhachHang)
Go
--View_KhachHang: Hiển thị các thông tin Mã khách hàng, Tên khách hàng, Địa chỉ
Create View View_KhachHang
As
Select MaKH, TenKH, DiaChi
From KhachHang
Go
Select * From View_KhachHang
Go
--View_KhachHang_ThueBao: Hiển thị thông tin Mã khách hàng, Tên khách hàng, Số thuê bao
Create View View_KhachHang_ThueBao
As
Select MaKH, TenKH, SoThueBao
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Go
Select * From View_KhachHang_ThueBao
Go
--SP_TimKH_ThueBao: Hiển thị thông tin của khách hàng với số thuê bao nhập vào
Create Procedure SP_TimKH_ThueBao
@Number bigint
As
Select TenKH, SoCMND, DiaChi
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where SoThueBao = @Number
Go
Execute SP_TimKH_ThueBao '01259586979'
Go
--SP_TimTB_KhachHang: Liệt kê các số điện thoại của khách hàng theo tên truyền vào
Create Procedure SP_TimTB_KhachHang
@Name char(60)
As
Select TenKH, SoThueBao As SoDienThoai
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where TenKH = @Name
Go
Execute SP_TimTB_KhachHang 'Nguyen Van Hoc'
Go
--SP_ThemTB: Thêm mới một thuê bao cho khách hàng
Create Procedure SP_ThemTB
@SubscriptionID char(5),
@SubscriptionNumber bigint,
@SubscriptionType varchar(30)
As
Begin
Insert Into ThueBao (MaTB, SoThueBao, LoaiThueBao)
Values (@SubscriptionID, @SubscriptionNumber, @SubscriptionType)
End
Go
Execute SP_ThemTB 'N1007', '0984262810', 'Tra truoc'
Go
--SP_HuyTB_MaKH: Xóa bỏ thuê bao của khách hàng theo Mã khách hàng
Create Procedure SP_HuyTB_MaKH
@CustomerID int
As
Begin
Delete From DangKy
Where MaKH = @CustomerID
End
Go
Execute SP_HuyTB_MaKH 104
Go
--Viết câu lệnh để thay đổi số điện thoại phải bắt đầu 09
Update ThueBao Set SoThueBao = '0967404230' Where MaTB = 'N1007'
Go
--Hiển thị toàn bộ thông tin về khách hàng và thuê bao của tất cả các số thuê bao
Select TenKH, SoCMND, DiaChi, SoThueBao, LoaiThueBao
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Go
Use De03
Go
Create Table KhachHang
(
MaKH smallint Constraint PK_Customer Primary Key (MaKH),
TenKH varchar(60) NOT NULL,
SoCMND int Constraint CK_IdentityCard Check (SoCMND > 0),
DiaChi varchar(120)
)
Create Table ThueBao
(
MaTB char(5) Constraint PK_Subscription Primary Key (MaTB),
SoThueBao bigint Constraint CK_Number Check (SoThueBao > 0) NOT NULL,
LoaiThueBao varchar(30) NOT NULL
)
Create Table DangKy
(
MaKH smallint Constraint FK_Customer Foreign Key (MaKH) References KhachHang(MaKH),
MaTB char(5) Constraint FK_Subscription Foreign Key (MaTB) References ThueBao(MaTB),
NgayDangKy date
)
Go
Insert Into ThueBao Values ('N1001', '0917463454', 'Tra truoc')
Insert Into ThueBao Values ('N1002', '0942998858', 'Tra truoc')
Insert Into ThueBao Values ('N1003', '0913812802', 'Tra truoc')
Insert Into ThueBao Values ('N1004', '01247610319', 'Tra truoc')
Insert Into ThueBao Values ('N1005', '0936255596', 'Tra truoc')
Insert Into ThueBao Values ('N1006', '01259586979', 'Tra truoc')
Go
Insert Into DangKy Values ('101', 'N1001', '2015-02-14')
Insert Into DangKy Values ('102', 'N1003', '2014-12-31')
Insert Into DangKy Values ('103', 'N1005', '2013-12-31')
Insert Into DangKy Values ('104', 'N1006', '2011-09-05')
Go
Insert Into KhachHang Values ('101', 'Vu Hoang Nam', '013273654', 'Hoang Dao Thuy, Ha Noi')
Insert Into KhachHang Values ('102', 'Ngo Minh Duc', NULL, 'Phuong Mai, Ha Noi')
Insert Into KhachHang Values ('103', 'Nguyen Van Hoc', NULL, 'Le Van Luong, Ha Noi')
Insert Into KhachHang Values ('104', 'Nguyen Viet Anh', NULL, 'Cu Loc, Ha Noi')
Go
--Hiển thị toàn bộ thông tin của các khách hàng của công ty.
Select * From KhachHang
Go
--Hiển thị toàn bộ thông tin của các số thuê bao của công ty.
Select * From ThueBao
Go
--Hiển thị toàn bộ thông tin của thuê bao có số: 0123456789
Declare @Number bigint
Set @Number = 0942998858
Select * From ThueBao
Where SoThueBao = @Number
Go
--Hiển thị thông tin về khách hàng có số CMTND: 123456789
Declare @Card int
Set @Card = 013273654
Select * From KhachHang
Where SoCMND = @Card
Go
--Hiển thị các số thuê bao của khách hàng có số CMTND:123456789
Select TenKH, SoCMND, SoThueBao, LoaiThueBao From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where SoCMND = 013273654
Go
--Liệt kê các thuê bao đăng ký vào ngày 12/12/09
Select SoThueBao, LoaiThueBao, NgayDangKy From DangKy As C
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where NgayDangKy = '2014-12-31'
Go
--Liệt kê các thuê bao có địa chỉ tại Hà Nội
Select TenKH, DiaChi, SoThueBao, LoaiThueBao From DangKy As C
Inner Join ThueBao As B On B.MaTB = C.MaTB
Inner Join KhachHang As A On A.MaKH = C.MaKH
Where DiaChi like '%Ha Noi%'
Go
--Tổng số khách hàng của công ty
Select Count(*)
From KhachHang
Go
--Tổng số thuê bao của công ty
Select Count(*)
From ThueBao
Go
--Tổng số thuê bao đăng ký ngày 12/12/09
Select Count(SoThueBao) From DangKy As C
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where NgayDangKy = '2013-12-31'
Go
--Viết câu lệnh để thay đổi trường ngày đăng ký là NOT NULL
Alter Table DangKy
Alter Column NgayDangKy date NOT NULL
Go
--Viết câu lệnh để thay đổi trường ngày đăng ký là trước hoặc bằng ngày hiện tại
Alter Table DangKy
Add Constraint CK_RegistrationDate Check (NgayDangKy < GetDate() or NgayDangKy = GetDate())
Go
--Viết câu lệnh để thêm trường số điểm thưởng cho mỗi số thuê bao
Alter Table ThueBao
Add SoDiemThuong tinyint Check (SoDiemThuong >= 0)
Go
--Đặt chỉ mục (Index) cho cột Tên khách hàng của bảng chứa thông tin khách hàng
Alter Table DangKy
Drop Constraint FK_Customer
Alter Table KhachHang
Drop Constraint PK_Customer
Create Unique Clustered Index IX_CustomerName
On KhachHang(TenKH)
Alter Table KhachHang
Add Constraint PK_Customer Primary Key (MaKH)
Alter Table DangKy
Add Constraint FK_Customer Foreign Key (MaKH) References KhachHang(MaKH)
Go
Alter Table ThongTinKhachHang
Add Constraint PK_CustomerID Primary Key (MaKhachHang)
Go
--View_KhachHang: Hiển thị các thông tin Mã khách hàng, Tên khách hàng, Địa chỉ
Create View View_KhachHang
As
Select MaKH, TenKH, DiaChi
From KhachHang
Go
Select * From View_KhachHang
Go
--View_KhachHang_ThueBao: Hiển thị thông tin Mã khách hàng, Tên khách hàng, Số thuê bao
Create View View_KhachHang_ThueBao
As
Select MaKH, TenKH, SoThueBao
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Go
Select * From View_KhachHang_ThueBao
Go
--SP_TimKH_ThueBao: Hiển thị thông tin của khách hàng với số thuê bao nhập vào
Create Procedure SP_TimKH_ThueBao
@Number bigint
As
Select TenKH, SoCMND, DiaChi
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where SoThueBao = @Number
Go
Execute SP_TimKH_ThueBao '01259586979'
Go
--SP_TimTB_KhachHang: Liệt kê các số điện thoại của khách hàng theo tên truyền vào
Create Procedure SP_TimTB_KhachHang
@Name char(60)
As
Select TenKH, SoThueBao As SoDienThoai
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
Where TenKH = @Name
Go
Execute SP_TimTB_KhachHang 'Nguyen Van Hoc'
Go
--SP_ThemTB: Thêm mới một thuê bao cho khách hàng
Create Procedure SP_ThemTB
@SubscriptionID char(5),
@SubscriptionNumber bigint,
@SubscriptionType varchar(30)
As
Begin
Insert Into ThueBao (MaTB, SoThueBao, LoaiThueBao)
Values (@SubscriptionID, @SubscriptionNumber, @SubscriptionType)
End
Go
Execute SP_ThemTB 'N1007', '0984262810', 'Tra truoc'
Go
--SP_HuyTB_MaKH: Xóa bỏ thuê bao của khách hàng theo Mã khách hàng
Create Procedure SP_HuyTB_MaKH
@CustomerID int
As
Begin
Delete From DangKy
Where MaKH = @CustomerID
End
Go
Execute SP_HuyTB_MaKH 104
Go
--Viết câu lệnh để thay đổi số điện thoại phải bắt đầu 09
Update ThueBao Set SoThueBao = '0967404230' Where MaTB = 'N1007'
Go
--Hiển thị toàn bộ thông tin về khách hàng và thuê bao của tất cả các số thuê bao
Select TenKH, SoCMND, DiaChi, SoThueBao, LoaiThueBao
From DangKy As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join ThueBao As B On B.MaTB = C.MaTB
[DBM] Assignment 01
Create Database De01
Go
Use De01
Create Table KhachHang
(
MaKH char(3) Constraint PK_Customer Primary Key (MaKH),
TenKH varchar(50),
DiaChi varchar(120),
SoDienThoai char(11)
)
Create Table SanPham
(
MaSP char(10) Constraint PK_Product Primary Key (MaSP),
TenSP varchar(120),
DonVi char(20),
Gia money
)
Create Table HoaDon
(
MaKH char(3) Constraint FK_Customer Foreign Key References KhachHang(MaKH),
MaSP char(10) Constraint FK_Product Foreign Key References SanPham(MaSP),
SoLuong char(2),
NgayDatHang date,
ThanhTien money
)
Go
Drop Table HoaDon
Drop Table SanPham
Drop Table KhachHang
Go
Insert Into KhachHang Values (101, 'Vu Hoang Nam', 'Hoang Dao Thuy, Ha Noi', 0942998858)
Insert Into KhachHang Values (102, 'Do Huy Phong', 'Lang Ha, Ha Noi', 0982336668)
Insert Into KhachHang Values (103, 'Tran Hoang Linh', 'Lang Ha, Ha Noi', 0949975730)
Go
Insert Into SanPham Values ('P1001', 'Sony XBR-84X900 (84-inch, Full HD, 3D, 4K Resolution, LCD TV)', 'Chiec', 800000000)
Insert Into SanPham Values ('P1002', 'Sony Bravia KD-65X9004A (65-Inch, LED TV)', 'Chiec', 85000000)
Insert Into SanPham Values ('P1003', 'Apple iMac Retina 5K (Intel Core i5-4690 3.5GHz, 8GB RAM, 1TB HDD, VGA AMD Radeon R9 M290X, 27 inch, Mac OSX 10.10)','Chiec', 56000000)
Insert Into SanPham Values ('P1004', 'Apple iPhone 6 64GB Space Gray (International)', 'Chiec', 16000000)
Insert Into SanPham Values ('P1005', 'Sony PlayStation 4 500GB', 'Chiec', 10000000)
Insert Into SanPham Values ('P1006', 'Apple iPhone 5 16GB Black', 'Chiec', 8500000)
Go
Insert Into HoaDon Values (101, 'P1005', 2, '2015-02-03', 10000000 * 2)
Insert Into HoaDon Values (101, 'P1004', 1, '2015-02-14', 16000000)
Insert Into HoaDon Values (102, 'P1006', 1, '2013-01-05', 8500000)
Insert Into HoaDon Values (103, NULL, 0, '2015-02-14', 0)
Go
--Liệt kê danh sách khách hàng đã mua hàng ở cửa hàng.
Select TenKH, SoLuong, NgayDatHang, ThanhTien From HoaDon
Inner Join KhachHang On HoaDon.MaKH = KhachHang.MaKH
Where SoLuong > 0
Go
--Liệt kê danh sách sản phẩm của của hàng.
Select TenSP From SanPham
Go
--Liệt kê danh sách các đơn đặt hàng của cửa hàng.
Select TenKH As NguoiDatHang, DiaChi, SoDienThoai As DienThoai, NgayDatHang
From HoaDon
Inner Join KhachHang
On HoaDon.MaKH = KhachHang.MaKH
Go
--Liệt kê danh sách khách hàng theo thứ thự alphabet.
Select * From KhachHang
Order By TenKH ASC
Go
--Liệt kê danh sách sản phẩm của cửa hàng theo thứ thự giá giảm dần.
Select * From SanPham
Order By Gia DESC
Go
--Liệt kê các sản phẩm mà khách hàng Nguyễn Văn An đã mua.
Declare @Name char(60)
Set @Name = 'Do Huy Phong'
Select TenKH, TenSP From HoaDon As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join SanPham As B On B.MaSP = C.MaSP
Where TenKH = @Name
Go
--Số mặt hàng mà cửa hàng bán.
Select Count(*) As SoMatHang
From SanPham
Go
--Tổng tiền của từng đơn hàng.
Select TenKH, Sum(ThanhTien) As TongTien
From KhachHang As A Inner Join HoaDon As C
On A.MaKH = C.MaKH
Group By TenKH
Go
--Viết câu lệnh để thay đổi trường giá tiền của từng mặt hàng là dương(>0).
Alter Table SanPham
Add Constraint CK_Price Check (Gia > 0)
Go
--Viết câu lệnh để thay đổi ngày đặt hàng của khách hàng phải nhỏ hơn ngày hiện tại.
Alter Table HoaDon
Add Constraint CK_PurchaseDate Check (NgayDatHang < GetDate())
Go
--Viết câu lệnh để thêm trường ngày xuất hiện trên thị trường của sản phẩm.
Alter Table SanPham
Add NgayXuatHien datetime
Go
--Đặt chỉ mục (index) cho cột Tên hàng và Người đặt hàng để tăng tốc độ truy vấn dữ liệu trên các cột này.
Create NonClustered Index IX_MatHang
On SanPham(TenSP)
Create NonClustered Index IX_KhachHang
On KhachHang(TenKH)
Exec sp_helpindex 'SanPham'
Exec sp_helpindex 'KhachHang'
Go
--View_KhachHang với các cột: Tên khách hàng, Địa chỉ, Điện thoại.
Create View View_KhachHang
As
Select TenKH As TenKhachHang, DiaChi, SoDienThoai
From KhachHang
Select * From View_KhachHang
Go
--View_SanPham với các cột: Tên sản phẩm, Giá bán.
Create View View_SanPham
As
Select TenSP As TenSanPham, Gia As GiaBan
From SanPham
Select * From View_SanPham
Go
--View_KhachHang_SanPham với các cột: Tên khách hàng, Số điện thoại, Tên sản phẩm, Số lượng, Ngày mua.
Create View View_KhachHang_SanPham
As
Select TenKH As TenKhachHang, SoDienThoai, TenSP As TenSanPham, SoLuong, NgayDatHang As NgayMua
From HoaDon As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join SanPham As B On B.MaSP = C.MaSP
Select * From View_KhachHang_SanPham
Go
--SP_TimKH_MaKH: Tìm khách hàng theo mã khách hàng
Create Procedure SP_TimKH_MaKH
@CustomerID int
As
Select MaKH, TenKH From KhachHang
Where MaKH = @CustomerID
Execute SP_TimKH_MaKH 101
Go
Alter Table HoaDon
Add MaHD int Constraint PK_Bill Primary Key (MaHD) Identity (201, 1)
Go
--SP_TimKH_MaHD: Tìm thông tin khách hàng theo mã hóa đơn
Create Procedure SP_TimKH_MaHD
@Bill int
As
Select TenKH, DiaChi, SoDienThoai
From KhachHang As A
Inner Join HoaDon As C On A.MaKH = C.MaKH
Where MaHD = @Bill
Execute SP_TimKH_MaHD 203
Go
--SP_SanPham_MaKH: Liệt kê các sản phẩm được mua bởi khách hàng có mã được truyền vào Store.
Create Procedure SP_SanPham_MaKH
@Customer char(50)
As
Select TenKH, TenSP
From HoaDon As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join SanPham As B On B.MaSP = C.MaSP
Where TenKH = @Customer
Execute SP_SanPham_MaKH 'Vu Hoang Nam'
Go
--Số khách hàng đã mua ở cửa hàng.
Select Count(TenKH) As TongKhachHang
From KhachHang
Go
Use De01
Create Table KhachHang
(
MaKH char(3) Constraint PK_Customer Primary Key (MaKH),
TenKH varchar(50),
DiaChi varchar(120),
SoDienThoai char(11)
)
Create Table SanPham
(
MaSP char(10) Constraint PK_Product Primary Key (MaSP),
TenSP varchar(120),
DonVi char(20),
Gia money
)
Create Table HoaDon
(
MaKH char(3) Constraint FK_Customer Foreign Key References KhachHang(MaKH),
MaSP char(10) Constraint FK_Product Foreign Key References SanPham(MaSP),
SoLuong char(2),
NgayDatHang date,
ThanhTien money
)
Go
Drop Table HoaDon
Drop Table SanPham
Drop Table KhachHang
Go
Insert Into KhachHang Values (101, 'Vu Hoang Nam', 'Hoang Dao Thuy, Ha Noi', 0942998858)
Insert Into KhachHang Values (102, 'Do Huy Phong', 'Lang Ha, Ha Noi', 0982336668)
Insert Into KhachHang Values (103, 'Tran Hoang Linh', 'Lang Ha, Ha Noi', 0949975730)
Go
Insert Into SanPham Values ('P1001', 'Sony XBR-84X900 (84-inch, Full HD, 3D, 4K Resolution, LCD TV)', 'Chiec', 800000000)
Insert Into SanPham Values ('P1002', 'Sony Bravia KD-65X9004A (65-Inch, LED TV)', 'Chiec', 85000000)
Insert Into SanPham Values ('P1003', 'Apple iMac Retina 5K (Intel Core i5-4690 3.5GHz, 8GB RAM, 1TB HDD, VGA AMD Radeon R9 M290X, 27 inch, Mac OSX 10.10)','Chiec', 56000000)
Insert Into SanPham Values ('P1004', 'Apple iPhone 6 64GB Space Gray (International)', 'Chiec', 16000000)
Insert Into SanPham Values ('P1005', 'Sony PlayStation 4 500GB', 'Chiec', 10000000)
Insert Into SanPham Values ('P1006', 'Apple iPhone 5 16GB Black', 'Chiec', 8500000)
Go
Insert Into HoaDon Values (101, 'P1005', 2, '2015-02-03', 10000000 * 2)
Insert Into HoaDon Values (101, 'P1004', 1, '2015-02-14', 16000000)
Insert Into HoaDon Values (102, 'P1006', 1, '2013-01-05', 8500000)
Insert Into HoaDon Values (103, NULL, 0, '2015-02-14', 0)
Go
--Liệt kê danh sách khách hàng đã mua hàng ở cửa hàng.
Select TenKH, SoLuong, NgayDatHang, ThanhTien From HoaDon
Inner Join KhachHang On HoaDon.MaKH = KhachHang.MaKH
Where SoLuong > 0
Go
--Liệt kê danh sách sản phẩm của của hàng.
Select TenSP From SanPham
Go
--Liệt kê danh sách các đơn đặt hàng của cửa hàng.
Select TenKH As NguoiDatHang, DiaChi, SoDienThoai As DienThoai, NgayDatHang
From HoaDon
Inner Join KhachHang
On HoaDon.MaKH = KhachHang.MaKH
Go
--Liệt kê danh sách khách hàng theo thứ thự alphabet.
Select * From KhachHang
Order By TenKH ASC
Go
--Liệt kê danh sách sản phẩm của cửa hàng theo thứ thự giá giảm dần.
Select * From SanPham
Order By Gia DESC
Go
--Liệt kê các sản phẩm mà khách hàng Nguyễn Văn An đã mua.
Declare @Name char(60)
Set @Name = 'Do Huy Phong'
Select TenKH, TenSP From HoaDon As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join SanPham As B On B.MaSP = C.MaSP
Where TenKH = @Name
Go
--Số mặt hàng mà cửa hàng bán.
Select Count(*) As SoMatHang
From SanPham
Go
--Tổng tiền của từng đơn hàng.
Select TenKH, Sum(ThanhTien) As TongTien
From KhachHang As A Inner Join HoaDon As C
On A.MaKH = C.MaKH
Group By TenKH
Go
--Viết câu lệnh để thay đổi trường giá tiền của từng mặt hàng là dương(>0).
Alter Table SanPham
Add Constraint CK_Price Check (Gia > 0)
Go
--Viết câu lệnh để thay đổi ngày đặt hàng của khách hàng phải nhỏ hơn ngày hiện tại.
Alter Table HoaDon
Add Constraint CK_PurchaseDate Check (NgayDatHang < GetDate())
Go
--Viết câu lệnh để thêm trường ngày xuất hiện trên thị trường của sản phẩm.
Alter Table SanPham
Add NgayXuatHien datetime
Go
--Đặt chỉ mục (index) cho cột Tên hàng và Người đặt hàng để tăng tốc độ truy vấn dữ liệu trên các cột này.
Create NonClustered Index IX_MatHang
On SanPham(TenSP)
Create NonClustered Index IX_KhachHang
On KhachHang(TenKH)
Exec sp_helpindex 'SanPham'
Exec sp_helpindex 'KhachHang'
Go
--View_KhachHang với các cột: Tên khách hàng, Địa chỉ, Điện thoại.
Create View View_KhachHang
As
Select TenKH As TenKhachHang, DiaChi, SoDienThoai
From KhachHang
Select * From View_KhachHang
Go
--View_SanPham với các cột: Tên sản phẩm, Giá bán.
Create View View_SanPham
As
Select TenSP As TenSanPham, Gia As GiaBan
From SanPham
Select * From View_SanPham
Go
--View_KhachHang_SanPham với các cột: Tên khách hàng, Số điện thoại, Tên sản phẩm, Số lượng, Ngày mua.
Create View View_KhachHang_SanPham
As
Select TenKH As TenKhachHang, SoDienThoai, TenSP As TenSanPham, SoLuong, NgayDatHang As NgayMua
From HoaDon As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join SanPham As B On B.MaSP = C.MaSP
Select * From View_KhachHang_SanPham
Go
--SP_TimKH_MaKH: Tìm khách hàng theo mã khách hàng
Create Procedure SP_TimKH_MaKH
@CustomerID int
As
Select MaKH, TenKH From KhachHang
Where MaKH = @CustomerID
Execute SP_TimKH_MaKH 101
Go
Alter Table HoaDon
Add MaHD int Constraint PK_Bill Primary Key (MaHD) Identity (201, 1)
Go
--SP_TimKH_MaHD: Tìm thông tin khách hàng theo mã hóa đơn
Create Procedure SP_TimKH_MaHD
@Bill int
As
Select TenKH, DiaChi, SoDienThoai
From KhachHang As A
Inner Join HoaDon As C On A.MaKH = C.MaKH
Where MaHD = @Bill
Execute SP_TimKH_MaHD 203
Go
--SP_SanPham_MaKH: Liệt kê các sản phẩm được mua bởi khách hàng có mã được truyền vào Store.
Create Procedure SP_SanPham_MaKH
@Customer char(50)
As
Select TenKH, TenSP
From HoaDon As C
Inner Join KhachHang As A On A.MaKH = C.MaKH
Inner Join SanPham As B On B.MaSP = C.MaSP
Where TenKH = @Customer
Execute SP_SanPham_MaKH 'Vu Hoang Nam'
Go
--Số khách hàng đã mua ở cửa hàng.
Select Count(TenKH) As TongKhachHang
From KhachHang
Thứ Tư, 1 tháng 4, 2015
5. first site
https://18348b97e915a66290b4401bd61850fae206bb40-www.googledrive.com/host/0B4DRhAsiVr3KU3BTRFdUcmpLOVE/
Thứ Hai, 23 tháng 3, 2015
3. css introduction
I. Lý thuyết:
1. CSS (Cascading Style Sheets) là gì? Nó thuộc một dạng file text với phần tên mở rộng là .css. Mỗi một câu lệnh đó sẽ có định dạng một phần nhất định như: font, đường viền, hình nền...
2. Có ba cách:
a) Chèn trực tiếp vào trong thẻ html:
- Cách định dạng cục bộ là bạn sử dụng code CSS chèn vào và chỉ có tác động lên thẻ đó.
- VD: <p style="font-family: Arial; color: blue;"> Vũ Hoàng Nam </p>
b) Nhúng vào trang web:
- Trong phần mở đầu head có cặp thẻ style. Tuy nhiên, nó cũng chỉ có tác động cục bộ lên file mà bạn chèn code CSS đó, nhưng nó không ảnh hưởng tới các file khác trong cùng một trang web.
- VD:
c) Liên kết với một file biệt lập:
- Bạn cần tạo một cái file có định dạng .css và viết code chỉ có một lần. Nó không chỉ có ảnh hưởng đến một file .html mà ảnh hưởng tới toàn bộ trang web. Để liên kết file .css với các file .html, bạn phải chèn vào phần mở đầu head: <link href="layout.css" type="text/css" rel="stylesheet" />.
II. Bài tập:
1. CSS (Cascading Style Sheets) là gì? Nó thuộc một dạng file text với phần tên mở rộng là .css. Mỗi một câu lệnh đó sẽ có định dạng một phần nhất định như: font, đường viền, hình nền...
2. Có ba cách:
a) Chèn trực tiếp vào trong thẻ html:
- Cách định dạng cục bộ là bạn sử dụng code CSS chèn vào và chỉ có tác động lên thẻ đó.
- VD: <p style="font-family: Arial; color: blue;"> Vũ Hoàng Nam </p>
b) Nhúng vào trang web:
- Trong phần mở đầu head có cặp thẻ style. Tuy nhiên, nó cũng chỉ có tác động cục bộ lên file mà bạn chèn code CSS đó, nhưng nó không ảnh hưởng tới các file khác trong cùng một trang web.
- VD:
c) Liên kết với một file biệt lập:
- Bạn cần tạo một cái file có định dạng .css và viết code chỉ có một lần. Nó không chỉ có ảnh hưởng đến một file .html mà ảnh hưởng tới toàn bộ trang web. Để liên kết file .css với các file .html, bạn phải chèn vào phần mở đầu head: <link href="layout.css" type="text/css" rel="stylesheet" />.
II. Bài tập:
Thứ Năm, 19 tháng 3, 2015
Thứ Hai, 16 tháng 3, 2015
Thứ Ba, 10 tháng 2, 2015
EXERCISE NUMBER ARRAY
EX1.
EX2.
EX4.
EX6.
EX7.
EX9.
Code:
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int i;
int N[10];
for (i = 0; i < 10; i++)
{
printf ("Enter a number: ");
scanf ("%d", &N[i]);
}
int grow = 0;
int decrease = 0;
int constant = 0;
for (i = 0; i < 10; i++)
{
if (N[i] < N[i + 1])
{
grow++;
}
else if (N[i] > N[i + 1])
{
decrease++;
}
else if (N[i] == N[i + 1])
{
constant++;
}
}
if (grow == 9)
{
printf ("Mang dang tang");
}
else if (decrease == 9)
{
printf ("Mang dang giam");
}
else if (constant == 9)
{
printf ("Mang khong thay doi");
}
else
{
printf ("Mang dang tang hoac giam");
}
return 0;
}
EX10.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int i;
int N[10];
for (i = 0; i < 10; i++)
{
printf ("Enter a number: ");
scanf ("%d", &N[i]);
}
int grow = 0;
int decrease = 0;
int constant = 0;
for (i = 0; i < 10; i++)
{
if (N[i] < N[i + 1])
{
grow++;
}
else if (N[i] > N[i + 1])
{
decrease++;
}
else if (N[i] == N[i + 1])
{
constant++;
}
}
if (grow == 9)
{
printf ("Mang dang tang");
}
else if (decrease == 9)
{
printf ("Mang dang giam");
}
else if (constant == 9)
{
printf ("Mang khong thay doi");
}
else
{
printf ("Mang dang tang hoac giam");
}
return 0;
}
EX10.
EX11.
Thứ Ba, 3 tháng 2, 2015
LOOP
I. Lý thuyết:
1. Khái niệm: Là phần của mã trong một chương trình được thực hiện nhiều lần, cho đến khi một điều kiện cụ thể được thỏa mãn.
2. Phân loại:
a) for:
- Việc khởi tạo truy cập là một câu lệnh gán mà đặt biến điều khiển vòng lặp, trước khi tạo vòng lặp- Các bài kiểm tra điều kiện là một biểu thức quan hệ, mà xác định đó, khi vòng lặp sẽ thoát
- Các thông số đánh giá xác định cách thức kiểm soát vòng lặp biến thay đổi, mỗi lần vòng lặp được thực hiện
- Ba phần của vòng lặp phải được phân cách bằng dấu chấm phẩy (;)
- Các câu lệnh, đã tạo thân thể của vòng lặp, hoặc có thể là một lệnh đơn hay một lệnh phức
- Vòng lặp for tiếp tục thực hiện miễn là có điều kiện kiểm tra để đánh giá đúng. Khi điều kiện trở thành sai, chương trình lại tiếp tục trên các tuyên bố sau vòng lặp for
- Cú pháp:
for(initialize counter; conditional test;
re valuation){ statement}
b) while:
- Các vòng lặp while lặp đi lặp lại báo cáo trong khi một điều kiện cụ thể nào đó là đúng
- Cú pháp:
while (condition
is true){
statement
;
}
c) do...while:
- Là vòng lặp thân thể của mã được thực hiện một lần trước khi thực hiện xét nghiệm
- Khi điều kiện trở thành False trong một do...while vòng lặp sẽ được chấm dứt, và điều khiển đi với câu lệnh đó sẽ xuất hiện ngay sau câu lệnh while.
- Cú pháp:
do
{
statement;
}
while (condition);
II. Bài tập DAY 4:
EX1.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
char name[10];
int age = 1;
int x = 1;
printf("Ten: ");
scanf("%s", &name);
printf("Tuoi: ");
scanf("%d", &age);
while (x <= age)
{
printf("\nMy name's %s", name);
x=x+1;
}
return 0;
}
EX2.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x = 1;
while(x<=30)
{
if(x % 2 == 0)
{
printf("%d\t", x);
}
x=x+1;
}
return 0;
}
EX3.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x = 10;
while(x>=0)
{
printf("%d\t", x);
x=x-1;
}
return 0;
}
EX4.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int x;
printf("Nhap: ");
scanf("%d", &x);
while (x >= 0)
{
printf("%d\t", x);
x = x - 1;
}
return 0;
}
EX5.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x;
printf("nhap 1 so: ");
scanf("%d", &x);
int f = 1;
int k = 1;
while (k <= x)
{
f = f * k;
k = k + 1;
}
printf("Giai thua cua %d! la: %d", x, f);
return 0;
}
EX6.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x = 100;
while(x>=5)
{
printf("%d\t", x);
x=x-5;
}
return 0;
}
EX8.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x = 1;
int a = 0;
int b = 1;
int c = 1;
while (x <= 10)
{
a = b;
b = c;
c = a + b;
printf("%d\t", a);
x=x+1;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x = 1;
int a = 0;
int b = 1;
int c = 1;
while (x <= 10)
{
a = b;
b = c;
c = a + b;
printf("%d\t", a);
x=x+1;
}
return 0;
}
Thứ Bảy, 31 tháng 1, 2015
Bài tập DAY 3 (phần 2):
EX1.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x;
printf("x = ");
scanf("%d", x);
int y;
printf("y = ");
scanf("%d", y);
if(x < 2000 && x > 3000)
{
printf ("Thoa man");
}
else
{
printf ("Khong thoa man");
}
if(y > 100 && y < 500)
{
printf ("Thoa man");
}
else
{
printf ("Khong thoa man");
}
return 0;
}
EX3.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x;
printf("Value 1: ");
scanf("%d", x);
int y;
printf("Value 2: ");
scanf("%d", y);
int z;
printf("Value 3: ");
scanf("%d", z);
if(x > y && x > z)
{
printf("First highest value");
}
else if(y > z)
{
printf("Second highest value");
}
else
{
printf("Third highest value");
}
return 0;
}
EX1.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x;
printf("x = ");
scanf("%d", x);
int y;
printf("y = ");
scanf("%d", y);
if(x < 2000 && x > 3000)
{
printf ("Thoa man");
}
else
{
printf ("Khong thoa man");
}
if(y > 100 && y < 500)
{
printf ("Thoa man");
}
else
{
printf ("Khong thoa man");
}
return 0;
}
EX3.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
int x;
printf("Value 1: ");
scanf("%d", x);
int y;
printf("Value 2: ");
scanf("%d", y);
int z;
printf("Value 3: ");
scanf("%d", z);
if(x > y && x > z)
{
printf("First highest value");
}
else if(y > z)
{
printf("Second highest value");
}
else
{
printf("Third highest value");
}
return 0;
}
Lý thuyết:
Câu điều kiện cho phép chúng ta thay đổi luồng các chương trình. Dựa trên một điều kiện, một câu lệnh hoặc một chuỗi các câu lệnh có những hành động thay thế.
Hầu hết các công cụ lập trình sử dụng các câu lệnh if để đưa ra quyết định. Một trong những khái niệm cơ bản nhất của khoa học máy tính là nếu điều kiện nhất định là đúng, các máy tính được chỉ đạo phải thực hiện một quá trình hành động; và nếu điều kiện là sai, nó được định hướng để làm một cái gì đó khác.
Cú pháp của câu if...else trong lập trình C là:
EX1.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a, b;
printf("Nhap 2 so: ");
scanf("%d %d", a, b);
if(a%b == 0)
{
printf("thoa man");
}
else
{
printf("khong thoa man");
}
return 0;
}
EX2.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a;
printf("a = ");
scanf("%d", a);
int b;
printf("b = ");
scanf("%d", b);
if (a * b >= 1000)
{
printf("thoa man");
}
else
{
printf("khong thoa man");
}
return 0;
}
EX3.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a, b;
printf("Nhap 2 so: ");
scanf("%d %d", a, b);
int n;
printf("Nhap so ket qua: ");
scanf("%d", n);
if (a - b == n)
{
printf("Difference is equal to any of the values entered");
}
else
{
printf("Difference is not equal to any of the values entered");
}
return 0;
}
EX4.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int salary;
char grade;
printf("Salary: ");
scanf("%d", salary);
printf("Grade: ");
scanf("%s", grade);
if (grade = 'A')
{
printf("Total = Salary + 300");
}
else if (grade = 'B')
{
printf("Total = Salary + 250");
}
else
{
printf("Total = Salary + 100");
}
return 0;
}
EX5.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int x;
printf("Marks: ");
scanf("%d", x);
if(x >= 75)
{
printf("Grade A");
}
else if(x >= 60 && x < 75)
{
printf("Grade B");
}
else if(x >= 45 && x < 60)
{
printf("Grade C");
}
else if(x >= 35 && x < 45)
{
printf("Grade D");
}
else
{
printf("Grade E");
}
return 0;
}
Câu điều kiện cho phép chúng ta thay đổi luồng các chương trình. Dựa trên một điều kiện, một câu lệnh hoặc một chuỗi các câu lệnh có những hành động thay thế.
Hầu hết các công cụ lập trình sử dụng các câu lệnh if để đưa ra quyết định. Một trong những khái niệm cơ bản nhất của khoa học máy tính là nếu điều kiện nhất định là đúng, các máy tính được chỉ đạo phải thực hiện một quá trình hành động; và nếu điều kiện là sai, nó được định hướng để làm một cái gì đó khác.
Cú pháp của câu if...else trong lập trình C là:
if(boolean_expression) { /* statement(s) will execute if the boolean expression is true */ } else { /* statement(s) will execute if the boolean expression is false */ }Bài tập DAY 3 (phần 1):
EX1.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a, b;
printf("Nhap 2 so: ");
scanf("%d %d", a, b);
if(a%b == 0)
{
printf("thoa man");
}
else
{
printf("khong thoa man");
}
return 0;
}
EX2.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a;
printf("a = ");
scanf("%d", a);
int b;
printf("b = ");
scanf("%d", b);
if (a * b >= 1000)
{
printf("thoa man");
}
else
{
printf("khong thoa man");
}
return 0;
}
EX3.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a, b;
printf("Nhap 2 so: ");
scanf("%d %d", a, b);
int n;
printf("Nhap so ket qua: ");
scanf("%d", n);
if (a - b == n)
{
printf("Difference is equal to any of the values entered");
}
else
{
printf("Difference is not equal to any of the values entered");
}
return 0;
}
EX4.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int salary;
char grade;
printf("Salary: ");
scanf("%d", salary);
printf("Grade: ");
scanf("%s", grade);
if (grade = 'A')
{
printf("Total = Salary + 300");
}
else if (grade = 'B')
{
printf("Total = Salary + 250");
}
else
{
printf("Total = Salary + 100");
}
return 0;
}
EX5.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int x;
printf("Marks: ");
scanf("%d", x);
if(x >= 75)
{
printf("Grade A");
}
else if(x >= 60 && x < 75)
{
printf("Grade B");
}
else if(x >= 45 && x < 60)
{
printf("Grade C");
}
else if(x >= 35 && x < 45)
{
printf("Grade D");
}
else
{
printf("Grade E");
}
return 0;
}
Đăng ký:
Bài đăng (Atom)