C语言程序设计,植物信息查询。有十种植物的信息,根据植物名查询该植物的所属科属,形态特征和使用价值

C语言程序设计,植物信息查询。有十种植物的信息,根据植物名查询该植物的所属科属,形态特征和使用价值,第1张

植物数据我列举了一些放在txt文件中,程序从txt文件读取加载到链表中,再通过用户输入名称查找链表信息。

txt文件格式每行一个植物:植物名 空格 科属 空格 形态特征 空格 使用价值 回车。

八宝景天 景天科景天属 多年生肉质草本植物 园林绿化,具有药用价值。

玉兰 木兰科木兰属玉兰亚属玉兰 落叶乔木 园林绿化。

银杏 银杏科银杏属 落叶大乔木 可食用,药用,园林绿化。

槐树 豆科 五叶槐 园林绿化。

红枫 槭树科槭树属 落叶小乔木 园林绿化。拍租

海棠 属蔷薇科苹果亚科苹果属 落叶小乔木 园林绿化。

三色堇 堇菜科堇菜属 多年生草本植物 具有药用价值,中国多用作园林绿化。

月季 蔷薇科蔷薇属 半常绿低矮灌木 园林绿化。

杨树 杨柳科杨属 乔木或灌木 袭和兆园林绿化。

石榴树 石榴科 落叶灌木或小乔木 园林绿化,果实食用,药用。 #include<stdio.h>

#include<stdlib.h>

#include<string.h>

typedef struct plant

{

    char name[20]

    char genera[50]

    char charas[1000]

    char value[100]

    struct plant *next

}PLANT

PLANT *readFile(FILE *fp)//返回头节点指针

PLANT *findByName(PLANT *plantHead,char name[])

int main()

{

    char name[20]

    PLANT *plantHead=NULL,*plantFind=NULL

    FILE *fp=NULL

    if((fp=fopen("C:\\list.txt","rt+"))==NULL)

    {

        printf("Cannot open file strike any key exit!")

        exit(1)

    }

    plantHead=readFile(fp)

    printf("请输入要查找的植物名称:")

    scanf("%s",name)

    plantFind=findByName(plantHead,name)

    printf("%s的所属科属:%s\n形态特征:%s\n使用价值:%s",plantFind->name,plantFind->genera,plantFind->charas,plantFind->value)

    return 0

}

PLANT *findByName(PLANT *plantHead,char name[])

{

    while(plantHead->next!=NULL)

    {

        if(!strcmp(plantHead->next->name,name))

            return plantHead->next

        plantHead=plantHead->next

    }

    return NULL

}

PLANT *readFile(FILE *fp)//返回头节点指针

{

    PLANT *plantNew=NULL,*plantHead=NULL,*plantTail=NULL

    printf("----开始读取文件到链表----\n")

    fseek(fp, 0, SEEK_SET)//文件流指针重置到开头

    plantHead=(PLANT *)malloc(sizeof(PLANT))

    plantHead->next=NULL

    plantNew=(PLANT *)malloc(sizeof(PLANT))

    plantNew->next=NULL

    while(fscanf(fp,"%s %s %s %s",plantNew->name,plantNew->genera,plantNew->charas,plantNew->value)!=-1)

    {

       棚春 if(plantHead->next==NULL)

            plantHead->next=plantNew

        else

           plantTail->next=plantNew

        plantTail=plantNew

        printf("读取信息:名:%s 科属:%s 特征:%s 价值:%s\n",plantNew->name,plantNew->genera,plantNew->charas,plantNew->value)

        plantNew=(PLANT *)malloc(sizeof(PLANT))

        plantNew->next=NULL

    }

    free(plantNew)

    printf("----数据读取完成----\n")

    return plantHead

}

植物大战僵尸里面的代冲李梁码:

一、win:直接通关。

二、sun:阳光价值增加。

三、lazy:自动收集。

四、fast:僵尸快跑。

五、next:场景黑白天切换。

六、card:选卡界面隐藏植物。

七、fire:无用紫卡变火炬豌豆。

八、shroom:无用紫卡变僵尸菇。

九、roof:无用紫卡变小盆菇。

十、petal:无用紫卡变冰叶草。

十一、rebound:无用紫卡变反d树桩。

十二、yeti:无用紫卡变雪人的头。

十三、music:无用紫卡变唱片机。

十四、tricks:无用紫卡变窝窝瓜。

十五、magic:无用紫卡变魔术豆。

十六、popsicle:无用紫卡变冰冻巧克力。扰碧

十七、kill:全屏秒杀。

十八、love:全屏魅惑。

十九、value:杀僵尸概率掉阳光。

二十、worth:阳光铲。

二十一、glove:手套模式。

二十二、大键盘1:铲子/手套快捷键。

二十三、hardA:更多僵尸。

二十四、hardB:波散运数+10。

0 豌豆射手

1 向日葵

2 樱桃炸d

3 坚果

4 土豆地雷

5 寒冰射手

6 大嘴花

7 双重射手

8 小喷菇

9 阳光菇

10 大喷菇

11 咬咬卖胡碑

12 迷惑菇

13 胆小菇

14 冰川菇

15 末日菇

16 莲叶

17 窝瓜

18 三重射手

19 缠绕水草

20 火爆辣椒

21 地刺

22 火炬树桩

23 高坚果

24 水兵菇

25 路灯花

26 仙人掌

27 三叶草

28 双向射手

29 星星果

30 南瓜头

31 磁力菇

32 卷心菜投手

33 花盆

34 玉米投手

35 咖啡豆

36 大蒜

37 罗卜伞

38 金盏花

39 西瓜投手

40 机q射手

41 双子向日葵

42 多嘴小蘑菇

43 猫尾草

44 冰西瓜

45 吸金菇

46 钢地刺

47 玉米加农炮

48模仿者(变身时消失)

49红坚果

50巨坚果

51幼苗

52左向双重射手

//53(改消失)

//54 转向缺裤(点消中扮拦失)

//55 消坑(点消失)

//56 太阳牌(点消失)

//57钻石牌(点消失)

58潜水僵尸(花苗?)

59奖杯(僵尸头?)

60普通僵尸(花苗)

61路障僵尸

62撑杆僵尸

63铁桶僵尸

64梯子僵尸

65矿工僵尸

66飞贼僵尸

67橄榄球僵尸

68气球僵尸

69铁网门僵尸

70雪橇车僵尸

71蹦蹦僵尸

72舞者僵尸

73巨人僵尸

74小鬼僵尸


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12560241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存