📄 sections.c
字号:
/* sections */
#include </u/ebcsav/include/sav.h>
short menu();
short menusel();
void addspace();
char readst();
char readdv();
void mess();
char y_n();
#include </u/ebcsav/include/begin>
short num_c,i,l,sec_num;
double x;
char c;
char s[25];
FILE *pf;
static char *title[4]={"0. 退 出 ","1. 增加营业所 ","2. 删除营业所 ",
"3.列营业所目录 "};
static char *remind[4]={" 退出本程序 "," 输入新增设的营业所的名称和简称 ",
" 删除营业所的名称和简称 "," 显示营业所的名称和简称 "};
static short menu_row[4]={3,3,3,3},menu_col[4]={10,25,40,55};
move(0,25);
printw("营 业 部 门 名 称 管 理");
num_c=0;
s[24]='\0';
while(1)
{
move(2,0);
clrtobot();
block(1,0,22,80);
block(2,3,3,74);
num_c=menu(title,remind,menu_row,menu_col,3,num_c);
num_c=menusel(title,remind,menu_row,menu_col,3,num_c,0);
move(2,0);
clrtobot();
block(1,0,22,80);
switch(num_c)
{
case 0:
endwin();
return;
case 1:
move(2,25);
addstr("增 加 新 的 营 业 部 门");
move(3,25);
addstr("==============================");
pf=fopen("/u/ebcsav/data/sav_sect.dat","r+");
while(1)
{
move(5,10);
addstr("请输入营业部门编号( 0 返回) ");
readdv(&x,2);
sec_num=x;
move(20,30);
if(sec_num<1)
{
fclose(pf);
break;
}
if(sec_num>99)
{
printw("编号太大, ");
mess((short)2);
}
else
{
fseek(pf,(sec_num-1)*34,0);
fread(s,24,1,pf);
if(s[0]!='\0')
{
printw("该部门已存在, ");
mess(2);
}
else break;
}
}
if(sec_num==0) break;
addspace(28);
fseek(pf,(sec_num-1)*34,0);
move(7,10);
addstr("请输入营业部门名称(最多24个字节): ");
readst(s,24);
fwrite(s,24,1,pf);
move(9,10);
addstr("请输入营业部门简称(最多10个字节): ");
readst(s,10);
fwrite(s,10,1,pf);
fclose(pf);
break;
case 2:
move(2,29);
addstr("删 除 营 业 部 门");
move(3,29);
addstr("======================");
pf=fopen("/u/ebcsav/data/sav_sect.dat","r+");
while(1)
{
move(5,10);
addstr("请输入营业部门编号( 0 返回) ");
readdv(&x,2);
sec_num=x;
move(20,30);
if(sec_num<1)
{
fclose(pf);
break;
}
fseek(pf,(sec_num-1)*34,0);
fread(s,24,1,pf);
if(feof(pf)||s[0]=='\0')
{
printw("该单位不存在, ");
mess(2);
}
else break;
}
if(sec_num==0) break;
addspace(28);
move(7,10);
printw("营业部门名称: %s",s);
fread(s,10,1,pf);
s[10]='\0';
move(9,10);
printw("营业部门简称: %s",s);
move(20,20);
printw("是否删除 (Y/N)? ");
c=y_n('Y','N','N');
if(c=='Y')
{
s[0]='\0';
fseek(pf,(sec_num-1)*34,0);
fwrite(s,24,1,pf);
fwrite(s,10,1,pf);
}
fclose(pf);
break;
case 3:
move(2,29);
addstr("营 业 部 门 目 录");
move(3,29);
addstr("======================");
pf=fopen("/u/ebcsav/data/sav_sect.dat","r");
i=0;
l=5;
move(4,10);
printw("编号 单 位 名 称 简 称");
while(1)
{
fread(s,24,1,pf);
if(feof(pf)) break;
i++;
if(s[0]=='\0')
{
fread(s,10,1,pf);
continue;
}
move(l,11);
printw("%2d %-24s",i,s);
fread(s,10,1,pf);
s[10]='\0';
printw(" %-10s",s);
l++;
if(l==22)
{
move(23,30);
addstr("暂停显示, ");
mess((short)4);
getch();
l=5;
move(5,0);
clrtobot();
block(1,0,22,80);
}
}
move(23,30);
printw("全部显示, ");
mess((short)3);
getch();
fclose(pf);
break;
}
}
#include </u/ebcsav/include/end>
#include </u/ebcsav/include/mess>
#include </u/ebcsav/include/addspace>
#include </u/ebcsav/include/y_n>
#include </u/ebcsav/include/readst>
#include </u/ebcsav/include/readdv>
#include </u/ebcsav/include/menu>
#include </u/ebcsav/include/menusel>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -