TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TINBÁO CÁO BÀI TẬP LỚN... so phan tu nguyen am la: 3Bài 9:InputNhập lựa chọn theo Menu.Nếu lựa chọn là 1 thì nhập số lượng hóa đơn, nhập thôn
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚNMÔN CƠ SỞ LẬP TRÌNH
Trang 7cout << "nhap n: "; cin >> n;
long long a[100];
Trang 8if (a*a==n) return true;
else return false;
}
int main(){
int n;
cout << "nhap so nguyen n: "; cin >> n;
if (ktra(n)) cout << n << "\nyes"; else cout << n << "\nno";
}
Trang 10cout << "nhap 1 ky tu de ktra: "; cin >> x;
if (ktra(a, x)) cout << "yes";
else cout << "no";
Trang 25int tongcot(int a[][100], int n, int c){ int res=0;
for (int i=0; i<n; ++i){
Trang 26cout << "nhap so hang: "; cin >> n;
cout << "nhap so cot: "; cin >>m;
if (check(a, n, m)) cout << "la cac so nguyen duong.";
else cout << "khong ton tai so nguyen duong.";
// dem so phan tu am
cout << endl << "so phan tu nguyen am la: " << dem(a, n, m); return 0;
}
Trang 273 GTNN la: -7Tong la: 1
1 3 5 9 3 la cac so nguyen duong
so phan tu nguyen am la: 3
Bài 9:
Input
Nhập lựa chọn theo Menu
Nếu lựa chọn là 1 thì nhập số lượng hóa đơn, nhập thông tin hóa đơn
Output
Lựa chọn là 2: hiện danh sách hóa đơn
Lựa chọn là 3: hiện danh sách sau khi sắp xếp hóa đơn theo ngày
Lựa chọn là 4: hiện hóa đơn có thành tiền cao nhất
Lựa chọn là 5: kết thúc chương trình
Process
Trang 289.1 Nhập và ghi vào tệp hoadon.dat
Trang 299.2 Hiện danh sách hóa đơn từ tệp hoadon.dat
Trang 309.3 Sắp xếp hóa đơn theo ngày và lưu vào tệp sapxep.dat
Trang 319.4 Tìm hóa đơn tổng thành tiền cao nhất
Trang 32#include "bits/stdc++.h"using namespace std;
struct hoadon{
char mahoadon[10]; int ngay;
cin.getline(a.mahoadon, 10); cout << "ngay: ";
cin >> a.ngay;
cin.ignore(1);
cout << "ten san pham: "; cin.getline(a.tensp, 10); cout << "gia san pham: "; cin >> a.giasp;
Trang 33cout << "so luong san pham: ";
cin >> a.soluongsp;
a.thanhtien = a.giasp * a.soluongsp;
}
void hien(hoadon a){
cout << setw(10) << a.mahoadon
void nhapds(hoadon arr[], int n){
for (int i = 0; i < n; ++i) {
nhap(arr[i]);
}
}
void hiends(hoadon arr[], int n){
cout << setw(10) << setiosflags(ios::left) << "mahoadon" << "\t" << setw(15) << "ngay(7/2016)"
<< "\t" << setw(15) << "tensp"
<< "\t" << setw(10) << "giasp"
Trang 35void sapxep(hoadon arr[], int n){
for (int i=0; i<n-1; ++i){
for (int j=i+1; j<n; ++j){
if (arr[i].ngay>arr[j].ngay || (arr[i].ngay==arr[j].ngay &&
Trang 36void find(hoadon arr[], int n){
for (int i=0; i<n-1; ++i){
for (int j=i+1; j<n; ++j){
Trang 37<< "1 Nhap danh sach hoa don." << endl
<< "2 Hien danh sach hoa don." << endl
<< "3 Sap xep hoa don theo ngay." << endl
<< "4 Tim hoa don co tong thanh tien cao nhat." << endl << "5 Thoat." << endl
<< "Chon: ";
cin >> choose;
Trang 38switch (choose) {
case 1: {
cout << "Nhap so luong hoa don: "; cin >> n;
if (check(n)) { // kiem tra so luong hoa don 0<n<100 nhapds(a, n);
Trang 402
Output
Danh sach hoa don:
mahoadon ngay(7/2016) tensp giasp soluongsp thanhtien
1 10 but 5000 3 15000
2 25 thuoc ke 3000 1 3000
3 4 balo 399000 1 399000
4 22 ao 299000 2 598000
Input 3 Output danh sach hoa don sau khi sap xep la: mahoadon ngay(7/2016) tensp giasp soluongsp thanhtien 3 4 balo 399000 1 399000
1 10 but 5000 3 15000
4 22 ao 299000 2 598000
2 25 thuoc ke 3000 1 3000
ghi thanh cong vao tep sapxep.dat! Input 4 Output mahoadon ngay(7/2016) tensp giasp soluongsp thanhtien 3 4 balo 399000 1 598000
Trang 41Bài 10:
Input
Nhập lựa chọn theo Menu
Nếu lựa chọn là 1 thì nhập số lượng danh sách sản phẩm, nhập thông tin sản phẩmNhập tên sản phẩm(x) muốn cập nhập
Nhập x, y (với x, y là đơn giá bắt đầu và kết thúc)
Output
Lựa chọn là 2: hiện danh sách
Lựa chọn là 3: hiện danh sách sau khi cập nhật sản phẩm x
Lựa chọn là 4: hiện danh sách sau khi sắp xếp tăng dần theo số lượng sản phẩmLựa chọn là 5: hiện các sản phẩm có đơn giá từ x đến y
Lựa chọn là 0: kết thúc chương trình
10.1 Nhập hiện
Trang 4210.2 Cập nhập thông tin sản phẩm x
Trang 4310.3 Sắp xếp danh sách sp theo số lượng tăng dần
Trang 4410.4 Thống kê các sản phẩm có đơn giá từ x tới y
Trang 45void nhap(sp &a){
cout << "ma san pham: "; cin >> a.masp;
void hien(sp a){
cout << setw(15) << setiosflags(ios::left) << a.masp << setw(20) << setiosflags(ios::left) << a.tensp << setw(20) << setiosflags(ios::left) << a.giasp << setw(10) << setiosflags(ios::left) << a.soluong << endl;
}
Trang 46void nhapds(sp a[], int n){
for (int i=0; i<n; ++i){
nhap(a[i]);
}
}
void hiends(sp a[], int n){
cout << setw(15) << setiosflags(ios::left) << "ma san pham" << setw(20) << setiosflags(ios::left) << "ten san pham" << setw(20) << setiosflags(ios::left) << "gia san pham" << setw(10) << setiosflags(ios::left) << "so luong"
Trang 47void sapxep(sp a[], int n){
for (int i=0; i<n-1; ++i){
for (int j=i+1; j<n; ++j){
if (a[i].soluong > a[j].soluong){ swap(a[i], a[j]);
Trang 48for (int i=0; i<n; ++i){
if (a[i].giasp>=x && a[i].giasp<=y) return true;
cout << "nhap khoang don gia bat dau: "; cin >> x;
cout << "nhap khoang don gia ket thuc: "; cin >> y;
if (check(a, n, x, y)){ // kiểm tra xem có đơn nào nằm trong khoảng x đến y không
for (int i=0; i<n; ++i){
if (a[i].giasp>x && a[i].giasp<y){
cout << setw(15) << setiosflags(ios::left) << "ma san pham"
<< setw(20) << setiosflags(ios::left) << "ten san pham"
<< setw(20) << setiosflags(ios::left) << "gia san pham"
<< setw(10) << setiosflags(ios::left) << "so luong"
<< endl;
Trang 49for (int i=0; i<tmp; ++i){
Trang 50<< "MENU" << endl
<< "1 Nhap danh sach san pham." << endl
<< "2 Hien danh sach san pham." << endl
<< "3 Cap nhap thong tin san pham." << endl
<< "4 Sap xep danh sach so luong san pham theo so luong tang dan." << endl
<< "5 thong ke cac san pham co don gia tu x den y." << endl
Trang 522
Output
ma san pham ten san pham gia san pham so luong
101 maytinh 600000 1
132 quat 200000 10
234 ghe 30000 5
554 ban 60000 8
Input Output 3 Maytinh 101 maytinh 599000 2 ma san pham ten san pham gia san pham so luong 101 maytinh 599000 2
132 quat 200000 10
234 ghe 30000 5
554 ban 60000 8
3 But ten san pham khong ton tai! Input 4 Output ma san pham ten san pham gia san pham so luong 101 maytinh 599000 2
234 ghe 30000 5
554 ban 60000 8
132 quat 200000 10
Input output 5 100000 800000 hoa don co don gia nam trong khoang 100000 >800000 ma san pham ten san pham gia san pham so luong 101 maytinh 599000 2
132 quat 200000 10 ghi tep thanh cong vao file sach.dat
5
9000 29000 khong ton tai san pham nam trong khoang don gia nay!