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的游戏规 ...
随机推荐
- angularJs按需加载代码(未验证)
一网友写的AngularJs按需加载代码,但未验证,放着备用. application.config( function($routeProvider) { ...
- Win10交换Ctrl和大写键
打开注册表 [HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map" ...
- HTML5 位运算符
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- leetcode138
/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label ...
- jquery formValidator 表单验证插件, ajax无法传值到后台问题的解决
今天使用jquery formValidator-4.0.1 这个插件做表单验证, 前台验证已写好, 准备写ajax验证, 结果无法把值传到后台 .ajaxValidator({ url : & ...
- HTTP状态码 解析
原文地址:HTTP状态码:400500错误代码(个人总结)作者:lining2008net 一些常见的状态码为: 200-服务器成功返回网页 404-请求的网页不存在 503-服务不可用 详细分解: ...
- js中定时器之一
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- gradle 错误
A problem occurred evaluating root project 'clouddriver'.> Failed to apply plugin [class 'com.net ...
- mysql备份的三种方式
一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二.备份需要考虑的问题 可以容忍丢失多长时间的数据:恢复数据要在多长时间内 ...
- linux一些基本常识(四)
tail -f时时监控 一开启内存最小位u原则,尽量优化代码 grep -v "" /etc/passwd 这样行不行 怎么清除last nice调整进程运行级别 pkill是匹配 ...