thảo luận cơ sở lập trình đề tài về kho vật tự

13 535 0
thảo luận cơ sở lập trình đề tài về kho vật tự

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỀ TÀI 1: (2 bài làm) Xây dựng bài toán kho vật tự (20 vat) > 1. Sắp xếp tăng dần theo tên hàng có trong kho và in ra kết qủa sắp xếp > 2. Tìm kiếm 1 mặt hàng xem trong kho có còn không ? Nếu còn thì số lượng là bao nhiêu? > 3. Thống kê theo tên hàng các số lượng còn tồn ở trong kho ( vd: xh 1lan >in ra) Chương trình chạy bằng Dev C++ 5.3.04 :) hoặc bằng chương trình khác cũng được

ĐỀ TÀI 1: (2 bài làm) Xây dựng bài toán kho vật tự (20 vat) > 1. Sắp xếp tăng dần theo tên hàng có trong kho và in ra kết qủa sắp xếp > 2. Tìm kiếm 1 mặt hàng xem trong kho có còn không ? Nếu còn thì số lượng là bao nhiêu? > 3. Thống kê theo tên hàng các số lượng còn tồn ở trong kho ( vd: xh 1lan ->in ra) Chương trình chạy bằng Dev C++ 5.3.04 :) Cách 1: #include <stdio.h> #include<conio.h> #include<string.h> void main() int i = 0, j, n = 20, temp; struct hanghoa { int stt; char ten[30]; int soluong; } hang[20]; void nhap (int stt, char ten[so], int soluong) { printf (“\n nhap mat hang thu %d: ”, stt); printf(“ tenhang : ”); fflush(stdin); gets(ten); printf(“\n soluong : ”); scanf(“%d”, soluong); } void in (int stt, char ten[30], int soluong) { printf(“\n %3d%30s%4d ”, stt, ten, soluong); } void sapxep() { struct hanghoa tam; for ( i = 0; i <= n – 1; i++) for (j = 0; j <= n – 1; j++) if (strcmp( hang[j].ten, hang[j+1].ten) > 0) { temp = hang[j].stt, hang[j].stt = hang[j+1].stt; hang[j] tam = hang[j]; hang[j] = hang[j+1]; hang[j+1] = tam; } } void timkiem() { char tenhang[30]; int p=0, found=0; printf (“\n nhap ten hang can tim kiem:”); gets(tenhang); if(strlen(tenhang)) while(i<n) if(strcmp(hang[i].ten, tenhang)==0) { printf(“\n %3d%30s%4d”, stt, ten, soluong); found=1; break; } else i++; if(!found) printf(“\n khong tim thay!”); } void sapxepsl() { Struct hanghoa tam; For(i=0; i<=n; i++) For(j=0; j<=n; j++) If(hang[j].soluong>hang[j+1].soluong) { temp=hang[j].stt; hang[j]=hang[j+1].stt; hang[j+1].stt=temp; Tam=hang[j]; Hang[j]=hang[j+1]; Hang[j+1]=tam; } } void main() { int menu; printf(“\n nhan 0 de nhap hang”); printf(“\n nhan 1 de in danh sach hang hoa”); printf(“\n nhan 2 de tim kiem mot hang hoa”); Printf(“\n nhan 3 de xem thong ke”); scanf(“%d”, menu); switch(menu) { case 0: for (i=0; i<=n; i++) { hang[i].stt=I; nhap(hang[i].stt, hang[i].ten, hang[i].soluong) } break; case 1: sapxep(); For(i=0; i<=n, i++) { in(hang[i].stt, hang[i].ten, hang[i].soluong); } break; case 2: timkiem(); break; case 3: sapxepsl() for(i=0; i<=n; i++) { in(hang[i].stt, hang[i].ten, hang[i].soluong); } break; } getch() } Cách 2: #include <conio.h> #include <stdio.h> #include <iostream> #include <fstream> #define max 20 using namespace std; struct doVat{ //char tenHang[max]; string tenHang; int soLuong; int giaHang; }; //ham nay la ham doc d lieu de cho vao mang do vat int docDuLieu(doVat d[]); //ham nay la ham bat dau nhap so lieu de ghi vao file void nhapVaoKhoHang (int n); void xapXepTheoTen (); void inDanhSachHang (doVat d[],int n); int timKiemHang (string tenVat); void thongKeHang (); int main () { int i; char c; string tenVat; int giaHang; doVat d[max]; int n; // vong do while de quan ly cai menu de minh nhap do{ cout<<"Ban hay chon cac tuy chon bang cach nhan cac so tuong ung voi "<<"\n"<<"0:nhap vao danh sach kho hang "<<"\n"<<"1:hien thi danh sach do vat theo ten"<<"\n"<<"2:thong ke hang"<<"\n"<<"3:tim kiem do vat trong kho"<<"\n\n"; cout<<"Moi ban nhap so tuong ung voi tuy chon:"; cin>>i; cout<<"\n"; switch (i) { case 0: cout<<"Dau tien moi ban nhap vao so lieu cac do vat trong kho :"; cout<<"ban hay nhap vao so do vat ma ban muon quan ly trong kho: "; cin>>n; nhapVaoKhoHang (n); case 1: xapXepTheoTen(); break; case 2: thongKeHang(); break; case 3: cout<<"nhap vao ten vat can tim kiem :"; cin>>tenVat; if (timKiemHang (tenVat)==0) cout<<"hang khong co trong kho"; else cout<<"do vat "<<tenVat<<" co "<<timKiemHang(tenVat)<<" vat trong kho"<<endl; break; } cout<<"ban co muon tiep tuc khong chon (y) neu co,va (n) neu khong muon:"; cin>>c; cout<<"\n"; }while (c=='y'); } void nhapVaoKhoHang (int n) { string a; int b,c; ofstream out_stream;//tao mot luong de ghi file out_stream.open("D:\\dovat.txt");//mo file dovat.txt de ghi so lieu out_stream <<n<<endl;//ghi vao file do vat.txt so vat ma ban muon quan ly for (int i=0;i<n;i++) { cout<<"nhap vao so lieu cua do vat thu: "<<i+1<<endl; cout<<"ten do vat:"; cin>>a; out_stream<<a<<"\t"; //ghi vao file ten do vat kieu string cout<<"so luong :"; cin>>b; out_stream<<b<<"\t"; //ghi vao file so luong do vat cout<<"gia la:"; cin>>c; out_stream<<c<<"\n"; //ghi vao file gia cua do vat cout<<"\n"; } out_stream.close();//sau khi da nhap du so lieu cua n vat ta dong file } //ham docdulieu nay thuc chat la doc tu file ra so lieu roi cho vao mang dovat d de thuc hien cac thao tac can thiet int docDuLieu(doVat d[]) { int so_do_vat,so_luong,gia_hang; string a; ifstream in_stream;//tao mot luong de doc file in_stream.open("D:\\dovat.txt"); in_stream>>so_do_vat;//dau tien doc so luong do vat for (int i=0;i<so_do_vat;i++) { in_stream>>a;//tiep theo doc ten do vat d[i].tenHang=a;//gan ten do vat vao do vat thu i in_stream>>so_luong>>gia_hang; d[i].soLuong=so_luong;//doc so luong do vat d[i].giaHang=gia_hang;//doc gia hang } return so_do_vat;//tra ve so do vat de dung cho cac ham sau } void xapXepTheoTen () { doVat d[max]; int n=docDuLieu(d); for (int i=0;i<n;i++)//dung xap xep noi bot de xap xep do vat for (int j=i+1;j<n;j++) { if ((d[i].tenHang>d[j].tenHang))//2 string nen co the so sanh binh thuong { [...]... (int i=0;i . ĐỀ TÀI 1: (2 bài làm) Xây dựng bài toán kho vật tự (20 vat) > 1. Sắp xếp tăng dần theo tên hàng có trong kho và in ra kết qủa sắp xếp > 2. Tìm kiếm 1 mặt hàng xem trong kho có còn. hang do con co trong kho hay khong { if (d[i].soLuong==0)// neu so luong bang 0 return 0; //neu khong co tra ve 0 luon return d[i].soLuong;//neu co tra ve so luong vat } } //khong tim thay do vat. (tenVat)==0) cout<<"hang khong co trong kho& quot;; else cout<<"do vat "<<tenVat<<" co "<<timKiemHang(tenVat)<<" vat trong kho& quot;<<endl; break; } cout<<"ban

Ngày đăng: 24/08/2014, 19:35

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan