标题一定要长长长长长长长长长长长长长长长长长长长长长长长长才能吸引人
#include <stdio.h>#include <string.h>
#include <stdlib.h>
#include <math.h>
#define MAX 1000 //最大值定义为100
struct DATE
{
int year;
int month;
int day;
};
struct member
{
char name[40];
int num;
int price;
struct DATE intime;
}in1[MAX],in2[MAX],*p,*q;
struct sum
{
char name[40];
int numb;
int price;
}zongji[MAX],*m;
void Initin() //结构体初始化
{
for(int i=0;i<MAX;i++)
{
in1[i].num=0;
in1[i].price=0;
in2[i].num=0;
in2[i].price=0;
}
}
void tianjia1(struct member *p)
{
printf("请输入要添加物品的名称:");
scanf("%s", p->name);
printf("\n");
printf("\n");
printf("请输入要添加物品的价格:");
scanf("%d",&p->price);
printf("\n");
printf("\n");
printf("请输入要添加物品的数量: ");
scanf("%d",&p->num);
printf("\n");
printf("\n");
printf("请输入添加物品的时间(xx-xx-xx): ");
scanf("%d-%d-%d",&p->intime.year,&p->intime.month,&p->intime.day);
}
void tianjia2(struct member *q)
{
printf("请输入要添加物品的名称:");
scanf("%s", q->name);
printf("\n");
printf("\n");
printf("请输入要添加物品的价格:");
scanf("%d",&q->price);
printf("\n");
printf("\n");
printf("请输入要添加物品的数量: ");
scanf("%d",&q->num);
printf("\n");
printf("\n");
printf("请输入添加物品的时间(xx-xx-xx): ");
scanf("%d-%d-%d",&q->intime.year,&q->intime.month,&q->intime.day);
}
void Menu() //菜单
{
printf("┏—————————————————M E N U————————————————┓\n");
printf("│ │\n");
printf("│ 1. 衣方面花费 │\n");
printf("│ 2. 食方面花费 │\n");
printf("│ 3. 行方面花费 │\n");
printf("│ 4. 通讯类花费 │\n");
printf("│ 5. 其他类花费 │\n");
printf("│ 6. 衣方面合计 │\n");
printf("│ 7. 食方面合计 │\n");
printf("│ 8. 行方面合计 │\n");
printf("│ 9. 通讯方面合计 │\n");
printf("│ 10. 其他类合计 │\n");
printf("┗—————————————请 选 择 你 需 要 的 操 作————————————┛\n");
}
void cMenu()
{
printf("┏—————————————————————————————————┓\n");
printf("│ │\n");
printf("│ 1.小胖子 2小瘦子 │\n");
printf("│ │\n");
printf("┗——————————请 选 择 你 需 要 的 操 作——————————┛\n");
}
void dMenu()
{
printf("┏—————————————————————————————————┓\n");
printf("│ │\n");
printf("│ 1.水 2电 │\n");
printf("│ │\n");
printf("┗——————————请 选 择 你 需 要 的 操 作——————————┛\n");
}
void xianshi1(struct member *p)
{
printf("┏━━━━━━━┳━━━━━━━┳━━━━━━━━┳\n");
printf("┃ 名字 ┃ 数量 ┃ 价格 ┃\n");
printf("┣━━━━━━━╋━━━━━━━╋━━━━━━━━┫\n");
printf("┃%14s┃%14d┃%16d┃\n",p->name,p->num,p->price);
printf("┗━━━━━━━┻━━━━━━━┻━━━━━━━━┛\n");
printf("%d-%d-%d",p->intime.year,p->intime.month,p->intime.day);
printf("\n");
printf("\n");
p++;
}
void xianshi2(struct member *q)
{
printf("┏━━━━━━━┳━━━━━━━┳━━━━━━━━┳\n");
printf("┃ 名字 ┃ 数量 ┃ 价格 ┃\n");
printf("┣━━━━━━━╋━━━━━━━╋━━━━━━━━┫\n");
printf("┃%14s┃%14d┃%16d┃\n",q->name,q->num,q->price);
printf("┗━━━━━━━┻━━━━━━━┻━━━━━━━━┛\n");
printf("%d-%d-%d",q->intime.year,q->intime.month,q->intime.day);
printf("\n");
printf("\n");
q++;
}
void main()
{
Initin();
int totle=0;
p=in1;
q=in2;
printf("-----------------------欢 迎 进 入 超 级 管 家 系 统!---------------------------\n\n");
int choice=5;
int cchoice;
while(choice!=0)
{
Menu();//显示菜单
scanf("%d",&choice);
switch(choice)
{
case 1:
cMenu();
scanf("%d",&cchoice);
switch(cchoice)
{
case 1:
tianjia1(p);
xianshi1(p);
break;
case 2:
tianjia2(q);
xianshi2(q);
break;
}
break;
case 6:
cMenu();
scanf("%d",&cchoice);
switch(cchoice)
{
case 1:
int j;
m=zongji;
printf("请输入要总计的产品名称:");
scanf("%s",m->name);
for(j=0;j<=MAX;j++)
{
if(strcmp(m->name,p->name)==0)//如果名一样
{
m->numb=m->numb+p->num;
p--;
m++;
}
}
printf("%d",m->numb);
}
}
}
}
帮忙看下为什么我的程序中当有两个一样的名字时,数量不能累加