Tải bản đầy đủ (.pdf) (53 trang)

Báo cáo bài tập lớn môn cơ sở lập trình đề số 31

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.92 MB, 53 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

<b>KHOA CÔNG NGHỆ THÔNG TIN</b>

<b>BÁO CÁO BÀI TẬP LỚN</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

cout << "nhap n: "; cin >> n; long long a[100];

a[0]=a[1]=1; for (int i=2; i<n; ++i){ a[i]=a[i-1]+a[i-2]; }

cout << "day Fibonaci voi " << n << " so hang dau tien: "; for (int i=0; i<n; ++i)

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

if (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"; }

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

#include <bits/stdc++.h> using namespace std;

bool ktra(char a[], char x){ // ktra ki tu x co ton tai trong xau k? for (int i=0; i<=strlen(a); ++i){

cout << "nhap 1 ky tu de ktra: "; cin >> x; if (ktra(a, x)) cout << "yes";

else cout << "no";

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

#include <bits/stdc++.h> using namespace std;

void nhaphien(int a[][100], int n, int m){ cout << "nhap ma tran:" << endl; for (int i=0; i<n; ++i){

cout << "ma tran vua nhap la: " << endl; for (int i=0; i<n; ++i){

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

int tongcot(int a[][100], int n, int c){

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

cout << "nhap so hang: "; cin >> n; cout << "nhap so cot: "; cin >>m; int a[100][100];

nhaphien(a, n, m); // tim gtnn int x;

cout << endl << "nhap so hang muon tim GTNN: "; cin >> x; x--; cout << "-->GTNN la: " << gtnn(a, x, m) << endl;

// tinh tong cot int c;

cout << endl << "nhap so cot muon cong: "; cin >> c; c--; cout << "-->tong la: " << tongcot(a, n, c) << endl; // liet ke phan tu duong

cout << endl;

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;

}

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

3 <b><sup> GTNN la: -7</sup></b>Tong la: 1

1 3 5 9 3 la cac so nguyen duong. so phan tu nguyen am la: 3

<b>Bài 9:Input</b>

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

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

<b>Process</b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

9.1 Nhập và ghi vào tệp hoadon.dat

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

9.2 Hiện danh sách hóa đơn từ tệp hoadon.dat

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

9.3 Sắp xếp hóa đơn theo ngày và lưu vào tệp sapxep.dat

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

9.4 Tìm hóa đơn tổng thành tiền cao nhất

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

void nhap(hoadon &a) { cout << "ma hoa don: ";

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

cout << "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"

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

void 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 &&

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

void find(hoadon arr[], int n){ for (int i=0; i<n-1; ++i){ for (int j=i+1; j<n; ++j){

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="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;

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

switch (choose) { case 1: {

cout << "Nhap so luong hoa don: "; cin >> n; if (check(n)) { // kiem tra so luong hoa don 0<n<100

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<b>Output </b>

Danh sach hoa don:

mahoadon ngay(7/2016) tensp giasp soluongsp thanhtien danh sach hoa don sau khi sap xep la: mahoadon ngay(7/2016) tensp giasp soluongsp thanhtien

</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">

<b>Bài 10:Input</b>

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ẩm Nhậ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)

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ẩm Lự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

</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">

10.2 Cập nhập thông tin sản phẩm x

</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">

10.3 Sắp xếp danh sách sp theo số lượng tăng dần

</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">

10.4 Thống kê các sản phẩm có đơn giá từ x tới y

</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">

void nhap(sp &a){

cout << "ma san pham: "; cin >> a.masp; cin.ignore(1);

cout << "ten san pham: "; cin.getline(a.tensp, 20); cout << "gia san pham: "; cin >> a.giasp; cout << "so luong san pham: "; cin >> a.soluong; }

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;

}

</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">

void 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"

</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47">

void sapxep(sp a[], int n){ for (int i=0; i<n-1; ++i){ for (int j=i+1; j<n; ++j){

</div><span class="text_page_counter">Trang 48</span><div class="page_container" data-page="48">

for (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;

</div><span class="text_page_counter">Trang 49</span><div class="page_container" data-page="49">

for (int i=0; i<tmp; ++i){

</div><span class="text_page_counter">Trang 50</span><div class="page_container" data-page="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." <<

</div><span class="text_page_counter">Trang 52</span><div class="page_container" data-page="52">

100000 800000 hoa don co don gia nam trong khoang 100000-->800000 ma san pham ten san pham gia san pham so luong

</div>

×