01/10/2018, 14:49

E viết như này đến getline thì bị lỗi e chưa biết cách sửa mong m.n giúp ạ

#include<iostream.h>
#include<conio.h>
#include<string>
using namespace std;

struct hanghoa 
 {
 	char mahang[8];
 	char tenhang[30];
 	int soluong;
 	float dongia;
 };
 
int main()
{
	int n;
	hanghoa a[500];
	cout<<"nhap so luon mat hang ";
	cin>>n;
	while(n<1||n>500)
	 {
 		cout<<"so luong khong hop le, vui long nhap lai"<<endl;
 		cout<<"nhap so luon mat hang ";
		cin>>n;
 	 }
 	for(int i=1;i<=n;i++)
 	 {
	  cout<<"nhap thong tin mat hang "<<i<<endl;
	  cout<<"nhap ma hang ";
 	  cin>>a[i].mahang;
 	  cout<<"nhap ten hang ";
 	  getline(cin,a[i].tenhang);
 	  cout<<"nhap so luong ";
 	  cin>>a[i].soluong;
 	  cout<<"nhap don gia ";
 	  cin>>a[i].dongia;
 	 }
    for(int i=1;i<=n;i++)
	{
		cout<<"thong tin mat hang "<<i<<": "<<endl;
		cout<<"ma mat hang: "<<a[i].mahang<<endl;
		cout<<"ten mat hang: "<<a[i].tenhang<<endl;
		cout<<"so luong: "<<a[i].soluong<<endl;
		cout<<" don gia: "<<a[i].dongia<<endl;
		cout<<"

==================

"<<endl;
	} 
	cout<<endl;
	return 0;
}
Dark.Hades viết 17:00 ngày 01/10/2018

for(int i=1;i<=n;i++)

i = 0; i < n

20 chars

Nguyễn Hào viết 16:51 ngày 01/10/2018

b chỉnh cả đoạn mình xem nào, chứ mình chưa hiểu lắm, mai mình làm bài ktra r @@

Nguyễn Hào viết 16:59 ngày 01/10/2018

Dòng nhập đơn giá (nói chung là con số) sẽ để lại một phím enter, nên ta phải ignore nó đi.

ignore như nào ạ, chỉ mình luôn với

Nguyễn Hào viết 16:55 ngày 01/10/2018

getline(cin,a[i].tenhang);

ok thanks m.n e tìm ra lỗi r. sửa thành cin.getline(a[i].tenhang,30) là xong :)))

Bài liên quan
0