Giúp mình sửa cái này với

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

tuyetvoi Giúp mình sửa cái này với

Bài gửi by matsususu on Mon Nov 21, 2011 1:49 am

Code:


#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<iomanip.h>
#include<fstream.h>
#include<windows.h>
using namespace std;
class BangCap{
      private:
              char tenbc[150];
      public:
            //friend class LopHoc;
            void nhapbc();
            void xuatbc();
            friend ostream& operator << (ostream& os, BangCap A);
            friend istream& operator >> (istream& is, BangCap& A);
            };
void BangCap::nhapbc(){
    cout<<"+";
    cin.getline(tenbc,100);
    }
void BangCap::xuatbc()
    {
    cout<<"+"<<tenbc<<"\n";
    }
istream& operator >>(istream& is, BangCap& A){
        is.get(A.tenbc,49);
        return is;
        };
ostream& operator<<(ostream& os, BangCap A){
          os<<A.tenbc<<endl;
          return os;
          }
int main(){
    int m;
    BangCap dsbc[100];
    BangCap A;
    cout<<"Nhap so bang cap ";cin>>m;
    for(int i=0;i<m;i++)
    dsbc[i].nhapbc();
    cout<<"Luu Lai File";
    ofstream f1("myfile.txt");
    f1<<A;
    f1.close();
    cout<<"Lay thong tin tu file \n";
    ifstream f2("myfile.txt");
    BangCap B;
    f2>>B;
    cout<<"Thong tin lay ra tu file\n";
    for(int i=0;i<m;i++)
    dsbc[i].xuatbc();
    f2.close();
    getch();
}
Cho mình hoi sao mà nếu nhập số bằng cấp là 2 thì nó bỏ qua nhập tên bằng cấp đầu tiên? chỉ nhập đc tên bc thứ 2
nếu thêm cin.ignore(); thì nhập đc hết 2 tên nhưng xuất ra mất đi kí tự đầu tiên của tên bc thứ 2, 3......dùng gets vẫn như vậy? ai biết sửa giùm mình. Chân thành cảm ơn.

matsususu

Posts : 146
Thanked : 11
Gia Nhập 24/02/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết