c++家庭财务管理的,错误不知道怎么改,求大神解救

void add()
{
system("cls");
struct F data *p=NULL;
p=(strucr F data*)malloc(sizeof(struct F data));
printf("请输入年份:");
scanf("%d",&p->year);
printf("请输入月份:");
scanf("%d,&p->month");
if((p->month>0)&&(p->month<13))
{
printf("请输入日期:");
scanf("%d",&p->data);
printf("请输入金额:");
scanf("%f",&p->amout);
printf("请输入姓名:");
sacnf("%s",&p->name);
printf("1,收入");
printf("0,支出");
scanf("%d",&p->type);
printf("请输入类型:");
scanf("%s",p->comment);
p->next=head;
head=p;
Recordcount++;
}
system("PAUSE");
}
//查询模块//
void search()
{
system("cls");
char name[20];
int type;
in choice;
struct F data*p=NULL;
printf("1按姓名查找\n2按类型查找\n");
scanf("%d",&choice);
if(choice==1)
{
printf("请输入姓名:");
scanf("%s",name);
for(p=head;p!=NULL;p=p->next)
if(strcmp(p->name,name)==0)
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%s\t",p->type);
printf("p->comment");
}
}
if(choice==2)
{printf("请选择:1收入,2支出\n");
scanf("%d",&type);
for(p=head;p!=NULL;p=p->next)
if(p->type==type)
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%d\t",p->type);
printf("%s\n",p-comment);
}
}
system("pause");
}
//删除模块//
void delete rec()
{system("cls");
char name[20];
float amout;
int choice;
struct F data *p=NULL;
p=head;
q=head;
printf("请输入要删除的姓名:");
sacnf("%s",name);
printf("请输入金额:");
scanf("%f",amout);
for(q!=NULL;q=q->next)
{
if((head->amout==amout)&&(strcmp(head->name,name)==0))
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%d\t",p->type);
printf("%s\n",p-comment);
printf("确认删除?\n1是\n2否\n");

scanf("%d",&choice);
if(choice==1)
{head=q->next;
Recordcount--;
}
else break;
}
else
p=q;
}
}
}
system("PAUSE");
}

//显示模块//
void show()
{system("cls");
struct F data*p=NULL;
float j=0.0,i=0.0,w=0.0;
for(p=head;p!=NULL;p=p->next)
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%d\t",p->type);
printf("%s\n",p-comment);
if(p->type==1)
j+=p->amout;
else
i+=p->amout;
}
printf("一共收入:%.2f\n",j);
printf("一共支出:%.2f\n",i);
w=j-i;
printf("当前余额:%.2f\n",w);
system("PAUSE");
}

修改完成如下。

struct F
{
int year;
int month;
int data;
float amout;
char name[20];
int type;
char comment[20];
F *next;
}data;
F *head=NULL;
static int Recordcount=0;
void add()
{
system("cls");
struct F *p=NULL;
p=(struct F*)malloc(sizeof(struct F));
printf("请输入年份:");
scanf("%d",&p->year);
printf("请输入月份:");
scanf("%d,&p->month");
if((p->month>0)&&(p->month<13))
{
printf("请输入日期:");
scanf("%d",&p->data);
printf("请输入金额:");
scanf("%f",&p->amout);
printf("请输入姓名:");
scanf("%s",p->name);
printf("1,收入");
printf("0,支出");
scanf("%d",&p->type);
printf("请输入类型:");
scanf("%s",p->comment);
p->next=head;
head=p;
Recordcount++;
}
system("pause");
}
  //查询模块//
void search()
{
system("cls");
char name[20];
int type;
int choice;
struct F*p=NULL;
printf("1按姓名查找\n2按类型查找\n");
scanf("%d",&choice);
if(choice==1)
{
printf("请输入姓名:");
scanf("%s",name);
for(p=head;p!=NULL;p=p->next)
if(strcmp(p->name,name)==0)
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%s\t",p->type);
printf("p->comment");
}
}
if(choice==2)
{printf("请选择:1收入,2支出\n");
scanf("%d",&type);
for(p=head;p!=NULL;p=p->next)
if(p->type==type)
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
    printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%d\t",p->type);
printf("%s\n",p->comment);
}
}
system("pause");
}
//删除模块//
void deleterec()
{
system("cls");
char name[20];
float amout;
int choice;
struct F *p=NULL;
F *q=NULL;
p=head;
q=head;
printf("请输入要删除的姓名:");
scanf("%s",name);
printf("请输入金额:");
scanf("%f",&amout);
for(;q!=NULL;q=q->next)
{
if((head->amout==amout)&&(strcmp(head->name,name)==0))
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%d\t",p->type);
printf("%s\n",p->comment);
printf("确认删除?\n1是\n2否\n");

scanf("%d",&choice);
if(choice==1)
{
head=q->next;
Recordcount--;
}
else break;
}
else
p=q;
}
system("pause");
}


//显示模块//
void show()
{system("cls");
struct F*p=NULL;
float j=0.0,i=0.0,w=0.0;
for(p=head;p!=NULL;p=p->next)
{
printf("%d\t",p->year);
printf("%d\t",p->month);
printf("%d\t",p->data);
    printf("%.2f\t",p->amout);
printf("%s\t",p->name);
printf("%d\t",p->type);
printf("%s\n",p->comment);
if(p->type==1)
j+=p->amout;
else
i+=p->amout;
}
printf("一共收入:%.2f\n",j);
printf("一共支出:%.2f\n",i);
w=j-i;
printf("当前余额:%.2f\n",w);
system("PAUSE");
}

没有检查逻辑错误。编译通过。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-16
不会 这个呢追问

、、、、、、、无语

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网