home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume24
/
chemtab
/
part02
/
vdata.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-03-12
|
4KB
|
171 lines
/*
* chemtab - a periodic table data base (C) 1990 Jim King (pulsar@lsrhs)
*
* vdata.c View current data
*/
#include <stdio.h>
#include <curses.h>
#include "variables.h"
#include "tune.h"
#include "element.h"
#include "windows.h"
#include "undefs.h"
/*
* topline() - no input
*
* purpose: sets up the topline of user info.
*/
topline()
{
mvwaddstr(graph, 0, 0, "Name");
mvwaddstr(graph, 0, 13, "Sy");
mvwaddstr(graph, 0, 18, "Z");
mvwaddstr(graph, 0, 23, "MASS");
mvwaddstr(graph, 0, 30, "FM");
mvwaddstr(graph, 0, 33, "R");
mvwaddstr(graph, 0, 35, "V");
mvwaddstr(graph, 0, 37, "Melt");
mvwaddstr(graph, 0, 42, "Boil");
mvwaddstr(graph, 0, 47, "FIO");
mvwaddstr(graph, 0, 51, "Year");
mvwaddstr(graph, 0, 56, "ENG");
mvwaddstr(graph, 0, 60, "SPHT");
mvwaddstr(graph, 0, 66, "DENS");
mvwaddstr(graph, 0, 71, "ARAD");
wrefresh(graph);
}
/*
* vdata() - no input
*
* purpose: show all information on all selected elements to user
*/
vdata()
{
struct elem *tmp;
int n = 0, flg = 0, factor = 1, l, m, i, j, sorted;
if (gtot == -1) {
mvwaddstr(mn, 15, 0, "Please choose some selection characteristics before you do this.");
wrefresh(mn);
sleep(2);
wmove(mn, 15, 0); wclrtoeol(mn);
return(0);
}
wclear(mn);
wrefresh(mn);
wclear(graph);
wrefresh(graph);
if (gtot == 0) {
mvwaddstr(graph, 5, 0, "No elements met the requirements you set.");
wrefresh(graph);
spc();
clear();
refresh();
return(0);
}
if (gtot > 22)
factor++;
if (gtot > 44)
factor++;
if (gtot > 66)
factor++;
if (gtot > 88)
factor++;
clear();
refresh();
for (i = 0; i < factor; i++) {
topline();
for (j = 22*i+1; j < 22*i+23; j++) {
if (j > gtot)
break;
n = sub1[j];
for (tmp = e; n != tmp->anum; tmp = tmp->next) ;
mvwaddstr(graph, j-22*i, 0, tmp->name);
wmove(graph, j-22*i, 13); wprintw(graph, "%s", tmp->sym);
wmove(graph, j-22*i, 18); wprintw(graph, "%-d", tmp->anum);
wmove(graph, j-22*i, 22); wprintw(graph, "%-3.3f", tmp->amass);
wmove(graph, j-22*i, 30); wprintw(graph, "%-d", tmp->fam);
wmove(graph, j-22*i, 33); wprintw(graph, "%-d", tmp->row);
if (tmp->val == VAL) {
wstandout(graph);
mvwaddstr(graph, j-22*1, 35, "X");
wstandend(graph);
} else {
wmove(graph, j-22*i, 35); wprintw(graph, "%d", tmp->val);
}
if (tmp->melt == MEL) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 37, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 37); wprintw(graph, "%-d", tmp->melt);
}
if (tmp->boil == BOI) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 42, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 42); wprintw(graph, "%-d", tmp->boil);
}
if (tmp->fio == FIO) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 47, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 47); wprintw(graph, "%3d", tmp->fio);
}
if (tmp->year == YEA) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 51, "B.C.");
wstandend(graph);
} else {
wmove(graph, j-22*i, 51); wprintw(graph, "%-d", tmp->year);
}
if (tmp->eneg == ENG) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 56, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 56); wprintw(graph, "%1.1f", tmp->eneg);
}
if (tmp->spht == SPHT) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 60, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 60); wprintw(graph, "%1.3f", tmp->spht);
}
if (tmp->dens == DENS) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 66, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 66);
if (tmp->dens > 9.99)
wprintw(graph, "%2.1f", tmp->dens);
else
wprintw(graph, "%1.2f", tmp->dens);
}
if (tmp->arad == ARD) {
wstandout(graph);
mvwaddstr(graph, j-22*i, 71, "N/F");
wstandend(graph);
} else {
wmove(graph, j-22*i, 71); wprintw(graph, "%1.2f", tmp->arad);
}
wrefresh(graph);
}
spc();
capture(graph, 0, 1);
wclear(graph);
}
clear();
refresh();
return(0);
}