Giúp đỡ về Struct trong C++

#include <iostream>
#include <string>
using namespace std;

struct thong_tin
{
	char ten_ho[41];
	long so_lieu_moi;
	long so_lieu_cu;
}; struct thong_tin mang[101];

long tien_nuoc(long so_nuoc)
{
	long temp1;
	if (so_nuoc <= 4) temp1 = so_nuoc * 4000;
	if (so_nuoc <= 8) temp1 = 4 * 4000 + (so_nuoc - 4) * 5000;
	if (so_nuoc >8) temp1 = 4 * 4000 + 4 * 5000 + (so_nuoc - 8) * 6000;
	return temp1;
}

int t = 0;
char s[41];
long temp;

void nhap()
{
	do
	{
		cout << "Nhap vao thong tin ho thu " << t + 1 << endl;
		cout << "Ten Ho: "; fflush(stdin); gets_s(s);
		if (strcmp(s, "###") == 0)break;
		strcpy_s(s, mang[t].ten_ho);
		long temp;
		cout << "So lieu moi: ";
		cin >> temp;
		mang[t].so_lieu_moi = temp;
		cout << "So lieu cu: ";
		cin >> temp;
		mang[t].so_lieu_cu = temp;
		t++;
	} while (t <= 100);
}

int i;
long temp2, temp3, temp4;

int main()
{
	nhap();
	cout << "\nTen Ho, So lieu cu, So lieu moi, Tien\n";
	cout << mang[0].ten_ho;
	for (i = 0; i <= t; i++)
	{
		cout << i << endl;
		temp2 = tien_nuoc(mang[i].so_lieu_cu);
		temp3 = tien_nuoc(mang[i].so_lieu_moi);
		temp4 = temp2 + temp3;
		cout << mang[i].ten_ho;
		cout << mang[i].so_lieu_cu << mang[i].so_lieu_moi << temp4;
	}
	system("pause");
}

Mình dùng VS 2013 khi chạy code C++ thì chương trình chạy được, Nhưng khi đến hàm in thì nó ra kết quả không như mong đợi :smile:. Các bạn cho mình hỏi code của mình sai ở đâu và sửa như nào ạ!. Thank vì đã đọc :wink:

Thank @Mark vì đã nhắc ^^. Mình quên là mỗi người dùng một compiler khác nhau nên cú pháp sẽ khác nhau copy lên chạy lại phải edit mất công các bạn

1 Like

:slight_smile: Vậy cái kết quả mong đợi của bạn trong chương trình kia là gì và chương trình nó cho ra kết quả gì ? :slight_smile: bạn nên ghi rõ hơn để mọi người có thể hiểu và giúp đỡ bạn nhanh hơn :slight_smile:

1 Like

nhìn sơ qua thấy có một vài lỗi như chỗ hàm strcpy…v.v… Ngoài ra cách khai báo và tính tiền có vấn đề. dùng cout in bừa quá

temp2 = tien_nuoc(mang[i].so_lieu_cu);
		temp3 = tien_nuoc(mang[i].so_lieu_moi);
		temp4 = temp2 + temp3;

đầu tháng số nước là 15 khối và cuối tháng là 20 khối vậy thì trả tiền 35 khối à =)))

Không bạn đây là số liệu cũ và số liệu mới của 2 tháng khác nhau :smile:. Bạn có thể nêu cách sửa được k ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?