#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int member( char * ,struct cell * ) ; /*条件2*/
struct cell{ /*条件1*/
char animal[ 20 ] ;
struct cell * next;
} ;
int main( ) {
struct cell * listhead;
char animal[ 20 ] ;
listhead = NULL ;
struct cell ani1;
listhead.next = & ani1;
ani1.animal [ 20 ] = "rat" ;
struct cell ani2;
ani1.next = & ani2;
ani2.animal [ 20 ] = "cat" ;
struct cell ani3;
ani2.next = & ani3;
ani3.animal [ 20 ] = "dog" ;
struct cell ani4;
ani3.next = & ani4;
ani4.animal [ 20 ] = "elephant" ;
struct cell ani5;
ani4.next = & ani5;
ani5.animal [ 20 ] = "horse" ;
struct cell ani6;
ani5.next = & ani6;
ani6.animal [ 20 ] = "bat" ;
struct cell ani7;
ani6.next = & ani7;
ani7.animal [ 20 ] = "hamster" ;
ani7.next = NULL ;
while ( strcmp ( animal,"00" ) ! = 0 ) {
char animal;
printf ( "動物名を英語で入力してください(00で終了)-->" ) ;
scanf ( "%c" ,& animal) {
if ( member( * animal,* next) = 1 ) {
printf ( "%cは存在します。\n " ,animal) ;
} else if ( member( * animal,* next) = 0 ) {
printf ( "%cは存在しません。\n " ,animal) ;
}
if ( strcmp ( animal,"00" ) = 0 ) {
printf ( "終了します。\n " ) ;
return 0 ;
}
}
}
int member( char * animal,struct cell * next) {
if ( * animal = & cell1 ) {
return 1 ;
}
else if ( * animal = & cell2) {
return 1 ;
} else if ( * animal = & cell3) {
return 1 ;
} else if ( * animal = & cell4) {
return 1 ;
} else if ( * animal = & cell5) {
return 1 ;
} else if ( * animal = & cell6) {
return 1 ;
} else if ( * animal = & cell7) {
return 1 ;
} else {
return 0 ;
}
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgkKCWludCBtZW1iZXIoY2hhciAqLHN0cnVjdCBjZWxsICopOy8q5p2h5Lu2MiovCgkKCXN0cnVjdCBjZWxsey8q5p2h5Lu2MSovCgkgIAljaGFyIGFuaW1hbFsyMF07CgkgIAlzdHJ1Y3QgY2VsbCAqbmV4dDsKCX07CgkKCWludCBtYWluKCl7CgkJc3RydWN0IGNlbGwgKmxpc3RoZWFkOwoJICAJY2hhciBhbmltYWxbMjBdOwoJICAJbGlzdGhlYWQgPSBOVUxMOwoJICAJCgkgIAlzdHJ1Y3QgY2VsbCBhbmkxOwoJICAJbGlzdGhlYWQubmV4dCA9ICZhbmkxOwoJICAJYW5pMS5hbmltYWxbMjBdICAgICA9ICJyYXQiOwoJICAKCSAgCXN0cnVjdCBjZWxsIGFuaTI7CgkgIAlhbmkxLm5leHQgPSAmYW5pMjsKCSAgCWFuaTIuYW5pbWFsWzIwXSAgICAgPSAiY2F0IjsKCQoJICAJc3RydWN0IGNlbGwgYW5pMzsKCSAgCWFuaTIubmV4dCA9ICZhbmkzOwoJICAJYW5pMy5hbmltYWxbMjBdICAgICA9ICJkb2ciOwoJICAKCSAgCXN0cnVjdCBjZWxsIGFuaTQ7CgkgIAlhbmkzLm5leHQgPSAmYW5pNDsKCSAgCWFuaTQuYW5pbWFsWzIwXSAgICAgPSAiZWxlcGhhbnQiOwoJCgkgIAlzdHJ1Y3QgY2VsbCBhbmk1OwoJICAJYW5pNC5uZXh0ID0gJmFuaTU7CgkgIAlhbmk1LmFuaW1hbFsyMF0gICAgID0gImhvcnNlIjsKCQoJICAJc3RydWN0IGNlbGwgYW5pNjsKCSAgCWFuaTUubmV4dCA9ICZhbmk2OwoJICAJYW5pNi5hbmltYWxbMjBdID0gImJhdCI7CgkKCSAgCXN0cnVjdCBjZWxsIGFuaTc7CgkgIAlhbmk2Lm5leHQgPSAmYW5pNzsKCSAgCWFuaTcuYW5pbWFsWzIwXSA9ICJoYW1zdGVyIjsKCSAgCWFuaTcubmV4dCA9IE5VTEw7CgkgIAoJICAJd2hpbGUoc3RyY21wKGFuaW1hbCwiMDAiKSAhPSAwKXsKCSAgICAJY2hhciBhbmltYWw7CgkgICAgCXByaW50Zigi5YuV54mp5ZCN44KS6Iux6Kqe44Gn5YWl5Yqb44GX44Gm44GP44Gg44GV44GEKDAw44Gn57WC5LqGKS0tPiIpOwoJICAgIAlzY2FuZigiJWMiLCZhbmltYWwpewoJICAgIAlpZihtZW1iZXIoKmFuaW1hbCwqbmV4dCkgPSAxKXsKCSAgICAgIAlwcmludGYoIiVj44Gv5a2Y5Zyo44GX44G+44GZ44CCXG4iLGFuaW1hbCk7CgkgICAgCX1lbHNlIGlmKG1lbWJlcigqYW5pbWFsLCpuZXh0KSA9IDApewoJICAgICAJIHByaW50ZigiJWPjga/lrZjlnKjjgZfjgb7jgZvjgpPjgIJcbiIsYW5pbWFsKTsKCSAgICB9CgkgICAgaWYoc3RyY21wKGFuaW1hbCwiMDAiKSA9IDApewoJICAgICAgcHJpbnRmKCLntYLkuobjgZfjgb7jgZnjgIJcbiIpOwoJICAgIHJldHVybiAwOwoJICAgIH0KCSAgfQoJfQoJCgkKCWludCBtZW1iZXIoY2hhciAqYW5pbWFsLHN0cnVjdCBjZWxsICpuZXh0KXsKCSAgaWYoKmFuaW1hbCA9ICZjZWxsMSAgKXsKCSAgICByZXR1cm4gMTsKCSAgfQoJICBlbHNlIGlmKCphbmltYWwgPSAmY2VsbDIpewoJICAgIHJldHVybiAxOwoJICB9ZWxzZSBpZigqYW5pbWFsID0gJmNlbGwzKXsKCSAgICByZXR1cm4gMTsKCSAgfWVsc2UgaWYoKmFuaW1hbCA9ICZjZWxsNCl7CgkgICAgcmV0dXJuIDE7CgkgIH1lbHNlIGlmKCphbmltYWwgPSAmY2VsbDUpewoJICAgIHJldHVybiAxOwoJICB9ZWxzZSBpZigqYW5pbWFsID0gJmNlbGw2KXsKCSAgICByZXR1cm4gMTsKCSAgfWVsc2UgaWYoKmFuaW1hbCA9ICZjZWxsNyl7CgkgICAgcmV0dXJuIDE7CgkgIH1lbHNlewoJICAgIHJldHVybiAwOwoJICB9Cgl9Cg==
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:17: error: request for member ‘next’ in ‘listhead’, which is of non-class type ‘cell*’
prog.cpp:18: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:22: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:26: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:30: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:34: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:38: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:42: error: invalid conversion from ‘const char*’ to ‘char’
prog.cpp:48: error: expected `;' before ‘{’ token
prog.cpp:81: error: expected `}' at end of input
prog.cpp:81: error: expected `}' at end of input
prog.cpp:81: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
stdout