首页 > 其他分享 >第六天第一个问题

第六天第一个问题

时间:2023-04-18 19:55:59浏览次数:38  
标签:第一个 int 捐款者 ++ cin 问题 第六天 patrons cout

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

解决思路:1.创建一个动态分配的结构体数组,组内两个成员,一个是string存储名字,一个是double类型存储款项数额。

2.读取用户数据存储到结构体数组时,判断输入的字符是否大于10000,大于10000则将其序号存进一个数组中记录下来。

3.通过记录的数组打印标题“重要捐款人”之后打印所有捐款超过一万元的捐款者姓名,接着打印“patrons”后打印剩余的人的姓名,用判断结构,如果没有输出某种类别的捐款者姓名则打印none。

代码:

#include <iostream>
#include <string>
using namespace std;
struct patrons
{
string name;
double n;
};
int x;
int t = 0;
int main()
{
cout << "请输入捐款人总数"<<endl;
cin >> x;
cin.get();
int* b = new int[x];
patrons*a = new patrons[x];
for (int i = 0; i < x; i++)
{
cout << "请输入捐款人"<<i+1<<"姓名:";
getline(cin,a[i].name);
cout << "请输入捐款人" << i + 1 << "捐款金额:";
cin >> a[i].n;
cin.get();
if (a[i].n>10000)
{
b[t] = i;
t++;
}
}
cout << "重要捐款人:" << endl;
for (int i = 0; i < t; i++)
{
cout << a[b[i]].name << endl;
cout << a[b[i]].n << endl;
}
if (t == 0)
cout << "none"<<endl;
cout << "patrons:" << endl;
if (t == x)
{
cout << "none" << endl;
}
for (int i = 0; i < x - t; i++)
{
if (t == 0)
{
cout << a[i].name<<endl;
}

for (int j = 0; j < t; j++)
{
if (i != b[j])
cout << a[i].name << endl;
}
}
return 0;
}

 

标签:第一个,int,捐款者,++,cin,问题,第六天,patrons,cout
From: https://www.cnblogs.com/czfznb/p/17330876.html

相关文章

  • SQL Server占用内存不释放卡死问题
      最近项目中发现使用SQLServer的机器会出现10天左右占满内存卡死情况,百度后发现对应的原因如下:    即:SQLServer内存管理是分配了最大内存是多少,就会使用多少,在再次使用的时候,才会释放掉空闲的内存,它不会主动全部释放掉所有空闲内存。所以解决方式是:在sqlSe......
  • gdb 调试技巧:定位程序卡死问题
     gdb调试技巧:定位程序卡死问题 最近遇到一个程序卡死的问题,借助gdb轻松定位,供大家参考。遇到程序卡死不退处,可能不知道卡死在什么地方,如果程序非常简单,也许printf大法就可以很快定位。但是对于大型程序,尤其是一些框架程序,printf大法可能就力不从心了。实际的程序......
  • Python小练习:解决strftime()中国时区乱码问题
    Python小练习:解决strftime()中国时区乱码问题作者:凯鲁嘎吉-博客园 http://www.cnblogs.com/kailugaji/1.mytest.py1#-*-coding:utf-8-*-2#Author:凯鲁嘎吉CoralGajic3#https://www.cnblogs.com/kailugaji/4#Python小练习:解决strftime()中国时区乱码问......
  • java.lang.OutOfMemoryError- unable to create new native thread 问题排查
    问题描述最近连续两天大约凌晨3点,线上服务开始异常,出现OOM报错。且服务所在的物理机只能ping通,但是无法登录。报错信息如下:ERROR04-1203:01:43,930[DefaultQuartzScheduler_Worker-3]JobRunShell[JobRunShell]:211JobthrewanunhandledException:java.lang.OutOfMemoryErr......
  • echarts相关问题
    解决echarts下钻地图,在平移和缩放后,下钻到下一级时生成的地图不在容器中间,会跑到容器外面去。 myChart.setOption(option,true)问题:echart地图三级下钻地图在平移和缩放后,点击到省,由于中心点的偏移,省跑到容器以外的地方去了,导致新生成的地图看不见。解决方法:后来发现,是重新绘制......
  • 个人所得税问题
    一问题描述输入收入金额后能输出个人所得税金额。3500以下不用交税超过3500后超过部分不超过1500收3%1500到4500收10%4500到9000收20%9000到35000收25%35000到55000收30%55000到80000收35%超过80000收45%二设计思路设置各个条件如果输入的收入满足条件运行里面的计算公式计算......
  • 团体天梯练习 L2-023 图着色问题
    L2-023图着色问题图着色问题是一个著名的\(NP\)完全问题。给定无向图\(G=(V,E)\),问可否用\(K\)种颜色为\(V\)中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题......
  • 实际问题中用到的算法——递归算法确定插帧顺序
    问题:现在需要给一个视频序列插帧,插帧算法要求每次只能由两帧输入插值得到其中间帧。如果现在需要给一个视频做4倍(或者更高的8,16倍等类似)的插帧,则一个插帧的思路是当前视频每相邻帧之间插入3帧,即:假设插帧前视频帧序号是0,4,8,12…,则插帧时补充相邻帧跨过的3个序号,得到插......
  • ArcGIS Portal/Server局域网域名访问问题
    安装好arcgisportal后,假设:门户url:https://esrichina.arcgiscloud.com/arcgis/home/ip:10.0.3.159则需要修改host进行域名访问,找到C:\Windows\System32\drivers\etc下的HOSTS文件,打开HOSTS文件在文件最下面新加一行:10.0.3.159esrichina.arcgiscloud.com由于Windows的自我保护设置......
  • 设计传感器,需要注意哪些问题
    好的传感器的设计是经验加技术的结晶。一般理解传感器是将一种物理量经过电路转换成一种能以另外一种直观的可表达的物理量的描述。比如转换成仅依赖于此测物理量的较高的电压电流等信号,再显示出来。因此需要注意几点:1、一般所测得的物理量是非常小的,通常还带有作为传感器物理转换......