首页 > 编程语言 >C++-练习-39

C++-练习-39

时间:2024-09-14 08:57:58浏览次数:9  
标签:39 cout people int 练习 程序 C++ num 捐献者

题目:

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

源代码:

#include <iostream>

struct donate {
	char name[20];
	int money;
	bool important;	//表示重要捐献者
};

int main()
{
	using namespace std;
	int people_num = 0;
	int sig = 0; //表示当前捐献列表没有人
	cout << "请输入捐赠者的数量: ";
	(cin >> people_num).get();
	donate* people = new donate[people_num];
	for (int i = 0; i < people_num; i++)
	{
		cout << "请输入第 " << i + 1 << " 位捐献者姓名: ";
		cin.getline(people[i].name, 20);
		cout << "请输入捐献者金额: ";
		(cin >> people[i].money).get();
		people[i].important = 0;
	}

	cout << "重要捐献者: " << endl;
	for (int i = 0; i < people_num; i++)
	{
		if (people[i].money > 1000)
		{
			cout << "姓名: " << people[i].name << " 金额: " << people[i].money << endl;
			people[i].important = 1; //表示为重要捐献者
			sig = 1;	//当前类非空
		}

	if (!sig && i == people_num - 1)
	{
		cout << "none" << endl;
	}
	}

	sig = 0; 
	cout << "其他捐献者: " << endl;
	for (int i = 0; i < people_num; i++)
	{
		if (!people[i].important)
		{
			cout << "姓名: " << people[i].name << " 金额: " << people[i].money << endl;
			sig = 1;	//当前类非空
		}

	if (!sig && i == people_num - 1)
	{
		cout << "none" << endl;
	}
	}

	return 0;

}

演示效果:


如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

标签:39,cout,people,int,练习,程序,C++,num,捐献者
From: https://blog.csdn.net/little_startoo/article/details/142044562

相关文章

  • 官网下载easyx压缩包,如何在devc++配置easyx
    视频教程官网下载easyx压缩包,如何在devc++配置easyxEasyXGraphicsLibraryforC++安装指南1.访问官网官网2.下载EasyX在官网上找到下载区域,点击下载按钮以获取EasyX安装包。3.访问更多下载选项点击页面上的“more”链接,以查看更多下载选项。4.下......
  • C++一元多项式解析、计算、输出(数据结构作业),可直接运行
    //Copyright(c)[email protected]#include<bits/stdc++.h>classPolynomial{private:std::unordered_map<int,int>data_;voidzero_value_optimization(){for(autoiter=data_.begin();iter!=data_.end();){......
  • 数据结构基础讲解(六)——串的专项练习
    本文数据结构讲解参考书目:通过网盘分享的文件:数据结构 C语言版.pdf链接: https://pan.baidu.com/s/159y_QTbXqpMhNCNP_Fls9g?pwd=ze8e 提取码:ze8e数据结构基础讲解(五)——队列专项练习-CSDN博客个人主页:樱娆π-CSDN博客目录串的定义串的类型定义、存储结......
  • 78_JAVA_new的使用在JAVA与C++的异同之处
    Java和C++都使用new关键字来创建对象和分配内存,但它们在实现和使用上有一些重要的异同之处。以下是这两种语言中new使用的主要异同点:1. 内存管理Java:自动内存管理:Java使用垃圾回收(GarbageCollection,GC)机制来自动管理内存。对象的生命周期由垃圾回收器自动管理,......
  • C++ 虚函数表解析
    一、何为多态多态(polymorphism)指为不同数据类型的实体提供统一的接口,或使用单一的符号来表示多个不同的类型。比如我们熟悉的函数重载、模板技术,都属于多态。无论是模板还是函数重载,都是静态绑定的。也就是说,究竟该调用哪个重载函数或者说调用哪个模板类的实例化,在编译期就是确认......
  • 2024.09.13练习总结
    没有参与比赛练习,所以没有赛时总结。$T1,T2$比较简单,似乎是签到题。$T3$题意不是很懂。首先将题目中的要求转换为人话:当两个区间有交,他们必须长度相同。注意到题目中说有$n$个人要上下电梯,且每站只会有一个人的状态改变。那么不难发现对于一段区间$[l,r]$......
  • C++ 继承同名Impl简单测试构造顺序析构顺序
    /*****classBase*****/classBase{public:Base();virtual~Base();protected:structImpl;Impl*m_Impl;};structBase::Impl{intnum{100};};Base::Base(){m_Impl=newImpl;std::cout<<"Base构造!"......
  • Hash Table 哈希表工作原理介绍及C/C++/Python实现
    HashTable哈希表工作原理介绍及C/C++/Python实现哈希表(HashTable),也称为散列表,是一种通过哈希函数将键(Key)映射到表中一个位置以便快速访问记录的数据结构。它提供了非常高效的数据检索、插入和删除操作。哈希表的基本原理是使用一个哈希函数将输入(通常是字符串)转换为一个......
  • C++入门基础知识65——【关于C++ 数据封装】
    成长路上不孤单......
  • C++入门基础知识66——【关于C++ 接口(抽象类)】
    成长路上不孤单......