30/09/2018, 17:21

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 << "
Ten Ho, So lieu cu, So lieu moi, Tien
";
	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 . 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

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

Trịnh Minh Cường viết 19:30 ngày 30/09/2018

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ì ? bạn nên ghi rõ hơn để mọi người có thể hiểu và giúp đỡ bạn nhanh hơn

X viết 19:28 ngày 30/09/2018

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 à =)))

Absice viết 19:33 ngày 30/09/2018

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

Bài liên quan
0