#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#define LEN sizeof (struct cte) /*宏定义*/
/*..........................
............................
............................*/
struct cte /*结构体定义*/
{
charchinese[100] ;
charEnglish[100] ;
struct cte *next;
};/*........................
............................
............................
*/
struct cte *insert(struct cte *head)/*单词添加*/
{
struct cte *p1,*p2,*p3;
unsigned int a , b;
p1=p2=head;
if (head == 0)
{
p1 = (struct cte *)malloc(LEN);
printf("1.中译英n");
printf("2.英译中n");
scanf("%d",&a);
if (a==1)
{
printf("请输入中文:n");
scanf("%s",&p1->chinese);
printf("please input english:n");
scanf("%s",&p1->English);
}
else if (a==2)
{
printf("please input english:n");
scanf("%s",&p1->English);
printf("请输入中文:n");
scanf("%s",&p1->chinese);
}
else
{
printf ("输入有误n");
}
head = p1;
head->next=0;
}
else
{
p1=(struct cte *)malloc(LEN);
p3=head->next;
head->next=p1;
p1->next=p3;
printf("1.中译英n");
printf("2.英译中n");
scanf("%d",&b);
if (b==1)
{
printf("请输入中文:n");
scanf("%s",&p1->chinese);
printf("please input english:n");
scanf("%s",&p1->English);
}
else if (b==2)
{
printf("please input english:n");
scanf("%s",&p1->English);
printf("请输入中文:n");
scanf("%s",&p1->chinese);
}
else
{
printf("输入有误n");
}
}
return head;
}
/*...........................
.............................
.............................*/
void cscan(struct cte *head) /*汉译英*/
{
struct cte *p;
char a[100];
printf("请输入:");
scanf("%s",a);
p = head;
if(head==0)
printf("本词典当前为空n");
while(p!=0)
{
if (strcmp(a,p->chinese)==0)
{
printf("English:%s",p->English);
p=0;
}
else if (strcmp(a,p->chinese) != 0)
p=p->next;
if(p==0)
printf("没这词语");
}
system("pause");
}
/*............................
..............................
..............................*/
void escan(struct cte *head) /*英译汉*/
{
struct cte *p;
char a[100];
printf("please input a word:");
scanf("%s",a);
p=head;
if(head==0)
printf("本词典当前为空n");
while(p!=0)
{
if (strcmp(a,p->English) == 0)
{
printf("中文:%s",p->chinese);
p = p->next;
}
else if (strcmp(a,p->English)!=0)
p = p->next;
if(p==0)
printf("没这词语");
}
system("pause");
}
/*.............................
...............................
...............................*/
void print (struct cte *head)/*词典查看*/
{
struct cte *p;
p = head;
if(p==0)
printf("该词典没有任何记录n");
while(p !=0)
{
printf("中文:%s English:%sn",p->chinese,p->English);
p = p->next;
}
system("pause");
}
/*..............................
................................
................................*/
void main()
{
void cscan(struct cte *head);
void escan(struct cte *head);
struct cte*insert(struct cte *head);
struct cte *start(void);
struct cte *B=0;
int a,b=0,c;
/*struct cte n;*/
while(1)
{
printf("nnnntttt");
printf("************ntttt");
printf("1.汉译英ntttt");
printf("2.英译汉ntttt");
printf("3.添加新词ntttt");
printf("4.查看词典ntttt");
printf("5.清除屏幕ntttt");
printf("************nn");
printf("请选择n");
scanf("%d",&a);
if(a==1)
{
cscan(B);
system("cls");
}
else if(a==2)
{
escan(B);
system("cls");
}
else if(a==3)
{
B = insert(B);
system("cls");
}
else if(a==4)
{
print(B);
system("cls");
}
else if(a==5)
system("cls");
else
printf("输入有误:");
}
}