#include #include void eb_to_as(); void as_to_eb(); int main(){ //int wait_count; int men_op; cout<<"EBCDIC to ASCII Converter"<< endl; cout<<"Version 2.00 With expanded char set"<< endl; cout<<"Menu Options: \n"; cout<<"1. Convert EBCDIC to ASCII\n"; cout<<"2. Convert ASCII to EBCDIC\n"; cout<<"3. Exit\n\n"; cout<<"Enter menu option: "; cin>>men_op; while(men_op != 3){ switch(men_op){ case 0: break; case 1: eb_to_as(); break; case 2: as_to_eb(); break; case 3: break; default: cout<<"Not an option!\n\n"; break; } men_op = 0; cout<<"Menu Options: \n"; cout<<"1. Convert EBCDIC to ASCII\n"; cout<<"2. Convert ASCII to EBCDIC\n"; cout<<"3. Exit\n\n"; cout<<"Enter menu option: "; cin>>men_op; } return 0; } void eb_to_as(){ char ebcdic_in; char unconv_file[80]; int rec_length; cout<<"\n\nPlease enter the EBCDIC file name: "; cin>> unconv_file; cout<<"\nEnter the record length. The old VAX format was: \"rec=80\\block=80\"\n"; cout<<"Here, just enter the number, default is 80: "; cin>>rec_length; cout<< "\nConverting file, please wait..."; ofstream outfile("ascii_conv.txt"); ifstream infile(unconv_file); cout<<"\n\n"; infile>>(ebcdic_in); int length_counter = 0; do{ infile>>(ebcdic_in); switch(ebcdic_in){ //Numbers case 'ð': outfile<<0; break; case 'ñ': outfile<<1; break; case 'ò': outfile<<2; break; case 'ó': outfile<<3; break; case 'ô': outfile<<4; break; case 'õ': outfile<<5; break; case 'ö': outfile<<6; break; case '÷': outfile<<7; break; case 'ø': outfile<<8; break; case 'ù': outfile<<9; break; //Block Break case 'Ð': outfile<<'}'; break; //Alphabet case 'Á': outfile<<'A'; break; case 'Â': outfile<<'B'; break; case 'Ã': outfile<<'C'; break; case 'Ä': outfile<<'D'; break; case 'Å': outfile<<'E'; break; case 'Æ': outfile<<'F'; break; case 'Ç': outfile<<'G'; break; case 'È': outfile<<'H'; break; case 'É': outfile<<'I'; break; case 'Ñ': outfile<<'J'; break; case 'Ò': outfile<<'K'; break; case 'Ó': outfile<<'L'; break; case 'Ô': outfile<<'M'; break; case 'Õ': outfile<<'N'; break; case 'Ö': outfile<<'O'; break; case '×': outfile<<'P'; break; case 'Ø': outfile<<'Q'; break; case 'Ù': outfile<<'R'; break; case 'â': outfile<<'S'; break; case 'ã': outfile<<'T'; break; case 'ä': outfile<<'U'; break; case 'å': outfile<<'V'; break; case 'æ': outfile<<'W'; break; case 'ç': outfile<<'X'; break; case 'è': outfile<<'Y'; break; case 'é': outfile<<'Z'; break; //Other case '@': outfile<<' '; break; default: outfile<<'0'; break; } //Record Length set here, default is 80 length_counter++; if(length_counter == rec_length){ outfile<> unconv_file; cout<< "\nConverting file, please wait..."; ofstream outfile("ebcdic_conv.txt"); ifstream infile(unconv_file); cout<<"\n\n"; infile>>(ascii_in); int length_counter = 0; do{ infile>>(ascii_in); switch(ascii_in){ //Numbers case '0': outfile<<'ð'; break; case '1': outfile<<'ñ'; break; case '2': outfile<<'ò'; break; case '3': outfile<<'ó'; break; case '4': outfile<<'ô'; break; case '5': outfile<<'õ'; break; case '6': outfile<<'ö'; break; case '7': outfile<<'÷'; break; case '8': outfile<<'ø'; break; case '9': outfile<<'ù'; break; //Block Break case '}': outfile<<'Ð'; break; //Alphabet case 'A': outfile<<'Á'; break; case 'B': outfile<<'Â'; break; case 'C': outfile<<'Ã'; break; case 'D': outfile<<'Ä'; break; case 'E': outfile<<'Å'; break; case 'F': outfile<<'Æ'; break; case 'G': outfile<<'Ç'; break; case 'H': outfile<<'È'; break; case 'I': outfile<<'É'; break; case 'J': outfile<<'Ñ'; break; case 'K': outfile<<'Ò'; break; case 'L': outfile<<'Ó'; break; case 'M': outfile<<'Ô'; break; case 'N': outfile<<'Õ'; break; case 'O': outfile<<'Ö'; break; case 'P': outfile<<'×'; break; case 'Q': outfile<<'Ø'; break; case 'R': outfile<<'Ù'; break; case 'S': outfile<<'â'; break; case 'T': outfile<<'ã'; break; case 'U': outfile<<'ä'; break; case 'V': outfile<<'å'; break; case 'W': outfile<<'æ'; break; case 'X': outfile<<'ç'; break; case 'Y': outfile<<'è'; break; case 'Z': outfile<<'é'; break; //Other case ' ': outfile<<'@'; break; default: outfile<<'0'; break; } //Record Length set here, default is 80 length_counter++; if(length_counter == 80){ outfile<