fork download
  1. /* 課題052 */
  2. /* 文字列の組込み関数を使ったプログラム */
  3. /* 2025.06.29 sakurauchiyuto */
  4. #include <stdio.h>
  5. #include <string.h>
  6. #define MAXSTR 20
  7.  
  8. int main(void) {
  9. char favorite_food[MAXSTR]; /* 現在の好きな食べ物*/
  10. char command[MAXSTR]; /* 入力コマンド*/
  11. char input_food[MAXSTR]; /* check用の食べ物*/
  12. char old_food[MAXSTR]; /* changeの旧食べ物*/
  13. char new_food[MAXSTR]; /* changeの新しい食べ物*/
  14.  
  15. printf("好きな食べ物を1つ入力してください。\n");
  16.  
  17. /*好きな食べ物を決定*/
  18. scanf("%s", favorite_food);
  19. printf("好きな食べ物は %s ですね。了解しました。\n", favorite_food);
  20.  
  21. /*正しい好きな食べ物が入力されるまで再入力*/
  22. while (1) {
  23. scanf("%s", command);
  24. if (strcmp(command, "end") == 0) {
  25. printf("お疲れ様でした。\n");
  26. break;
  27. }
  28. else if (strcmp(command, "check") == 0) {
  29. scanf("%s", input_food);
  30. if (strcmp(input_food, favorite_food) == 0) {
  31. printf("%s は好きな食べ物です。\n", input_food);
  32. } else {
  33. printf("%s は好きな食べ物ではありません。\n", input_food);
  34. }
  35. }
  36. /*好きな食べ物を変更*/
  37. else if (strcmp(command, "change") == 0) {
  38. scanf("%s %s", old_food, new_food);
  39. if (strcmp(old_food, favorite_food) == 0) {
  40. strcpy(favorite_food, new_food);
  41. printf("%s を %s に変更しました。\n", old_food, new_food);
  42. } else {
  43. printf("%s は好きな食べ物ではありません。\n", old_food);
  44. }
  45. } else {
  46. printf("意味不明です。\n");
  47. }
  48. }
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 5316KB
stdin
ra-men
check ra-men
check ringo
check sushi
change ra-men gyu-don
check ra-men
check gyu-don
melon
end
stdout
好きな食べ物を1つ入力してください。
好きな食べ物は ra-men ですね。了解しました。
ra-men は好きな食べ物です。
ringo は好きな食べ物ではありません。
sushi は好きな食べ物ではありません。
ra-men を gyu-don に変更しました。
ra-men は好きな食べ物ではありません。
gyu-don は好きな食べ物です。
意味不明です。
お疲れ様でした。