中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

怎樣結合getchar實現菜單選擇

小樊
85
2024-10-10 15:24:59
欄目: 編程語言

要使用getchar()函數實現菜單選擇,你可以按照以下步驟進行操作:

  1. 首先,定義一個包含菜單選項的字符串數組。
  2. 然后,編寫一個循環,用于顯示菜單并接收用戶輸入。
  3. 在循環內部,使用getchar()函數讀取用戶輸入的字符。
  4. 根據用戶輸入的字符,判斷用戶選擇的菜單項,并執行相應的操作。
  5. 如果用戶選擇退出菜單,跳出循環并結束程序。

下面是一個簡單的示例代碼:

#include <stdio.h>
#include <string.h>

int main() {
    char menu[] = {"1. 選項1", "2. 選項2", "3. 選項3", "4. 退出"};
    int choice;

    while (1) {
        printf("%s\n", menu);
        printf("請輸入選項(1-4):");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                printf("你選擇了選項1\n");
                break;
            case 2:
                printf("你選擇了選項2\n");
                break;
            case 3:
                printf("你選擇了選項3\n");
                break;
            case 4:
                printf("退出程序\n");
                return 0;
            default:
                printf("無效輸入,請輸入1-4之間的數字\n");
        }
    }

    return 0;
}

在這個示例中,我們使用scanf()函數讀取用戶輸入的數字,然后使用switch語句根據用戶輸入的數字執行相應的操作。注意,這里我們使用scanf()而不是getchar()來讀取用戶輸入的數字,因為getchar()只能讀取單個字符,而scanf()可以讀取整行輸入并將其轉換為整數。如果你確實需要使用getchar()來實現這個功能,你可以使用以下代碼:

#include <stdio.h>
#include <string.h>

int main() {
    char menu[] = {"1. 選項1", "2. 選項2", "3. 選項3", "4. 退出"};
    char input;

    while (1) {
        printf("%s\n", menu);
        printf("請輸入選項(1-4):");

        // 使用getchar()讀取用戶輸入的字符,直到用戶輸入換行符或空格
        while ((input = getchar()) != '\n' && input != ' ') {
            // 可以在這里處理用戶的輸入,例如檢查輸入是否有效
        }

        // 根據用戶輸入的字符(換行符)判斷用戶選擇的菜單項
        if (input == '\n') {
            switch (menu[0] - '0') {
                case 1:
                    printf("你選擇了選項1\n");
                    break;
                case 2:
                    printf("你選擇了選項2\n");
                    break;
                case 3:
                    printf("你選擇了選項3\n");
                    break;
                case 4:
                    printf("退出程序\n");
                    return 0;
                default:
                    printf("無效輸入,請輸入1-4之間的數字\n");
            }
        }
    }

    return 0;
}

在這個示例中,我們使用getchar()函數逐個讀取用戶輸入的字符,直到用戶輸入換行符或空格。然后,我們根據用戶輸入的第一個字符(換行符)判斷用戶選擇的菜單項。注意,這里我們使用menu[0] - '0'將菜單項的字符轉換為整數,以便在switch語句中使用。

0
曲周县| 藁城市| 同德县| 郑州市| 桂阳县| 平陆县| 留坝县| 清丰县| 峨山| 东至县| 桃园市| 电白县| 正定县| 方正县| 会同县| 华宁县| 廊坊市| 调兵山市| 鸡东县| 十堰市| 汤阴县| 巴中市| 萨嘎县| 巴楚县| 环江| 灵山县| 兴仁县| 宁明县| 安阳县| 通辽市| 博白县| 调兵山市| 金秀| 兴义市| 黎城县| 四川省| 永丰县| 天峻县| 灯塔市| 鄱阳县| 丰顺县|