c语言计算器变量,支持变量运算的计算器

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

本文件实现变量的操作,名为:bianliang.c因为英语不好只好用拼音

struct bl

{char name[16];

double x;

struct bl *next ;

}*head=NULL,*end=NULL;

add(char *name,double y)

{struct bl *new;

if(find(name)==1)

{

printf("%s :bian biang is haved!!\n",name);

return 0;

}

new=(struct bl*)(malloc(sizeof(struct bl)));

if(new!=0)

{

strcpy(new->name,name);

(new->x)=y;

if(head==NULL){end=head=new;head->next=NULL;}

else

{

end->next=new;

end=new;

new->next=NULL;}

}

else

printf("have not enemy meaony!!");

}

delete(char *name)

{

struct bl *p1,*p2;

p2=p1=head;

while(strcmp(p1->name,name)!=0&&p1->next!=NULL)

{

p2=p1;

p1=p1->next;

}

if(strcmp(p1->name,name)==0)

{

p2->next=p1->next;

free(p1);

}

else

printf("have not the bianliang !!\n");

}

setvalue(char *name,double x)

{

struct bl *p;

p=head;

while(strcmp(p->name,name)!=0&&p->next!=NULL)p=p->next;

if(strcmp(p->name,name)==0) p->x=x;

else

add(name,x);

}

double vgetvalue(char *name)

{

struct bl *p;

p=head;

while(strcmp(p->name,name)!=0&&p->next!=NULL)p=p->next;

if(strcmp(p->name,name)==0)

return(p->x);

else

{add(name ,0);

return 0;}

}

clear()

{

struct bl *p1,*p2;

p1=head;

head=NULL;

end=NULL;

while(p1!=NULL)

{

p2=p1->next;

free(p1);

p1=p2;

}

}

showall()

{

struct bl *p;

p=head;

while(p!=NULL)

{printf("%10s\t%f\n",p->name,p->x );

p=p->next;

}

return 0;

}

find(char *name)

{

struct bl *p1;

p1=head;

while(strcmp(p1->name,name)!=0&&p1->next!=NULL)

p1=p1->next;

if(strcmp(p1->name,name)==0)

return 1;

else

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值