C++ 结构数组+循环 简单例题1 菜鸡做的简单例题,自用笔记。
题目 为每个顾客分配一个顾客号(从0开始) ,定义一个数组用来记录每天每位顾客的购买额,数组下标正好与顾客号相对应。接待完当天最后一位顾客后,输出每位顾客的顾客号与购买额、总的购买额及每位顾客的平均购买额。
思想
- 定义数组;
- 顾客、顾客号、购买额;
- 一个顾客对应一个顾客号,购买额相叠加;
- 无限循环直到店铺打烊(即购买额为0);
- 输入、输出具有可读性;
#include
#include
using namespace std;
struct Customer
{
char name[10];
int num;
};
Customer cus[100];
2. 输入名字和金额
*注意一个名字对应一个顾客号
int main()
{
int i=0,j=0,num;
char name[10];
float parchase[100],money;
while(true)//无限循环。可以输入多个顾客
{
cout<<"the total price is ";
cin>>money;
if(money==0)//循环停止条件,店铺打烊
break;
cout<<"the customer's name is ";
cin>>name;
for(j=0;
j<=i;
j++)//循环,以与前面存入的名字比较
{
if(0==strcmp(cus[j].name,name))//判断是否与前面的循环有重复
{
parchase[j]+=money;
cout<<"the number of "<
3.输出
很简单的循环输出下每个顾客,求和算平均值就ok
float sum=0,ave;
if(i!=0)
{
cout<<"today's the parchase is"<【C++ 结构数组+循环 简单例题1】 结果大概这样:
文章图片
tips - 判断两个字符数组是否完全相同
#include
strcmp(const char *s1,const char *s2)
- 无限循环
设置条件,break跳出
- 字符数组的赋值
strcpy(str1,str2)//将str2赋给str1
注:在本题中,把string类型的name赋给字符数组会报错,原因不明;
(个人怀疑是因为输入的name长度不确定,系统不确定字符数组是否能容纳下,故报错)
但可以把字符数组name赋给字符数组。
另:本解输出没大问题,但是逻辑有些问题且未优化。
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 个人日记|K8s中Pod生命周期和重启策略
- 学习分享|【C语言函数基础】
- C++|C++浇水装置问题
- 数据结构|C++技巧(用class类实现链表)
- C++|从零开始学C++之基本知识
- 步履拾级杂记|VS2019的各种使用问题及解决方法
- leetcode题解|leetcode#106. 从中序与后序遍历序列构造二叉树
- 动态规划|暴力递归经典问题
- 麦克算法|4指针与队列
- 遇见蓝桥遇见你|小唐开始刷蓝桥(一)2020年第十一届C/C++ B组第二场蓝桥杯省赛真题