School project, just wondering if there is anymore documentation that I woould need?
//********************************************************/
// Tim Petrich, T.Scot Alexander
// Program: Project 1 Mystery.cpp
// Date: 17 January 2007
// Purpose: Binary Convert
// Description: Converts text into binary using the division method
// through ASCII code.
// The program as compiled and executes using
// Microsoft Visual Studio C++. Net 2003 Version 7.1
#include "stdafx.h"
#include <iostream> // access input/output stream.
using namespace std;
#include <cstring> // to use strlen function
#include <cstdlib> // to use exit function
char *entry, letter, choice[2]
; //declare a char pointer, variable, and array
int ascii, len, binary[8], total;
void prog();
int main()
{
prog();
return 0;
}
void prog()
{
entry = new char[501]; // allocating memory for entry
/* entry should be dynamic, otherwise a new
string entry of 501 chars would be created
each time function is called!
Talk about memory hog! */
cout<<"Enter string to convert (up to 500 chars): "; // user prompt
cin.getline(entry, 500); // gets upto 500 chars and stores in entry
len = strlen(entry); /* get the number of characters in entry. */
// this loop is executed for each letter in the string
for(int i = 0; i<len; i++)
{
total = 0;
letter = entry[i]; // store the first letter
ascii = letter; // put that letter into an int, so we can
// see its ASCII number */
while(ascii>0) // This while loop converts the ASCII number into binary,
// stores it backwards into the binary array
{
// To get the binary code one must take the decimal number in
// question, take it and divide it by two repeatedly, save
// the remainder (which will become the binary number), save
// the whole number, divide by two, and repeat the whole
// process until 0 is reached. This if-else statement serves
// this functionality, by getting the remainder of the ASCII
// code, storing it in the array and then dividing the int
// ascii by two
if((ascii%2)==0)
{
binary[total] = 0;
ascii = ascii/2;
total++; // increasing by one each time will yield the
// number of numbers in the array.
}
else
{
binary[total] = 1;
ascii = ascii/2;
total++;
}
}
total--; // due to data type factors, the program will actually
// add a 0 at the end of the array that is not supposed
// to be there, decrementing total will solve this
// problem, as that 0 will not be displayed.
// this while loop displays the binary code for each letter.
while(total>=0)
{
cout<<binary[total];
total--;
}
}
delete[] entry; // free up the memory used by entry
cout<<endl<<"Do again(1 = yes, 2= no)?: "; // user prompt
cin.getline(choice,3);
if(choice[0] == '1')
prog(); // a recursive call to the function. a function loop.
else
exit(0);// terminates program, properly closes all files
}