多种数制转换,VC6.0调试通过:#includeiostream.hvoidtenTom(intn,intm)//十进制转m进制{staticcharDTOC[]=\"0123456789ABCDEF\";if(n==0)cout\"转成的\"m\"进制数是:\"endl;else{tenTom(n/m,m);coutDTOC[n%m];}}//字符串转整数intstrToInt(chards[],inttype)//sn字符串type进制{if(type1||type16)return-1;intn=0;for(inti=0;ds!=0;i){n=n*type((\'0\'=ds=ds)?(ds-\'0\'):(ds-\'A\'10));}returnn;}voidmain(){cout\"欢迎使用进制转换程序!\"endl;while(true){inttype,n=0;staticintTYPE[]={0,10,2,8,16};chards[20];cout\"\\n1.十进制\\n2.二进制\\n3.八进制\\n4.十六进制\\n0.退出\\n请选择输入数据的进制:\"endl;cintype;cin.clear();if(type==0)return;type=TYPE[type];cout\"请输入\"type\"进制数据\"endl;cinds;n=strToInt(ds,type);tenTom(n,10);coutendl;tenTom(n,2);coutendl;tenTom(n,8);coutendl;tenTom(n,16);coutendl;}}
|