View Code of Problem 98

#include<stdio.h>
#include<string.h>
struct thing
{
	char name[100];
	char status[10];
};

int main()
{
	char xmp[10];
	gets(xmp);
	
	int n=-1;
	char a[130];
	struct thing thing[1000];
	 
	while(gets(a))
	{
		if(strcmp(a,"</xmp>")==0) //结束标识 
		{
			break;
		}
//		printf("%c\n",a[1]);
		if(a[1]=='h')  //产品+1 
		{
			n++;
			int qian=0;
			int hou=0;
			int j=0;
			int flag=0;
		
			for(int i=1;i<strlen(a);i++)
			{
				if(a[i]=='>'&&flag==0)
				{
					qian=i+1;
					flag=1;
				}
				if(a[i]=='<')
				{
					hou=i;
				}
			}	
		
//			printf("%d %d\n",qian,hou);
				
			for(int i=qian;i<hou;i++)
				{
					thing[n].name[j++]=a[i];
				}
	
		}
		
		int k=0;
		if(a[1]=='l')
		{
			for(int i=2;i<strlen(a);i++)
			{
				if(a[i]=='I'&&a[i+1]=='n'&&a[i+2]==' '&&a[i+3]=='S'&&a[i+4]=='t'&&a[i+5]=='o'&&a[i+6]=='c'&&a[i+7]=='k')
				{
//					printf("1\n");
					for(int j=i;j<i+8;j++)
					{
//						printf("%d\n",k);
						thing[n].status[k++]=a[j];
						
					}
				}
				else if((a[i]=='S'&&a[i+1]=='h'&&a[i+2]=='i'&&a[i+3]=='p'&&a[i+4]=='s'))
				{
					for(int j=i;j<i+5;j++)
					{
						thing[n].status[k++]=a[j];
//							printf("%d\n",k);
					}
				}
			}
		}
	}	
//	printf("%s%s\n",thing[0].name,thing[0].status);
//		printf("%s%s\n",thing[1].name,thing[1].status);
		for(int i=0;i<n+1;i++)
		{
			if(strcmp(thing[i].status,"In Stock")==0)
			{
				printf("%s\n",thing[i].name);
			}
		}
		
	
}

Double click to view unformatted code.


Back to problem 98