(C++)编写一个程序, 记录捐助给“维护合法权利团体”的资金。该程序要求用户输入捐献者数目, 然后 要求用户输入每一个捐献者的姓名和款项。这些信息被储存在一个动态分配的结构数组中......

完整题目:

编写一个程序, 记录捐助给“维护合法权利团体”的资金。该程序要求用户输入捐献者数目, 然后 要求用户输入每一个捐献者的姓名和款项。这些信息被储存在一个动态分配的结构数组中。每个结构有两 个成员:用来储存姓名的字符数组(或 string 对象)和用来存储款项的 double 成员。读取所有的数据后, 程序将显示所有捐款超过 10000 的捐款者的姓名及其捐款数额。该列表前应包含一个标题,指出下面的捐 款者是重要捐款人(Grand  Patrons)。然后,程序将列出其他的捐款者,该列表要以 Patrons 开头。如果某 种类别没有捐款者,则程序将打印单词“none ”。该程序只显示这两种类别,而不进行排序。

完整代码:

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

//定义捐赠者结构体
struct Donater {
	string name;
	double money;
};

//创建一个结构体对象并接受键盘的值,然后返回该地址
Donater* create(int person)
{
	Donater* donater = new Donater[person];
	for (int i = 0; i < person; i++)
	{
		cout << "请输入捐赠者姓名: ";
		cin >> donater[i].name;
		cout << "请输入捐赠者款项: ";
		cin >> donater[i].money;
	}
	return donater;
}

int main()
{
	int person, count1=1,count2=1,count3=0,count4=0;
	cout << "请输入捐赠者人数: ";
	cin >> person; 
	Donater* p = create(person);
	for (int i = 0; i < person; i++)
	{
		if (p[i].money >= 10000)
		{
			while (1==count1)
			{
				cout << "下面是重要捐款人" << endl;
				count1++;
			}
			count3++;
			cout << p[i].name << "\t"<< p[i].money<<endl;
		}
		else if (p[i].money < 10000 && p[i].money>0)
		{
			while (1 == count2)
			{
				cout << "下面是Patrons类捐款" << endl;
				count2++;
			}
			count4++;
			cout << p[i].name << "\t" << p[i].money << endl;
		}
	}
	if (0 == count3)
	{
		cout << "下面是重要捐款人" << endl;
		cout << "None" << endl;
	}

	if (0 == count4)
	{
		cout << "下面是Patrons类捐款" << endl;
		cout << "None" << endl;
	}
}

代码结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值