C语言dos程序源代码分享(进制转换器)
今天给大家分享一个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程序源代码分享(进制转换器)的更多相关文章
- DOS常用命令及进制转换
DOS是一种用户单任务磁盘操作系统.在DOS中,我们可以通过DOS命令来管理设备和文件,如打印文件.删除文件,复制文件,创建新的文件夹和文档并编写内容等功能同时也是JAVA编程基础的一个入门.进入DO ...
- C语言实现整数和16进制互相转换
编译环境:Dev-C++ 5.2.0.3 使用sprintf()函数实现转换,代码如下: #include <stdio.h> #include <stdlib.h> int ...
- C语言实现字符串中(10进制和16进制)转成十进制数
如何将字符串中的10进制数和16进制数提取出来,看以下代码: #include <stdio.h> typedef char TUINT8 ; typedef int TUINT32; T ...
- 进制转换器V1.0_Beta
一.截图部分 二.代码部分: char2num() 作用:将字符转化成对应的数字 e.g. '9'->9 'A'->10 int char2num(char ch) ...
- 第二次博客作业: 函数+进制转换器v1.0beta
一:运行截图 二:介绍函数 1, int panduan1(int n,char a[],int count,int sign)//判断用户是否输入了除数字和a-f范围外的字符 { int i; ; ...
- 进制转换器(十进制转n进制)
#include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 /*链栈类型定义*/ typedef struct node ...
- java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制
package com.rgy.Test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; ...
- 使用qt写的进制转换器
没有使用什么数据结构,直接使用qt自带的进制转换函数, 实时出结果,代码在后面的链接中,由于初学qt,好多不会,代码构造就有点乱 截图如下
- C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享
游戏介绍 你玩过2048吗?2048是一款流行于各大网页和手机的数字游戏,手机安卓版推出的是<挑战2048>,之后的版本中还加入了双人对战的游戏模式,更加受到玩家的热捧. 2048的游戏规 ...
随机推荐
- SparkSession
在2.0版本之前,使用Spark必须先创建SparkConf和SparkContext catalog:目录 Spark2.0中引入了SparkSession的概念,SparkConf.SparkCo ...
- 9. PD逆向工程--由数据库转为模型(ER图)
步骤: 1. 在控制面板-->管理工具(如果没找到管理工具,查看方式改为大图标)-->数据源(ODBC)-->用户DSN -->用户数据源下添加一个数据源(这里根据情况添加数据 ...
- mysql 存储过程实例
--存储过程名和参数,参数中in表示传入参数,out标示传出参数,inout表示传入传出参数 create procedure p_procedurecode(in sumdate varchar(1 ...
- class(类的使用说明)
class 的三大特性 封装:内部调用对于外部用户是透明的 继承: 在分类里的属性,方法被自动继承 多态:调用这个功能,可以使多个类同时执行 r1 = Role(r1, 'Alex', 'Police ...
- 认识serviceLoader
最近在研究系统设计方面的东西,发现有很多通用的解决方案,包括spring配置扩展以及serviceLoader的应用,这里简单记录下serviceLoader的简单应用,网上例子很多,大同小异,本人觉 ...
- Hystrix-超时设置
由于客户端请求服务端方法时,服务端方法响应超过1秒将会触发降级,所以我们可以配置Hystrix默认的超时配置 如果我们没有配置默认的超时时间,Hystrix将取default_executionTim ...
- 多字段非连续模糊查询java实现
工作需要,写了一个实现数据库多字段模糊查询的方法,背景是输入用户的信息,如用户的userid,姓名,拼音等,可以查出相关的用户 具体如下 1. 操作一张表,可以设置表前缀 2. 可以实现中文的不连续查 ...
- Supervisor 进程管理工具
简介: Supervisor 进程管理工具 一.安装 shell > yum -y install python-pip shell > pip install supervisor # ...
- 将*.sql数据库脚本导入到sqlserver中(sql文件导入sqlserver)
在SqlServer中这个是用生成sql脚本生成的 要是在导入数据库用数据导入/导出向导导不进去 其实要用查询分析器来打开sql文件 然后执行就可以了
- python文件的只读,只写操作
只读:r rb(bytes类型数据) 只写:w wb(bytes类型数据) 在文件最后追加: f = open('log',mode='a',encoding='utf-8') f.write('这里 ...