#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.