This is wmenu.c in view mode; [Download] [Up]
#define TRUE 1 #define FALSE 0 #define NOPROPS 25 extern char *properties[NOPROPS]; menu1_select() { char s[80], *sp; sp = s; do { if ((nxOutput) && (! attributes[0])) { printf("\n** Output will be in columns, but no attributes **\n"); printf("** have been set. Please do so through (O) then (F)**\n");} if (inFile) printf("\n Data is being drawn from a file. \n"); printf("\n(C)ompute properties \n"); printf("(D)ata from file \n"); printf("(I)nitial TP or TD conditions \n"); printf("(O)utput preferences \n"); printf("(S)aturation surface \n"); printf("(T)riple point preference \n"); printf("(U)nits change \n"); printf("(Q)uit \n"); printf("choose one: \n"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } output_select() { char s[80], *sp; sp = s; do { printf("(D)estination \n"); printf("(F)ormat \n"); printf("(O)utput length \n"); printf("choose one: \n"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } triple_select() { char s[80], *sp; sp = s; do { printf("(G)eochemical triple point \n"); printf("(E)ngineering triple point \n"); printf("choose one ("); if (_params_.specs[4]) printf("G"); else printf("E"); printf(") \n"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } initials_menu() { char s[80], *sp; sp = s; do { printf("(D)ouble parameter increment \n"); printf("(O)ne data point \n"); printf("(S)ingle parameter increment \n"); printf("choose one: \n"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } units_select() { char s[80], *sp; sp = s; do { printf("(T)emperature Units \n"); printf("(P)ressure Units \n"); printf("(D)ensity Units \n"); printf("(E)nergy Units \n"); printf("choose one: \n"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } get_t_units () { switch (sel_t_units(myunits.temp)) { case 'k': _params_.specs[0]=1; break; case 'c': _params_.specs[0]=2; break; case 'r': _params_.specs[0]=3; break; case 'f': _params_.specs[0]=4; break; default: break; } } sel_t_units (tunits) char tunits[10]; { char s[80], *sp; sp = s; do { printf(" \n"); printf("Current temperature units are (%s) \n", tunits); printf("(K)elvin \n"); printf("(C)elcius \n"); printf("(R)ankine \n"); printf("(F)ahrenheit \n"); printf("(N)o change in temperature units \n"); printf("choose one:"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } get_p_units () { switch (sel_p_units(myunits.pres)) { case 'm': _params_.specs[1] = 1; break; case 'b': _params_.specs[1] = 2; break; case 'a': _params_.specs[1] = 3; break; case 'l': _params_.specs[1] = 4; break; case 'k': _params_.specs[1] = 5; break; default: break; } } sel_p_units (punits) char punits[10]; { char s[80], *sp; sp = s; do { printf(" \n"); printf("Current pressure units are (%s) \n", punits); printf("(M)Pa \n"); printf("(b)ar \n"); printf("(a)tm \n"); printf("(l)b/in**2 \n"); printf("(k)g/cm**2 \n"); printf("(N)o change in pressure units \n"); printf("choose one:"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } get_d_units () { switch (sel_d_units(myunits.dens)) { case 'k': _params_.specs[2] = _params_.specs[3] = 1; break; case 'g': _params_.specs[2] = _params_.specs[3] = 2; break; case 'm': _params_.specs[2] = _params_.specs[3] = 3; break; case 'l': _params_.specs[2] = _params_.specs[3] = 4; break; default: break; } } sel_d_units (dunits) char dunits[10]; { char s[80], *sp; sp = s; do { printf(" \n"); printf("Current density units are (%s) \n", dunits); printf("(k)g/m**3 \n"); printf("(g)/cm**3 \n"); printf("(m)ole/liter \n"); printf("(l)b/ft**3 \n"); printf("(N)o change in density units \n"); printf("choose one:"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } get_e_units () { switch (sel_e_units(myunits.ener)) { case 'k': _params_.specs[3]=1; break; case 'j': switch (mol_g_menu()) { case 'm': _params_.specs[3]=3; break; case 'g': _params_.specs[3]=2; break; } break; case 'c': switch (mol_g_menu()) { case 'm': _params_.specs[3]=5; break; case 'g': _params_.specs[3]=4; break; } break; case 'b': _params_.specs[3]=6; break; default: break; } } sel_e_units (eunits) char eunits[10]; { char s[80], *sp; sp = s; do { printf(" \n"); printf("Current energy units are (%s) \n", eunits); printf("(k)J/kg \n"); printf("(J)/g or J/mol \n"); printf("(c)al/g or cal/mol \n"); printf("(b)tu/lb \n"); printf("(N)o change in energy units \n"); printf("choose one:"); gets(s); } while(tolower(*sp) == ' '); return tolower(*sp); } attributeList() { printf("(1) Volume (2) Helmholtz (3) Gibbs Free Energy (4) Entropy \n"); printf("(5) Internal Energy (6) Enthalpy (7) Cv (8) Cp (9) Velocity \n"); printf("(10) alpha (11) beta (12) Dielectric (13) Kinematic Viscosity \n"); printf("(14) Dynamic Viscosity (15) Conductivity (16) Diffusity \n"); printf("(17) Surface Tension (18) Prandtl (19) alpha/beta (20) ZBorn \n"); printf("(21) YBorn (22) QBorn (23) d(alpha)/dT (24) XBorn \n"); printf("(25) Temperature (26) Pressure (27) Density \n"); printf("\n Choose an attribute 1-27 : "); } mol_g_menu() { char s[80], *sp; sp = s; do { printf(" \n"); printf("per (m)ole \n"); printf("per (g)ram \n"); gets(s); } while (tolower(*sp) == ' '); return tolower(*sp); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.