今天给大家分享一个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. jdk1,8 HashMap

    Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么? 上面网站总结很详细  源码除了具体操作其余全罗列.这里就不总结了

  2. 17.scrapy框架简例使用

    目标:创建scrapy项目 创建一个spider来抓取站点和处理数据 通过命令行将抓取内容导出 1.创建项目 scrapy startproject tutorial 2.创建spider cd tu ...

  3. 0_Simple__simplePitchLinearTexture

    对比设备线性二维数组和 CUDA 二维数组在纹理引用中的效率 ▶ 源代码.分别绑定相同大小的设备线性二维数组和 CUDA 二维数组为纹理引用,做简单的平移操作,重复若干次计算带宽和访问速度. #inc ...

  4. 1.java生成随机不重复10位字符串

    package org.changneng.util; import java.util.Random; public class A { public static void main(String ...

  5. CSS3d 基础

    -webkit-transform-style:-webkit-preserve-3d;//设置3D转换 translateX:px; 平移 translateY:px; translateZ:px; ...

  6. mysql 用户及赋予权限

    查询用户: use mysql; select host,user from mysql.user; 创建用户: create user 'mhc'@'%' identified by 'mhc.12 ...

  7. bedtools简介及应用

    1)背景处理基因组数据中,比较基因组不同区域,例如寻找overlap等,是一种基本的且常见的问题.虽然UCSC 中‘Table Browser’或者Galaxy可以用来处理,但是当这些工具面对大的数据 ...

  8. 登录时显示403 Access Denied

    用户名及密码设置如下: 在tomcat安装目录\conf\tomcat-users.xml中的<tomcat-users>标签内设置: <role rolename="ma ...

  9. Python合并列表,append()、extend()、+、+=

    在实际应用中涉及到了列表合并的问题. 在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别   1.append()  向列表尾部追加一 ...

  10. 微信小程序及开发工具介绍

    http://mp.weixin.qq.com/wiki  这里下载开发者工具