C++ 结构数组+循环 简单例题1

C++ 结构数组+循环 简单例题1 菜鸡做的简单例题,自用笔记。
题目 为每个顾客分配一个顾客号(从0开始) ,定义一个数组用来记录每天每位顾客的购买额,数组下标正好与顾客号相对应。接待完当天最后一位顾客后,输出每位顾客的顾客号与购买额、总的购买额及每位顾客的平均购买额。
思想

  1. 定义数组;
  2. 顾客、顾客号、购买额;
  3. 一个顾客对应一个顾客号,购买额相叠加;
  4. 无限循环直到店铺打烊(即购买额为0);
  5. 输入、输出具有可读性;
1. 定义结构数组
#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】 结果大概这样:
C++ 结构数组+循环 简单例题1
文章图片

tips - 判断两个字符数组是否完全相同
#include strcmp(const char *s1,const char *s2)

- 无限循环
设置条件,break跳出
- 字符数组的赋值
strcpy(str1,str2)//将str2赋给str1

注:在本题中,把string类型的name赋给字符数组会报错,原因不明;
(个人怀疑是因为输入的name长度不确定,系统不确定字符数组是否能容纳下,故报错)
但可以把字符数组name赋给字符数组。
另:本解输出没大问题,但是逻辑有些问题且未优化。

    推荐阅读