C语言-以菜单选项形式,执行进制转换和ASCII码转换的程序代码

本代码是本人亲手编写,主要用来练习C语言基础知识,在此拿来分享。

演示:

/********************************************************
* 程序作用:
*       用菜单的形式选择下列要执行的选项   
*           1. 把输入的整数转换成16进值和8进值
*           2. 把输入的字符转换成ASCII码
* 流程:
*       一级菜单:
*              执行进制转换输入(0)
*              执行ASCII转换输入(1)
*              退出程序输入(2)
*       二级菜单:
*              返回一级菜单输入(1)
*              继续运行输入(0)
* Author: 疯影
* Blog: https://www.z10.xin
* Time: 2019-3-31
********************************************************/
#include <stdio.h>

/********************************************************/
// 函数原型
/********************************************************/
void decToOther(void);
void charToASCII(void);


int main(void){

    /********************************************************/
    // 死循环
    /********************************************************/
    while(1){
        int option = 0;     // 一级菜单选项变量
        printf("/*******************************************************/\n");
        printf("1. dec To hex (0)\t");
        printf("2. char to ASCII (1)\t");
        printf("3. exit (2)\n>>>");
        scanf("%d", &option);
        
        if(option==1){
            while(1){
                charToASCII();
                printf("/*******************************************************/\n");
                printf("1. Back up (1)\t");
                printf("2. Continue (0)\n>>>");
                //printf("run input 0\n");
                int opt;    // 二级菜单选项变量
                scanf("%d", &opt);
                if(opt==1){
                    break;
                }else if(opt = 0){
                    continue;
                }
            }
            

        }else if(option==0){
            while(1){
                decToOther();
                printf("/*******************************************************/\n");
                printf("1. Back up (1)\t");
                printf("2. Continue (0)\n>>>");
                int opt;    // 二级菜单选项变量
                scanf("%d", &opt);
                if(opt==1){
                    break;
                }else if(opt = 0){
                    continue;
                }
            }
            
        }else if(option==2){
            break;
        }
        else{
            printf("输入错误!请重新选择\n");
        }

    }

    return 0;
}

/********************************************************/
// 进制转换函数
/********************************************************/
void decToOther(void){
    int d = 0;
    printf("/*******************************************************/\n");
    printf("Please enter an integer: ");
    scanf("%d", &d);
    printf("OUTPUT:\n");
    printf("\tdec = %#d\n", d);
    printf("\thex = %#X\n", d);
    printf("\toctal = %#o\n", d);
}


/********************************************************/
// 字符转ASCII码函数
/********************************************************/
void charToASCII(void){
    char c = 'a';
    printf("/*******************************************************/\n");
    printf("Please enter an char: ");
    scanf("%s", &c);
    printf("OUTPUT:\n\tASCII(%c) = %d\n", c, c);
}

除非注明,否则均为中心线原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.z10.xin/670.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注