资源简介
人工智能专家系统C语言版
代码片段和文件信息
#include
#include
#include
struct{
char v[10];
int f;
int k;
}V[100];
struct{
char ss[10];//
int F;
}C[100];//定义结构体数组,用来保存输入的症状类型
void main()
{
int K;
printf(“请输入你要进行的操作,1专家诊断,2增加知识,3更新知识库\n“);//进行选择要输入的操作
scanf(“%d“&K);//输入
getchar();
if(K==1){//如果输入的是1,则进行专家诊断
FILE *fp;//定义一个文件指针
int if1;//定义变量
int j=0j1=0;//定义变量并赋值
int l=0l1=0;//定义变量并赋值
int m=0n=0;//定义变量并赋值
int a=0;//定义变量并赋值
char c;
char s[30];
char S[30];
for(i=0;i<100;i++){//循环
V[i].f=0;//给个标志位赋值为0
V[i].k=0;
C[i].F=0;
}
i=0;
printf(“请输入您的症状按!结束\n“);//提示
c=getchar();//输入
while(c!=‘!‘){//判断是否输入结束
if(c!=‘\n‘) //如果不是回车
C[m].ss[C[m].F++]=c;//把输入的症状存入结构体变量
else
{
C[m].ss[C[m].F++]=‘\0‘;//否则在字符串的末尾加字符串结束标志结束字符串输入
m++;//输入症状的个数加1
}
c=getchar();//接受一个字符
}
C[m].ss[C[m].F]=‘\0‘;//在输入结束后,在最后一个字符串末尾加字符串结束标志
if((fp=fopen(“h““rb“))==NULL)//打开保存症状的文件
{
printf(“文件打开出错\n“);//如果文件出错,则给出提示
exit(0);
}
for(n=0;n<=m;n++)//循环
{
while(!feof(fp))//当没到文件末尾
{
a=0;//给a赋值为0
c=fgetc(fp);//接收从文件读出的字符
while(c!=‘!‘)//当不是维生素结束的标志
{
if(feof(fp))//文件指针在文件末尾
goto l1;//跳出
s[a++]=c;//
c=fgetc(fp);//取一个字符
}
s[a]=‘\0‘;//添加字符串结束标志
c=fgetc(fp);//从文件取一个字符
while(c!=‘#‘)//当不是症状结束表示时候,继续
{
if(feof(fp))//如果文件指针到达文件末尾
goto l1;//跳出
S[i++]=c;//把从文件中取出的字符赋给数组
c=fgetc(fp);//在从文件取一个字符
}
S[i]=‘\0‘;//添加字符川结束标志
if(strcmp(C[n].ssS)==0)//把输入的症状和从文件中取出的症状进行比较
{ printf(“bb“);
if(j==0)//如果相等
{
strcpy(V[0].vs);//把输入的症状暂时存储在数组中
f1=0;//标志为0
j++;//个数加1
//printf(“ss“);
}
else
for(j1=0;j1 if(strcmp(V[j1].vs)==0){//进行比较,如果想等
f1=j1; //把该症状对应的维生素标志赋给f1
//printf(“aa“);
break;//结束
}
if(j1==j&&f1!=j-1||j1==j&&f1==0){//如果输入的症状和在症状暂存的数组C里没有,则把症状存入该数组
strcpy(V[j].vs);//字符川赋值
f1=j;//症状想对应的维生素标志
j++; //症状个数加一
//printf(“dd“);
}
if(n==1){//如果n=1,责结束
printf(“\n“);//回车
// printf(“s=%s\n“s);
}
V[f1].k++;//症状的个数加1
}
i=0;//i重新置0
j1=0;
}
l1:rewind(fp);
}
if(j==0)
printf(“信息库中没有你要查找的消息\n“);
else
{
for(j1=0;j1<=j;j1++)
if(V[j1].k!=0)//如果V[j1].k!=0,说明在文件里能找到该症状
{
printf(“你缺乏的可能是:\n“);
printf(“维生素:“);
printf(“%s\n“V[j1].v);
printf(“因为缺乏该维生素可能会引起的症状是:“);
rewind(fp);//文件指针回到文件头部
while(!feof(fp))//当文件指针不在末尾,则循环读取数据
{
a=0;
i=0;
c=fgetc(fp);//取字符
while(c!=‘!‘)//当不是维生素结束的标志
{
if(feof(fp))//如果到文件末尾
break;//退出
s[a++]=c;//把字符赋给数组
c=fgetc(fp);//再次取字符
}
s[a]=‘\0‘;//添加字符串结束标志
c=fgetc(fp);//从文件取字符
while(c!=‘#‘)//当不是症状结束标志,循环
{
if(feof(fp))//如果到文件末尾
break;//退出
S[i++]=c;//字符赋给数组
c=fgetc(fp);//从文件取字符
}
S[i]=‘\0‘;//字符川结束标志
if(strcmp(V[j1].vs)==0)//把从文件中取出的字符和输入的字符进行比较
//
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2010-06-15 17:01 人工智能专家系统C语言\Debug\h
文件 33792 2010-06-16 14:27 人工智能专家系统C语言\Debug\vc60.idb
文件 53248 2010-06-16 14:26 人工智能专家系统C语言\Debug\vc60.pdb
文件 196726 2010-06-16 14:26 人工智能专家系统C语言\Debug\专家系统.exe
文件 199516 2010-06-16 14:26 人工智能专家系统C语言\Debug\专家系统.ilk
文件 13864 2010-06-16 14:26 人工智能专家系统C语言\Debug\专家系统.obj
文件 190756 2010-06-15 10:14 人工智能专家系统C语言\Debug\专家系统.pch
文件 476160 2010-06-16 14:26 人工智能专家系统C语言\Debug\专家系统.pdb
文件 180312 2008-06-19 07:41 人工智能专家系统C语言\Debug\专家诊断.exe
文件 187496 2008-06-19 07:41 人工智能专家系统C语言\Debug\专家诊断.ilk
文件 8995 2008-06-19 07:41 人工智能专家系统C语言\Debug\专家诊断.obj
文件 190712 2008-06-19 07:41 人工智能专家系统C语言\Debug\专家诊断.pch
文件 369664 2008-06-19 07:41 人工智能专家系统C语言\Debug\专家诊断.pdb
文件 180312 2008-06-19 07:45 人工智能专家系统C语言\Debug\增加知识.exe
文件 183836 2008-06-19 07:45 人工智能专家系统C语言\Debug\增加知识.ilk
文件 4914 2008-06-19 07:45 人工智能专家系统C语言\Debug\增加知识.obj
文件 184676 2008-06-19 07:45 人工智能专家系统C语言\Debug\增加知识.pch
文件 369664 2008-06-19 07:45 人工智能专家系统C语言\Debug\增加知识.pdb
文件 180314 2008-06-19 07:44 人工智能专家系统C语言\Debug\更新知识库.exe
文件 184072 2008-06-19 07:44 人工智能专家系统C语言\Debug\更新知识库.ilk
文件 5211 2008-06-19 07:44 人工智能专家系统C语言\Debug\更新知识库.obj
文件 184676 2008-06-19 07:44 人工智能专家系统C语言\Debug\更新知识库.pch
文件 369664 2008-06-19 07:44 人工智能专家系统C语言\Debug\更新知识库.pdb
文件 27 2008-06-19 07:52 人工智能专家系统C语言\h
文件 6003 2008-06-19 07:51 人工智能专家系统C语言\专家系统.c
文件 3425 2010-06-15 10:14 人工智能专家系统C语言\专家系统.dsp
文件 524 2010-06-15 10:14 人工智能专家系统C语言\专家系统.dsw
文件 41984 2010-06-16 14:27 人工智能专家系统C语言\专家系统.ncb
文件 48640 2010-06-16 14:27 人工智能专家系统C语言\专家系统.opt
文件 764 2010-06-16 14:26 人工智能专家系统C语言\专家系统.plg
............此处省略23个文件信息
相关资源
-
ba
se64编码与解码源程序 C语言实现 - C语言 机房收费管理系统
- 成熟 免费adpcm音频C语言 编解码
- 用C语言写的最坏适应算法
- 51单片机产生PWM的程序和怎样控制直流
- C语言程序设计学生成绩管理系统
- c语言程序设计关于教师工作量管理系
- AES详细源码C语言实现带注释
- 城市最短路径查询C语言
- c语言课程设计通讯录管理系统设计报
- 无线遥控锁解码
- 《嵌入式Linux C语言应用程序设计》读
- 数字图像处理 邻域平均法 C语言
- 谭浩强 C语言程序设计第三版视频教程
- 西工大 2011年 C语言 POJ实验习题
- C语言期末考试全部知识点复习资料
- c语言写的图像插值算法
- 选区划分C语言编写
- 条码CODE128C语言算法
- 基于神经网络方法的专家系统源代码
- C语言 华容道源代码
- 基于多线程的Linux聊天室系统
- 算法与数据结构_C语言版_答案(1-8章
- 全国计算机二级c语言历年真题完整版
- AES算法的C语言版本
- 模拟 数据库 C语言 基本功能
- 基于OPENGL的C语言大作业
- 泛型链表——C语言实现
- C语言实现三种闭包算法传递,自反,
- myshell:操作系统编程-自己用C语言写
评论
共有 条评论