/* Copyright (c) Craig Welch 1998. All rights reserved. This program compiles on Borland C++ 4.52 using a compact memory model and EasyWin template. Three substitution choices are given but more could easily be written in. It is a simple choice menu that allows a default viewing of either side A or B, arbitrary phonetic substitutions for three symbols, a memory reset to either default values or coded hieroglypic values. gcwelch@crl.com www.crl.com/~gcwelch */ #include #include #include #include #define NEW_RING "Here begins a new ring\n" void showmenu(void); void ph_a(void); void ph_b(void); void ph_c(void); void ph_r(void); void ph_rc(void); void ph_g(void); char msg01[3] = "a1";char msg21[3] = "c1";char msg41[3] = "e1"; char msg02[3] = "a2";char msg22[3] = "c2";char msg42[3] = "e2"; char msg03[3] = "a3";char msg23[3] = "c3";char msg43[3] = "e3"; char msg04[3] = "a4";char msg24[3] = "c4";char msg44[3] = "e4"; char msg05[3] = "a5";char msg25[3] = "c5";char msg45[3] = "e5"; char msg06[3] = "a6";char msg26[3] = "c6"; char msg07[3] = "a7";char msg27[3] = "c7"; char msg08[3] = "a8";char msg28[3] = "c8"; char msg09[3] = "a9";char msg29[3] = "c9"; char msg10[3] = "b0";char msg30[3] = "d0"; char msg11[3] = "b1";char msg31[3] = "d1"; char msg12[3] = "b2";char msg32[3] = "d2"; char msg13[3] = "b3";char msg33[3] = "d3"; char msg14[3] = "b4";char msg34[3] = "d4"; char msg15[3] = "b5";char msg35[3] = "d5"; char msg16[3] = "b6";char msg36[3] = "d6"; char msg17[3] = "b7";char msg37[3] = "d7"; char msg18[3] = "b8";char msg38[3] = "d8"; char msg19[3] = "b9";char msg39[3] = "d9"; char msg20[3] = "c0";char msg40[3] = "e0"; char s1[3]="&";char s2[3]="X";char s3[3]="$"; char s4[3]="@";char s5[3]="%";char s6[3]="?"; char s7[3]="<";char s8[3]=">"; char * p1, * p2, * p3, * p4, * p5, * p6, * p7, * p8; char *m1, *m2, *m3, *m4, *m5, *m6, *m7, *m8, *m9; char *m10, *m11, *m12, *m13, *m14, *m15, *m16, *m17, *m18, *m19; char *m20, *m21, *m22, *m23, *m24, *m25, *m26, *m27, *m28, *m29; char *m30, *m31, *m32, *m33, *m34, *m35, *m36, *m37, *m38, *m39; char *m40, *m41, *m42, *m43, *m44, *m45; int ctr=1; char choice; char ch; char val_one[4], val_two[4], val_three[4]; main() { /* These values are from Cyrus Gorden. */ char msg09[3]="pi"; char msg39[3]="re"; char msg12[3]="to"; char msg29[3]="-u"; char msg19[3]="ja"; char msg26[3]="lo"; char msg35[3]="te"; char msg36[3]="sa"; char msg31[3]="ku"; char msg33[3]="mi"; char msg02[3]="po"; char msg25[3]="i"; char msg38[3]="ti"; // char msg41[3]="ni"; char msg45[3]="ra"; char msg27[3]="pa"; char msg01[3]="jo"; /* This file will use a larger concept of trying values and is based on Phaist4.OPL which I wrote on Oct28 '97 after my Photoshop class. */ m1=msg01; m2=msg02; m3=msg03; m4=msg04; m5=msg05; m6=msg06; m7=msg07; m8=msg08; m9=msg09; m10=msg10; m11=msg11; m12=msg12; m13=msg13; m14=msg14; m15=msg15; m16=msg16; m17=msg17; m18=msg18; m19=msg19; m20=msg20; m21=msg21; m22=msg22; m23=msg23; m24=msg24; m25=msg25; m26=msg26; m27=msg27; m28=msg28; m29=msg29; m30=msg30; m31=msg31; m32=msg32; m33=msg33; m34=msg34; m35=msg35; m36=msg36; m37=msg37; m38=msg38; m39=msg39; m40=msg40; m41=msg41; m42=msg42; m43=msg43; m44=msg44; m45=msg45; p1=s1; p2=s2; p3=s3; p4=s4; p5=s5; p6=s6; p7=s7; p8=s8; printf("%s,%s,%s, test 0\n", p1, p2, p3); showmenu(); cin >> choice; do { if (choice=='A' || choice=='a') { ph_a(); } else if (choice=='B' || choice=='b') { ph_b(); } else if (choice=='C' || choice=='c') { ph_c(); } else if (choice=='R' || choice=='r') { ph_r(); } else if (choice=='D' || choice=='d') { ph_rc(); } else if (choice=='G' || choice=='g') { ph_g(); } else if (choice=='L' || choice=='l') { clscr(); } else cout << "Select from the menu.\n"; showmenu(); cin >> choice; } while ((choice != 'Q') && (choice != 'q')); cout << "\n\n....Copyright (c) by Craig Welch 1997.\n\n"; cout << "........All rights reserved............\n\n"; cout << "..............Bye!\n"; return 0; } void showmenu(void) { printf(".............Minos 8...................\n\n\n"); printf("ENTER 'A' for side A or 'B' for side B.\n\n"); cout << "PRESS 'C' to enter phonetic values to be processed.\n\n"; cout << "PRESS 'R' to reset the memory values to default.\n\n"; cout << "PRESS 'D' to reset to coded values.\n\n"; cout << "PRESS 'G' to see the values for the default setting.\n\n"; printf("..........ENTER 'Q' to QUIT the program..........\n\n"); } void ph_a(void) { ctr = 1; while (ctr < 2) { printf("counter reads %d\n", ctr); m27=p2; m22=p1; if(ctr == 2) { ch=getche(); m27=p3; } else if (ctr == 3) { ch=getche(); m27=p4; printf("counter reads 3\n"); } else if (ctr == 4) { ch=getche(); m27=p5; printf("counter reads 4\n"); } else if (ctr==5) { ch=getche(); m27=p6; printf("counter reads 5\n"); } else if (ctr==6) { ch=getche(); m27=p7; printf("counter reads 6\n"); } else if (ctr==7) { ch=getche(); m27=p8; printf("counter reads 7\n"); } else if (ctr==8) { ch=getche(); m27=p2; printf("counter reads 8\n"); } printf(" This is the output for side A.\n "); printf(" %s,%s,%s,%s,%s *\n", msg07,msg40,m22,m12,m2); printf(" %s,%s,%s,%s *\n", m35,msg07,m45,m27); printf(" %s,%s,%s,%s *\n", m36,msg23,msg37,m2); printf(" %s,%s,%s *\n", m27,m25,m22); printf(" %s,%s,%s,%s *\n", m12,msg20,msg24,m33); printf(" %s,%s,%s,%s *\n", msg43,msg18,msg23,msg16); printf(" %s,%s,%s,%s *\n", m33,m39,m1,msg37); printf(" %s,%s,%s,%s *\n", msg18,m1,msg07,msg15); /* word 8 */ printf(" %s,%s,%s,%s *\n", m25,msg42,msg37,m22); printf(" %s,%s,%s,%s *\n", m35,msg40,msg24,msg07); printf(" %s,%s,%s,%s *\n", msg40,m36,m26,m2); printf(" %s,%s,%s,%s *\n", m1,m38,m25,m27); /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s *\n", m35,msg20,msg24,msg24,m29); /* word 13 */ printf(" %s,%s,%s *\n", msg18,msg14,msg16); printf(" %s,%s,%s *\n", m1,m33,m29); printf(" %s,%s,%s,%s,%s *\n", m33,msg39,msg32,m36,msg06); /* word 16 */ printf(" %s,%s,%s,%s *\n", m1,m27,m9,msg02); printf(" %s,%s,%s,%s *\n", msg08,msg07,m36,m29); printf(" %s,%s,%s *\n", msg13,msg08,m29); printf(" %s,%s,%s *\n", msg07,m45,m29); printf(" %s,%s,%s,%s,%s *\n", msg08,msg07,m36,m29,m22); /* word 21 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s *\n", m25,msg23,msg34,m27); /* word 22 */ printf(" %s,%s,%s *\n", msg35,msg18,msg07); printf(" %s,%s,%s *\n", msg07,msg45,msg07); printf(" %s,%s,%s,%s *\n", msg24,msg18,msg23,msg07); printf(" %s,%s,%s,%s,%s *\n", msg08,msg07,m36,m29,m22); printf(" %s,%s,%s,%s,%s *\n", msg07,msg18,m39,msg30,msg09); /* word 27 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s *\n", msg07,msg23,m35,msg06,m2); printf(" %s,%s,%s,%s *\n", m25,msg23,msg30,msg34); /* word 29 */ printf(" %s,%s *\n", msg07,m45); /* word 30, last word */ // printf(" %d\n", ctr); ctr++; } } void ph_b(void) { ctr = 1; while (ctr < 2) { printf("counter reads %d\n", ctr); m27=p2; m22=p1; if(ctr == 2) { ch=getche(); m27=p3; printf("%s,%s,%s, test\n", m27,m25,m22); printf("counter reads 2\n"); } else if (ctr == 3) { ch=getche(); m27=p4; printf("counter reads 3\n"); } else if (ctr == 4) { ch=getche(); printf("%s,%s,%s are the values of m27, m25, and m22\n", m27,m25,m22); m27=p5; printf("%s,%s,%s are now the values of m27, m25, and m22\n", m27,m25,m22); printf("counter reads 4\n"); } else if (ctr==5) { ch=getche(); m27=p6; printf("counter reads 5\n"); } else if (ctr==6) { ch=getche(); m27=p7; printf("counter reads 6\n"); } else if (ctr==7) { ch=getche(); m27=p8; printf("counter reads 7\n"); } else if (ctr==8) { ch=getche(); m27=p2; printf("counter reads 8\n"); } printf(" This is the output for side B.\n "); printf(" %s,%s,%s,%s,%s *\n", msg18,m1,msg37,m12,m2); printf(" %s,%s,%s *\n", m12,msg40,msg24); printf(" %s,%s,%s *\n", msg07,m45,m29); printf(" %s,%s,%s *\n", msg34,msg44,msg34); printf(" %s,%s,%s,%s,%s *\n", m33,msg40,msg04,m12,m2); printf(" %s,%s,%s,%s *\n", m12,msg07,m45,m27); printf(" %s,%s,%s,%s,%s,%s,%s,%s *\n",msg17,msg18,msg06,m12,msg02,msg08,msg44,m27); printf(" %s,%s,%s *\n", m35,m26,m31); /* word 8 */ printf(" %s,%s,%s,%s,%s *\n", m35,m19,m41,m12,m2); printf(" %s,%s,%s,%s *\n", msg07,msg40,m41,m1); printf(" %s,%s,%s,%s,%s *\n", m38,msg23,msg32,m12,m2); printf(" %s,%s *\n", msg11,m39); /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s,%s *\n", msg18,msg23,msg37,m25,m27,m2); /*word 13 */ printf(" %s,%s *\n", m1,msg28); printf(" %s,%s,%s,%s *\n", m26,m31,m12,m2); printf(" %s,%s,%s,%s,%s,%s,%s *\n", msg21,msg37,m35,m27,m27,m12,m2); /* word 16 */ printf(" %s,%s *\n", msg23,msg33); printf(" %s,%s,%s,%s *\n", m26,m31,m12,m2); printf(" %s,%s,%s,%s,%s,%s *\n", msg18,msg23,msg37,m25,m27,m2); printf(" %s,%s *\n", m1,msg28); printf(" %s,%s,%s,%s *\n", m26,m31,m12,m2); /* word 21 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s,%s,%s *\n", m27,msg18,msg32,msg14,m27,m12,m2); /* word 22 */ printf(" %s,%s,%s,%s *\n", m19,msg17,msg18,msg06); printf(" %s,%s,%s *\n", m12,m26,m31); printf(" %s,%s,%s,%s *\n", m1,msg37,m12,m2); printf(" %s,%s,%s *\n", m35,msg37,msg23); printf(" %s,%s,%s *\n", m38,msg03,msg39); /* word 27 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s,%s,%s *\n", msg21,msg37,m35,m27,m27,m12,m2); printf(" %s,%s *\n", m1,msg37); /* word 29 */ printf(" %s,%s,%s *\n", m38,msg03,m39); /* word 30, last word */ // printf(" %d\n", ctr); ctr++; } } void ph_c(void) { cout << "Enter three phonetic values of two characters:\n\n"; cout << "******a special character (@, $, #, ^, &, * may be used******\n"; cout << "******for the purpose of tracing.******\n\n"; cout << "...Enter a value for c0: "; cin >>(val_one); cout << "\n...Enter a value for c2: "; cin >> (val_two); cout << "\n...Enter a value for c4: "; cin >> (val_three); m20=val_one; m23=val_two; m24=val_three; printf("\n\n This is the output for side A.\n "); printf(" %s,%s,%s,%s,%s *\n", m7,m40,m22,m12,m2); printf(" %s,%s,%s,%s *\n", m35,m7,m45,m27); printf(" %s,%s,%s,%s *\n", m36,m23,m37,m2); printf(" %s,%s,%s *\n", m27,m25,m22); printf(" %s,%s,%s,%s *\n", m12,m20,m24,m33); printf(" %s,%s,%s,%s *\n", m43,m18,m23,m16); printf(" %s,%s,%s,%s *\n", m33,m39,m1,m37); printf(" %s,%s,%s,%s *\n", m18,m1,m7,m15); /* word 8 */ printf(" %s,%s,%s,%s *\n", m25,m42,m37,m22); printf(" %s,%s,%s,%s *\n", m35,m40,m24,m7); printf(" %s,%s,%s,%s *\n", m40,m36,m26,m2); printf(" %s,%s,%s,%s *\n", m1,m38,m25,m27); /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s *\n", m35,m20,m24,m24,m29); /* word 13 */ printf(" %s,%s,%s *\n", m18,m14,m16); printf(" %s,%s,%s *\n", m1,m33,m29); printf(" %s,%s,%s,%s,%s *\n", m33,m39,m32,m36,m6); /* word 16 */ printf(" %s,%s,%s,%s *\n", m1,m27,m9,m2); printf(" %s,%s,%s,%s *\n", m8,m7,m36,m29); printf(" %s,%s,%s *\n", m13,m8,m29); printf(" %s,%s,%s *\n", m7,m45,m29); printf(" %s,%s,%s,%s,%s *\n", m8,m7,m36,m29,m22); /* word 21 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s *\n", m25,m23,m34,m27); /* word 22 */ printf(" %s,%s,%s *\n", m35,m18,m7); printf(" %s,%s,%s *\n", m7,m45,m7); printf(" %s,%s,%s,%s *\n", m24,m18,m23,m7); printf(" %s,%s,%s,%s,%s *\n", m8,m7,m36,m29,m22); printf(" %s,%s,%s,%s,%s *\n", m7,m18,m39,m30,m9); /* word 27 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s *\n", m7,m23,m35,m6,m2); printf(" %s,%s,%s,%s *\n", m25,m23,m30,m34); /* word 29 */ printf(" %s,%s *\n", m7,m45); /* word 30, last word */ printf(" This is the output for side B.\n "); printf(" %s,%s,%s,%s,%s *\n", m18,m1,m37,m12,m2); printf(" %s,%s,%s *\n", m12,m40,m24); printf(" %s,%s,%s *\n", m7,m45,m29); printf(" %s,%s,%s *\n", m34,m44,m34); printf(" %s,%s,%s,%s,%s *\n", m33,m40,m4,m12,m2); printf(" %s,%s,%s,%s *\n", m12,m7,m45,m27); printf(" %s,%s,%s,%s,%s,%s,%s,%s *\n",m17,m18,m6,m12,m2,m8,m44,m27); printf(" %s,%s,%s *\n", m35,m26,m31); /* word 8 */ printf(" %s,%s,%s,%s,%s *\n", m35,m19,m41,m12,m2); printf(" %s,%s,%s,%s *\n", m7,m40,m41,m1); printf(" %s,%s,%s,%s,%s *\n", m38,m23,m32,m12,m2); printf(" %s,%s *\n", m11,m39); /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s,%s *\n", m18,m23,m37,m25,m27,m2); /*word 13 */ printf(" %s,%s *\n", m1,m28); printf(" %s,%s,%s,%s *\n", m26,m31,m12,m2); printf(" %s,%s,%s,%s,%s,%s,%s *\n", m21,m37,m35,m27,m27,m12,m2); /* word 16 */ printf(" %s,%s *\n", m23,m33); printf(" %s,%s,%s,%s *\n", m26,m31,m12,m2); printf(" %s,%s,%s,%s,%s,%s *\n", m18,m23,m37,m25,m27,m2); printf(" %s,%s *\n", m1,m28); printf(" %s,%s,%s,%s *\n", m26,m31,m12,m2); /* word 21 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s,%s,%s *\n", m27,m18,m32,m14,m27,m12,m2); /* word 22 */ printf(" %s,%s,%s,%s *\n", m19,m17,m18,m6); printf(" %s,%s,%s *\n", m12,m26,m31); printf(" %s,%s,%s,%s *\n", m1,m37,m12,m2); printf(" %s,%s,%s *\n", m35,m37,m23); printf(" %s,%s,%s *\n", m38,m3,m39); /* word 27 */ /* start a new ring */ printf(" %s\n", NEW_RING); printf(" %s,%s,%s,%s,%s,%s,%s *\n", m21,m37,m35,m27,m27,m12,m2); printf(" %s,%s *\n", m1,m37); /* word 29 */ printf(" %s,%s,%s *\n", m38,m3,m39); /* word 30, last word */ } void ph_r(void) { m1=msg01; m2=msg02; m3=msg03; m4=msg04; m5=msg05; m6=msg06; m7=msg07; m8=msg08; m9=msg09; m10=msg10; m11=msg11; m12=msg12; m13=msg13; m14=msg14; m15=msg15; m16=msg16; m17=msg17; m18=msg18; m19=msg19; m20=msg20; m21=msg21; m22=msg22; m23=msg23; m24=msg24; m25=msg25; m26=msg26; m27=msg27; m28=msg28; m29=msg29; m30=msg30; m31=msg31; m32=msg32; m33=msg33; m34=msg34; m35=msg35; m36=msg36; m37=msg37; m38=msg38; m39=msg39; m40=msg40; m41=msg41; m42=msg42; m43=msg43; m44=msg44; m45=msg45; m9="pi"; m39="re"; m12="to"; m29="-u"; m19="ja"; m26="lo"; m35="te"; m36="sa"; m31="ku"; m33="mi"; m2="po"; m25="i"; m38="ti"; // m41="ni"; m45="ra"; m27="pa"; m1="jo"; cout << "\n.....The memory has been reset.....\n\n"; } void ph_rc(void) { m1=msg01; m2=msg02; m3=msg03; m4=msg04; m5=msg05; m6=msg06; m7=msg07; m8=msg08; m9=msg09; m10=msg10; m11=msg11; m12=msg12; m13=msg13; m14=msg14; m15=msg15; m16=msg16; m17=msg17; m18=msg18; m19=msg19; m20=msg20; m21=msg21; m22=msg22; m23=msg23; m24=msg24; m25=msg25; m26=msg26; m27=msg27; m28=msg28; m29=msg29; m30=msg30; m31=msg31; m32=msg32; m33=msg33; m34=msg34; m35=msg35; m36=msg36; m37=msg37; m38=msg38; m39=msg39; m40=msg40; m41=msg41; m42=msg42; m43=msg43; m44=msg44; m45=msg45; cout << "\n....These are the coded default values...\n\n"; } void ph_g(void) { cout << "\n....These are the values derived from Cyrus Gorden\n"; cout << "....for the coded values listed below:\n\n"; cout << " m9=pi m39=re\n"; cout << " m12=to m29=-u\n"; cout << " m19=ja m26=lo\n"; cout << " m35=te m36=sa\n"; cout << " m31=ku m33=mi\n"; cout << " m2=po m25=i\n"; cout << " m38=ti ?? m41=ni\n"; cout << " m45=ra m27=pa\n"; cout << " m1=jo\n\n"; }