今天给大家分享一个dos程序的源代码

这个程序是本人在学习中的经验分享

如果有问题或者建议,欢迎大家一起交流

源代码:

 /*本程序为一个进制转换器
本程序不作为商业用途,完全为技术交流
喜欢C语言的同学关注我的博客,有值得推荐的我一定会推荐给大家*/
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
#include<windows.h> //对函数的声明
void fact1();
int func1(int n);
void func2(int n, int num);
void func3(int *a, int i, int n);
void func4(int m);
void func5(); int menu; //定义菜单做为一个全局变量
int count = ;
int main(void)
{
//给菜单设置一个循环
do
{
printf("第%d次\n", count++);
printf("**********************************************\n");
//调用倒计时函数
func5();
//定义菜单的功能
puts("!!欢迎使用进制转换器!!\n");
puts("1.十进制->二进制");
puts("2.十进制->八进制");
puts("3.十进制->十六进制");
puts("0.退出\n");
//输入菜单
printf("请输入你的选项:"); scanf_s("%d", &menu);
//执行菜单
if (menu == ) break;
else if (menu >= && menu <= )
fact1();
else
printf("抱歉,你输入的选项有误;请重新输入!!!\n");
printf("\n**********************************************\n");
printf("\n\n");
} while (menu != ); }
//定义菜单为1时的函数
void fact1()
{
int num;
int n;
printf("请输入一个数:"); scanf_s("%d", &num);
n = func1(menu);
func2(n, num); }
//定义需要转化的进制数的函数
int func1(int n)
{
//如果为1,则返回2进行二进制
if (menu == )
return ;
//如果为2,则返回8进行八进制
else if (menu == )
return ;
else
return ;
}
//定义处理进制的函数
void func2(int n, int num)
{
int i = ;
int a[];
do
{
*(a + i) = num % n;
num /= n;
i++;
} while (num != );
func3(a, i, n);
}
//定义输出进制的函数
void func3(int *a, int i, int n)
{
int j;
printf("转换为%d进制为:", n);
for (j = i - ;j >= ;j--)
{
if (n == && (*(a + j)) >= && (*(a + j)) <= )
func4((*(a + j)));
else
printf("%d", *(a + j));
}
}
//定义转换16进制的时候函数
void func4(int m)
{
switch (m)
{
case : printf("A"); break;
case : printf("B"); break;
case : printf("C"); break;
case : printf("D"); break;
case : printf("E"); break;
case : printf("F"); break;
}
}
//自定义倒计时函数
void func5()
{
int i;
//从5开始倒计时
for (i = ;i >= ;i--)
{
printf("%d\b", i);
Sleep(); //设置延时1秒
}
printf("\b");
}

本代码仅大家学供习交流,不做其它用途

C语言dos程序源代码分享(进制转换器)的更多相关文章

  1. DOS常用命令及进制转换

    DOS是一种用户单任务磁盘操作系统.在DOS中,我们可以通过DOS命令来管理设备和文件,如打印文件.删除文件,复制文件,创建新的文件夹和文档并编写内容等功能同时也是JAVA编程基础的一个入门.进入DO ...

  2. C语言实现整数和16进制互相转换

    编译环境:Dev-C++ 5.2.0.3 使用sprintf()函数实现转换,代码如下: #include <stdio.h> #include <stdlib.h> int ...

  3. C语言实现字符串中(10进制和16进制)转成十进制数

    如何将字符串中的10进制数和16进制数提取出来,看以下代码: #include <stdio.h> typedef char TUINT8 ; typedef int TUINT32; T ...

  4. 进制转换器V1.0_Beta

    一.截图部分 二.代码部分: char2num() 作用:将字符转化成对应的数字        e.g.   '9'->9    'A'->10 int char2num(char ch) ...

  5. 第二次博客作业: 函数+进制转换器v1.0beta

    一:运行截图  二:介绍函数 1, int panduan1(int n,char a[],int count,int sign)//判断用户是否输入了除数字和a-f范围外的字符 { int i; ; ...

  6. 进制转换器(十进制转n进制)

    #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 /*链栈类型定义*/ typedef struct node ...

  7. java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制

    package com.rgy.Test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; ...

  8. 使用qt写的进制转换器

    没有使用什么数据结构,直接使用qt自带的进制转换函数, 实时出结果,代码在后面的链接中,由于初学qt,好多不会,代码构造就有点乱 截图如下

  9. C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享

    游戏介绍 你玩过2048吗?2048是一款流行于各大网页和手机的数字游戏,手机安卓版推出的是<挑战2048>,之后的版本中还加入了双人对战的游戏模式,更加受到玩家的热捧. 2048的游戏规 ...

随机推荐

  1. zabbix监控windows系统CPU使用率

    参考网站:https://blog.csdn.net/reblue520/article/details/76287113 Zabbix 自带的模块没有 CPU 使用率(百分比)这个监控项,我们可以通 ...

  2. 线程安全计算 AtomicLong

    一般如果我们自己写一个计数器方法,需要考虑线程安全问题,尤其高并发访问的时候. AtomicLong 已处理并发问题,直接使用.java.util.concurrent.atomic包提供多种线程安全 ...

  3. body 标签

    -图标 &nbsp(空格) -&gt(>) &lt(<) -p标签, 段落 <br \>  做换行 所有的标签分为: 块级标签: div(白板), H系 ...

  4. spring事务没回滚

    最近遇见一个问题,用spring管理实务,在service层处理数据,保存数据时出现异常,但没有回滚,检查了一下,发现是因为我用try catch将异常进行捕获了,没有抛出导致的:默认spring事务 ...

  5. android中配置文件property的用途以及使用<转>

    1.首先在源代码根目录(src下)下创建一个名为netconfig.properties的文件(也可以在其他目录下). 2.打开netconfig.properties文件,在该文件中添加下列代码. ...

  6. kafka 修改partition,删除topic,查询offset

    修改分区个数: ./kafka-topics./kafka/<id_of_kafka> --alter --partitions 10 --topic test_topic 上面命令将te ...

  7. DateJsonValueProcessor日期处理

    package com.zjx.controller; import java.text.SimpleDateFormat; import net.sf.json.JsonConfig; import ...

  8. intelij创建MapReduce工程

    1.创建一个maven工程 2.POM文件 <?xml version="1.0" encoding="UTF-8"?><project xm ...

  9. Ansible Playbook Roles and Include Statements

    介绍 虽然可以在一个非常大的文件中编写一个playbook(您可能会以这种方式开始学习playbook),但最终您将需要重新使用文件并开始组织事情. 在基本级别,饱含任务的文件允许您将配置策略分解成较 ...

  10. 微擎系统 微信支付 get_brand_wcpay_request:fail

    支付授权目录问题,有一个是域名加app的