1. Trang chủ
  2. » Công Nghệ Thông Tin

LẬP TRÌNH C ++ QUẢN LÝ NHÀ TRỌ ppt

12 526 5

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 135,5 KB

Nội dung

ĐỀ TÀI: QUẢN LÝ NHÀ TRỌ I . Mô Tả Đề Tài: Giả sử : chúng ta có một nhà trọ có 5 phòng và 7 sinh viên.Nhiệm vụ của đề tài là quản lý danh sách siên viên có trong nhà trọ,thực hiện thêm một sinh viên vào nhà trọ hoặc xóa một sinh viên ra khỏi nhà trọ,có thể xem tiền phòng của bất cứ phòng nào và số tiền mà mỗi sinh viên trong phòng đó phải trả,… II . Nội Dung Chi Tiết Của Đề Tài: 1.Dữ Liệu: -Dữ liệu vào là các file text(hoặc có thể từ bàn phím): + nhapsv.inp: là file text chứa thông tin sinh viên muốn đưa vào nhà trọ. + nhappt.inp: là file text chứa thông tin về các sinh viên có trong phòng và những thông tin khác của phòng. +nhapnt.inp: là file text chứa thông tin các phòng trọ,các sinh viên,và các thông tin khác về nhà tro. -Dữ liệu vào là các file text(hoặc có thể xuất ra màn hình): +xuatsv.out: là file text chứa thông tin sinh viên sau khi đã nhập sinh viên từ file nhapsv.inp hoặc từ bàn phím. +xuatpt.inp: là file text chứa thông tin về các sinh viên có trong phòng và những thông tin khác của phòng sau khi đã nhập phòng trọ từ file nhappt.inp hoặc từ bàn phím. +xuatnt.out: là file text chứa thông tin các phòng trọ,các sinh viên,và các thông tin khác về nhà tro sau khi đã nhập nhà trọ từ file nhapnt.inp hoặc từ bàn phím. 2.Các Lớp , Các Phương Thức và Các Giả Thuật Tương Ứng: a./Class Date: +Date.h: Gồm có các thuộc tính:ngày(d),tháng(m),năm(y).Dùng để quản lý các biến kiểu Date. #pragma once #include "iostream" using namespace std; class Date { private: int d,m,y; public: Date();//phương thức Khởi Tạo Không đối số Date(int,int,int);// phương thức Khởi tạo có đối số Date(const Date&);// phương thức coppy ~Date();//phương thức hủy void Nhap();//phương thức Nhập void In()const;// phương thức Xuất bool ktNgay(int,int,int);// phương thức Kiểm tra ngày int getDay();//phương thức Lấy ngày của một biến kiểu ngày Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 1 int getMonth();//phương thức Lấy tháng của một biến kiểu ngày int getYear();//phương thức Lấy năm của một biến kiểu ngày void setDay(int); // phương thức đưa số int làm ngày void setMonth(int); // phương thức đưa số int làm ngày void setYear(int); // phương thức đưa số int làm ngày void cong(int n);//Cộng số int n và lấy ngày sau khi cộng n void tru(int n);//Trừ số int n và lấy ngày sau khi cộng n char* toString()const;//Chuyển biến kiểu ngày sang chuỗi friend istream& operator>>(istream& is,Date&);//Nạp Chồng pt Nhập friend ostream& operator<<(ostream& os,Date&);//Nạp Chồng pt xuất void operator=(const Date&);//Nạp Chồng pt copy void operator+(int n);//Nạp chồng pt cộng một số void operator-(int n);// Nạp chồng pt trừ một số }; b./Class Sinhvien: Gồm có các thuộc tính:mã sinh viên(masv),họ tên sinh viên(hoten),quê quán sinh viên(quequan),số thứ tự của sinh viên(stt) và ngày sinh của sinh viên(ngaysinh). #include "Date.h" class Sinhvien { private: char *masv,*hoten,*quequan; int stt; Date ngaysinh; public: Sinhvien(); Sinhvien(char*,char*,char*,int,Date); Sinhvien(const Sinhvien&); ~Sinhvien(); void Nhap(); void Nhapsvt(); void In() const; void Insvt(); char* get_masv() const; char* get_hoten() const; char* get_quequan() const; int get_stt()const; Date get_ngaysinh() const; void set_masv(char*); void set_hoten(char*); void set_quequan(char*); void set_stt(int); void set_ngaysinh(Date); friend istream& operator>>(istream& is,Sinhvien&); friend ostream& operator<<(ostream& os,Sinhvien&); void operator=(const Sinhvien&); }; Thiết kế: +Sinhvien::Sinhvien():ngaysinh()//phương thức khởi tạo không đối số: Các thuộc tính masv,hoten,quequan được gán bằng NULL,stt gán bắng 0. Vd: Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 2 masv=new char[1]; masv[0]=NULL; stt=0; +Sinhvien::Sinhvien(char* ma,char* ht,char* qq,int s,Date d) :ngaysinh(d)//phương thức khởi tạo có đối số: Đối với thuộc tính masv:Trước hết ta kiểm tra xem masv có bằng NULL hay không,nếu bằng thì ta thực hiện công việc xóa bằng hàm delete[].Sau đó ta cắp phát bộ nhớ với số phần tử bằng chiều dài của chuỗi ma được truyền vào. Vd: if(masv!=NULL) delete[] masv; masv=new char[strlen(ma)+1]; strcpy(masv,ma); Tương tự đối với các thuộc tính hoten và quequan. Đối với thuộc tính stt thì ta gán trực tiếp bằng biến s được truyền vào. Vd: stt=s; Đối với thuộc tính ngaysinh thì ta thực hiện việc copy bằng phương thức copy được hỗ trợ bên class Date. + Sinhvien::Sinhvien(const Sinhvien &s)//phương thức copy Ta chỉ cần copy từng thuộc tính của Sinhvien s qua là xong. Vd: masv=s.masv; +Sinhvien::~Sinhvien()//phương thức hủy Đối với các thuộc tính masv,hoten,quequan ta thực hiện việc xóa bằng hàm delete []. Vd: delete[] masv; Đối với thuộc tính stt thì ta gán bắng 0; Đối với thuộc tính ngaysinh thì ta gọi lạ hàm hủy bên lớp ngày. Vd: ngaysinh.~Date(); + void Sinhvien::Nhap()//phương thức nhập sinh viên từ bàn phím Đối với thuộc tính masv:để tránh dư thừa bộ nhớ ,trước hết ta khai báo một chuỗi char *tam,cấp phát và thực hiện nhập mã sinh viên vào tam.Sau đó ta kiễm tra nếu masv khác NULL thì xóa,kế tiếp cấp phát bộ nhớ với số phần tử chính là chiểu dài của chuỗi tam , tiếp theo dùng hàm strcpy(chuỗi đích,chuỗi nguồn) là xong. Vd: char *tam; tam=new char[100]; cout<<"Nhap vao ma so Sinh Vien: "; gets(tam); if(masv!=NULL) delete[] masv; masv=new char[strlen(tam)+1]; strcpy(masv,tam); flushall();//xóa vùng đệm Tương tự đối với các thuộc tính hoten và quequan. Đối với thuộc tính stt và ngaysinh ta dùng hàm cin>>{tên biến} để nhập trực tiếp. + void Sinhvien::In() const//phương thức xuất ra màn hình Ta dùng cout<<{tên biến} để xuất ra từng thuộc tính. Vd: cout<<masv<<"\t\t"<<hoten<<"\t\t"<<quequan<<"\t\t"<<stt<<endl; cout<<"Ngay Sinh cua Sinh Vien nay la:"<<endl; Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 3 ngaysinh.In();//hoặc cout<<ngaysinh cout<<endl; + void Sinhvien::Nhapsvt()//phương thức nhập một sinh viên từ file nhapsv.inp Trước hết ta include thư viên fstream vào.Sau đó ta khai báo biến kiểu ifstream f.Tiếp theo thực hiện việc mở file nhapsv.inp để đọc dữ liệu. Đối với thuộc tính masv:ta khai báo một chuỗi char * matam , cấp phát và thực hiện việc nhập vào chuỗi matam bằng hàm f.get(matam,100);thực hiên lệnh f.ignore() để bỏ qua những kí tự không cần thiết và xuống dòng.Kế tiếp, ta cấp phát bộ nhớ cho masv và copy là xong. Vd: char *matam; matam=new char[100]; ifstream f; f.open("nhapsv.inp"); f.get(matam,100); f.ignore(); if(masv!= NULL) delete[] masv; masv=new char[strlen(matam)+1]; strcpy(masv,matam); Đối với các thuộc tính stt thì ta nhập trực tiếp bằng: f>>stt; Đối với thuộc tính ngaysinh thì ta nhập vào từng biến kiểu int và thực hiện những phương thức set được hỗ trợ bên class Date. Vd: f>>dtam; ngaysinh.setDay(dtam); f>>mtam; ngaysinh.setMonth(mtam); f>>ytam; ngaysinh.setYear(ytam); Cuối cùng ta đống việc nhập bằng hàm f.close(); là xong. + void Sinhvien::Insvt()//phương thức xuất ra file xuatsv.out Trước hết ta khai báo con trỏ FILE *f,tiếp theo ta mỡ file xuatsv.out để ghi.Sau đó ta dùng hàm fprintf(f,”chuỗi”,biến) để xuất.Cuối cùng đóng file là xong. Vd: FILE *f;int d,y,m; d=ngaysinh.getDay(); m=ngaysinh.getMonth(); y=ngaysinh.getYear(); f=fopen("Xuatsv.out","wt"); fprintf(f,"%s",masv); fprintf(f,"\n"); fprintf(f,"%s",hoten); fprintf(f,"\n"); fprintf(f,"%s",quequan); fprintf(f,"\n"); fprintf(f,"%d",stt); fprintf(f,"\n"); fprintf(f,"%d %d %d",d,m,y); fclose(f); + char* Sinhvien::get_masv() const//phương thức lấy masv Để tránh việc dữ liệu masv bị thay đỗi ngoài ý muốn,ta thực hiện việc copy masv qua chuỗi char *kq,sau đó trả về chuỗi kq. Vd: char *kq; Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 4 kq=new char[strlen(masv)+1]; strcpy(kq,masv); return kq; +Tương tự đối với các phương thức lấy hoten,quequan. + Date Sinhvien::get_ngaysinh() const//phương thức lấy ngaysinh. Ta chỉ việc trả về ngaysinh. Vd: return ngaysinh; +Tương tự với phương thức lấy stt. + void Sinhvien::set_masv(char *st)//phương thức đưa một chuỗi st vào làm mã số của sinh viên. Ta kiễm tra nếu masv bằng NULL thì xóa,cấp phát bộ nhớ và copy. Vd: if(masv!=NULL) delete[] masv; masv=new char[strlen(st)+1]; strcpy(masv,st); +Tương tự với các phương thức set hoten và quequan. +void Sinhvien::set_stt(int s)//phương thức đưa một số s vào và nhận giá trị của s làm stt. Ta chỉ cần gán stt=s là xong. +Tương tự với phương thức set ngaysinh. +istream& operator>>(std::istream &is,Sinhvien& S)//phương thức nạp chồng phương thức nhập từ bàn phím. Giải thuật ta cũng làm giống như phương thức nhập từ bàn phím.Nhưng cuối cùng ta trả về is( return is;) Vd: char *tam; tam=new char[100]; cout<<"Nhap vao ma so Sinh Vien: "; gets(tam); if(S.masv!=NULL) delete[] S.masv; S.masv=new char[strlen(tam)+1]; strcpy(S.masv,tam); flushall(); +ostream& operator<<(std::ostream &os,Sinhvien& S)//nạp chồng phương thức xuất ra màn hình. Giải thuật ta cũng làm giống như phương thức xuất ra màn hình .Nhưng cuối cùng ta trả về os( return os;) Vd: cout<<"Ma Sinh Vien/Ho Ten/Que Quan/So Thu TU"<<endl; os<<S.get_masv()<<"\t"<<S.get_hoten()<<"\t"<<S.get_quequan()<<" \t"<<S.get_stt()<<endl; cout<<"Ngay Sinh cua Sinh Vien nay la:"<<S.get_ngaysinh()<<endl; cout<<endl; return os; + void Sinhvien::operator=(const Sinhvien& S)//nạp chồng phương thức copy Sinhvien. Ta copy từng thuộc tính của Sinhvien S là xong. Vd: masv=S.masv; Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 5 hoten=S.hoten; quequan=S.quequan; ngaysinh=S.ngaysinh; stt=S.stt; c./Class Phongtro: Gồm có các thuộc tính:số lượng sinh viên đang trọ trong phòng(sosv) , số điện(sodien) , số nước(sonuoc),số thứ tự của phòng(sttphong),ngày vào của phòng(ngayvao) và danh sách các sinh viên dó(dssv) #include "Sinhvien.h" #include "Date.h" class Phongtro { private: char *maphong; int sosv,sodien,sonuoc,sttphong; Sinhvien *dssv; Date ngayvao; public: Phongtro(); Phongtro(char*,int,int,int,int,Sinhvien*,Date); Phongtro(const Phongtro&); ~Phongtro(); void Nhap(); void Nhapptt(); void In(); void Inptt(); char* get_maphong()const; Sinhvien* get_dssv()const; int get_sosv()const; int get_sodien()const; int get_sonuoc()const; int get_sttphong() const; Date get_ngayvao()const; Date get_ngaydongtien(); void set_maphong(char*); void set_sosv(int); void set_sodien(int); void set_sonuoc(int); void set_sttphong(int); void set_ngayvao(Date); void set_dssv(Sinhvien*); void insert_sv(const Sinhvien&); void delete_sv(char*); friend istream& operator>>(istream& is,Phongtro&); friend ostream& operator<<(ostream& os,Phongtro&); void operator=(const Phongtro&); void capphat(int); Sinhvien & operator [](int ); }; Thiết kế: +Phongtro::Phongtro():ngayvao()//phương thức khởi tạo không đối số + Phongtro::Phongtro(char*st,int ssv,int sd,int sn,int sttp,Sinhvien *ds,Date d):ngayvao(d)//phương thức khởi tao có đối số. Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 6 Giải thuật cũng giống như Class Sinhvien.Nhưng điểm cần chú ý là dssv của chúng ta phải được cấp phát với số phần tử là số lượng sv. Vd: dssv=new Sinhvien[sosv+1]; f(sosv>0){ for(int i=0;i<sosv;++i){ tam=new char[strlen(ds[i].get_masv())+1]; strcpy(tam,ds[i].get_masv()); dssv[i].set_masv(tam); tam=new char[strlen(ds[i].get_hoten())+1]; strcpy(tam,ds[i].get_hoten()); dssv[i].set_hoten(tam); tam=new char[strlen(ds[i].get_quequan())+1]; strcpy(tam,ds[i].get_quequan()); dssv[i].set_quequan(tam); dssv[i].set_ngaysinh(ds[i].get_ngaysinh()); } + Phongtro::Phongtro(const Phongtro &p):ngayvao(p.ngayvao)//hàm copy + Phongtro::~Phongtro()//hàm hủy + void Phongtro::Nhap()//phương thức nhập từ bàn phím Giải thuật cũng tương tự như class Sinhvien,điểm cần chú ý là là khi nhập dssv thì ta phải cấp phát bộ nhớ và gọi lại phương thức nhập của từng Sinhvien được hỗ trợ bên class Sinhvien Vd: if(sosv>0){ this->dssv=new Sinhvien[sosv+1]; for(i=0;i<sosv;++i){ cout<<endl; flushall(); cout<<"Nhap ma so Sinh vien thu "<<i+1<<":"<<endl; dssv[i].Nhap(); } + void Phongtro::Nhapptt()//phương thức nhập từ file nhappt.inp + void Phongtro::In()//phương thức xuất ra màn hình + void Phongtro::Inptt()//phương thức xuẩt ra file xuatpt.out + Các phương thức get và set giãi thuật cũng không khác gì class Sinhvien . vd: Sinhvien* Phongtro::get_dssv()const{ Sinhvien *tam; tam=new Sinhvien[100]; for(int i=0;i<sosv;++i){ tam[i]=dssv[i]; } return tam; } + istream& operator>>(std::istream& is,Phongtro &P)//phương thức nạp chống phương thức nhập từ bàn phím. Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 7 + ostream& operator<<(std::ostream& os,Phongtro &P)//nạp chống phương thức xuất ra màn hình. + void Phongtro::operator =(const Phongtro &p)//nạp chồng phương thức copy. + Date Phongtro::get_ngaydongtien()//phương thức lấy ngày đống tiền của phòng. Ta chỉ cần lấy ngày vào của phòng và cộng cho 30 ngày. Vd: ngayvao+30; return ngayvao; + void Phongtro::insert_sv(const Sinhvien& S)//phương thức chèn một sinh viên vào phòng tro. Giải thuật là:ta dùng một danh sách sinh viên tạm để lưu lại những sinh viên trong phòng trọ.Số phần tử của danh sách sinh viên tạm này chính là số sinh viên có trong phòn trọ. Vd: Sinhvien *svtam; svtam=new Sinhvien[sosv+1]; for(int i=0;i<sosv;++i){ svtam[i].set_masv(dssv[i].get_masv()); svtam[i].set_hoten(dssv[i].get_hoten()); svtam[i].set_quequan(dssv[i].get_quequan()); svtam[i].set_stt(dssv[i].get_stt()); svtam[i].set_ngaysinh(dssv[i].get_ngaysinh()); } Tiếp theo ta tăng số lượng sinh viên của phòng trọ lên một đơn vị,thực hiện xóa danh sách sinh viên của,cấp phát bộ nhớ lại cho danh sách sinh viên mới với số lượng sinh viên là số lượng sinh viên viên vừa tăng lên ,copy sinh viên từ svtam qua dssv mới, ta thực hiện công việc này đến sinh viên thứ sosv-1. Vd: sosv=sosv+1; delete[] dssv; dssv=new Sinhvien[sosv+1]; for(int i=0;i<sosv-1;++i){ dssv[i].set_masv(svtam[i].get_masv()); dssv[i].set_hoten(svtam[i].get_hoten()); dssv[i].set_quequan(svtam[i].get_quequan()); dssv[i].set_stt(svtam[i].get_stt()); dssv[i].set_ngaysinh(svtam[i].get_ngaysinh()); } Cống việc còn lại là thực hiện đưa sinh viên cần thêm vào vị trí thứ sosv-1 là ta đã hoàng thành công việc thêm vào một sinh viên. Vd: dssv[sosv-1].set_masv(S.get_masv()); dssv[sosv-1].set_hoten(S.get_hoten()); dssv[sosv-1].set_quequan(S.get_quequan()); dssv[sosv-1].set_stt(S.get_stt()); dssv[sosv-1].set_ngaysinh(S.get_ngaysinh()); + void Phongtro::delete_sv(char *ma)//phương thức xóa một sinh viên có mã số là ma. Trước tiên ta khai báo một danh sách sinh viên tam.Cấp phát bộ nhớ cho danh sách sinh viên này với số lượng phần tử là sosv.Tiếp đến ta thực hiện công việc dò xem sinh viên có mã số là ma có trong phòng trọ hay không.Những sinh viên đã được tìm qua chúng ta sẽ đưa vào trong danh sách sinh viên tam. Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 8 Vd: int i=0,j,k; Sinhvien *svtam; svtam=new Sinhvien[sosv+1]; while((strcmp(dssv[i].get_masv(),ma)!=0)&&i<sosv){ svtam[i].set_masv(dssv[i].get_masv()); svtam[i].set_hoten(dssv[i].get_hoten()); svtam[i].set_quequan(dssv[i].get_quequan()); svtam[i].set_stt(dssv[i].get_stt()); svtam[i].set_ngaysinh(dssv[i].get_ngaysinh()); i++; } Nếu thoát khỏi vòng lập while mà số i của chúng ta nhỏ hơn sosv thì có nghĩa là ta đã tìm được sinh viên có mã số là ma.Chúng ta tiếp tục thực hiện công việc copy sinh viên thứ i+1 từ dssv vào svtam. Vd: if(i<sosv){ for(j=i+1;j<sosv;++j){ svtam[j-1].set_masv(dssv[j].get_masv()); svtam[j-1].set_hoten(dssv[j].get_hoten()); svtam[j-1].set_quequan(dssv[j].get_quequan()); svtam[j-1].set_stt(dssv[j].get_stt()); svtam[j-1].set_ngaysinh(dssv[j].get_ngaysinh()); } } Nếu thoát khỏi vòng lập mà số i bằng với sosv thì ta kết luận là không tồn tại sinh viên có mã số là ma , và thực hiện thoát giải thuật. Vd: if(i==sosv){ cout<<"Khong co sinh vien ngay trong danh sach"<<endl; return; } Công việc tiếp theo là xóa danh sách sinh viên của , giảm sosv xuống một đơn vị,cấp phát lại cho dssv mới với số lượng sinh viên là sosv. Sau đó thực hiện copy từ svtam qua là xong. Vd: delete[] dssv; sosv=sosv-1; dssv=new Sinhvien[sosv]; for(k=0;k<sosv;++k){ dssv[k].set_masv(svtam[k].get_masv()); dssv[k].set_hoten(svtam[k].get_hoten()); dssv[k].set_quequan(svtam[k].get_quequan()); dssv[k].set_stt(svtam[k].get_stt()); dssv[k].set_ngaysinh(svtam[k].get_ngaysinh()); } Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 9 + void Phongtro::capphat(int a)//phương thức cấp phát bộ nhớ cho dssv với số lượng phần tử là a. Vd: delete[] dssv; dssv=new Sinhvien[a+1]; +Sinhvien & Phongtro::operator [](int i)//phương thức lấy sinh viên thứ i của phòng trọ { if(i>0&&i<this->sosv) return dssv[i]; } d./Class Nhatro: Gồm có các thuộc tính như mã nhà trọ(mant),tên nhà trọ(tennt),địa chỉ của nhà trọ(diachint),tổng số sinh viên đang tro(tgsosv),số phòng trong nhà trọ(sophong), tiền điện (tiendien) , tiền nước(tiennuoc),tiền phòng(tienphong) và danh sách các phòng có trong nhà trọ(dspt). #include "Phongtro.h" class Nhatro { private: char *mant,*tennt,*diachint; int tgsosv,sophong; float tiendien,tiennuoc,tienphong; Phongtro *dspt; public: Nhatro(); Nhatro(char*,char*,char*,int,int,float,float,float,Phongtro*); Nhatro(const Nhatro&); ~Nhatro(); void Nhap(); void Nhapntt(); void In(); void Inntt(); char* get_mant()const; char* get_tennt()const; char* get_diachi()const; int get_tgsosv()const; int get_sophong()const; float get_tiendien()const; float get_tiennuoc()const; float get_tienphong()const; Phongtro* get_dspt()const; void set_mant(char*); void set_tennt(char*); void set_diachi(char*); void set_tgsosv(int); void set_sophong(int); void set_tiendien(float); void set_tiennuoc(float); void set_tienphong(float); void set_dspt(Phongtro*); float get_tienmoiphong(int); float get_tienmoisv(int); Đề Tài Quản Lý Nhà Trọ Sinh Viên : Nguyễn Trung Trí 10 [...]... giống như c c lớp trên.Ở class này ta chỉ c n quan tâm đến c c phương th c sau +void Nhatro::set_sophong(int sp)//đ c lại số phòng cho nhà trọ Ta phải th c hiện copy qua một mãng Phongtro và sau đó xóa đi dspt c ,c p phát lại bộ nhớ và th c hiện copy { Phongtro p[100]; for(int i=0;isophong=sp; dspt=new Phongtro[sophong+1]; for(int i=0;i . phím. 2 .C c Lớp , C c Phương Th c và C c Giả Thuật Tương Ứng: a./Class Date: +Date.h: Gồm c c c thu c tính:ngày(d),tháng(m),năm(y).Dùng để quản lý c c biến kiểu Date. #pragma once #include "iostream" using. ĐỀ TÀI: QUẢN LÝ NHÀ TRỌ I . Mô Tả Đề Tài: Giả sử : chúng ta c một nhà trọ c 5 phòng và 7 sinh viên.Nhiệm vụ c a đề tài là quản lý danh sách siên viên c trong nhà trọ, th c hiện thêm một. trọ từ file nhappt.inp ho c từ bàn phím. +xuatnt.out: là file text chứa thông tin c c phòng trọ ,c c sinh viên,và c c thông tin kh c về nhà tro sau khi đã nhập nhà trọ từ file nhapnt.inp hoặc

Ngày đăng: 02/08/2014, 01:20

TỪ KHÓA LIÊN QUAN

w