资源简介

人工智能专家系统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个文件信息

评论

共有 条评论