GWC CS G175 C + + Asignación 9

Requisito

Crear un programa que acepte enteros positivos en decimal y la pantalla en ya sea binario, octal o hexadecimal. Utilice una sentencia switch para seleccionar la opción (binario, octal o hexadecimal) recogido en el menú y hacer uso del módulo (%) y dividir los operadores. Una muestra de ejecución del programa se muestra:
Introduzca un número en decimal:
254
Convertir el número de decimales en:
0 –
Binary 1 – octal
2 –
Hexadecimal 2

El número 254 (decimal) es FE en hexadecimal
Guarde la base para convertir a la elegida por el usuario como un archivo. entero y usar un while () bucle que realiza la división entera y las operaciones de módulo en el número introducido por el usuario. Como resultado se revertiría si se imprimen en el orden de la computación, su programa tendrá la capacidad de invertir el orden de los dígitos como parte del proceso de conversión de número. Para ello, cree una clase pila basada en el concepto de «último en entrar, primero en salir» que le permite empujar (escritura) y pop (Leer) enteros (código para una clase de pila (MyStack) se ha colgado en la web para su uso). El uso de un objeto de la pila, se le empuje los resultados de su cálculo (circular usando% y /) como lo reciba (un dígito a la vez, como un entero). Puede hacer referencia a nuestro documento «Número de Sistemas» (páginas 4 y 5), que se publican en nuestro sitio web. Una vez hecho esto, se le abrirá los valores de la pila para conseguir que en el orden correcto y usar otro bucle para «cout» de ellos. En este circuito de salida (mientras que «saltan» las cifras, que tendrá que manejar los valores (IntBuffer) que pueden ser mayor que 9 cuando se trata de hexadecimal Esto se puede hacer usando un código similar a:.

if (IntBuffer> 9)
cout < 9
como char más
cout <

Directriz

# include
using namespace std;

/ / Declarar una clase para convertir y el número de pantalla
/ / Función que incitan al usuario introducir una impresión />
set entero de entrada a aNumber
mientras aNumber es menor o igual a 0
pedirle al usuario que ingrese nuevamente
endwhile
/ / Función que calcula, almacena números a una pila temporal e imprime desde la pila
vacío DisplayNumber :: GetInput () {

print «Introduce un positivo entero: «
establecer entero de entrada a aNumber
mientras aNumber es menor o igual a 0
pedirle al usuario que ingrese de nuevo

endwhile}
/ / / / Calcula, tiendas e imprime
void Número :: copia impresa (int baseNumber)

{/ / Declarar e inicializar una pila
en los valores de empuje pila
mientras aNumber es mayor que 0
empujar aNumber% baseNumber apilar
dividir aNumber por baseNumber />
valores / / impresión de pila con el fin LIFO
mientras aStack.getCount () es mayor que 0 números
pop de pila y consulte con hexadecimal condiciones
imprimir números
endwhile
int /> () {
/ / Crear un objeto de tipo Number
/ / Solicitar al usuario que introduzca un entero positivo
cout <<"Convertir el número de decimal a, por favor, elija una opción: "< cout <<" 1 - Binary "< cout <<" 2 - octal " < cout <<"3 - Hexadecimal" < cout <<"0 - Exit" < / / Solicitar al usuario que ingrese un caso de selección
/ / Use el interruptor para comprobar seleccionar y llamar a la funcion de acuerdo para imprimir números basados ​​en baseNumber
}

Code

https://drive.google.com/folderview?id=0B7j8G8dcaRWxcEVxM19tSlRDVE0&usp=sharing

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *