📄 cipher.c
字号:
#include <stdio.h>
#include <tinfo.h>
main()
{
char c;
long a_num,year,month,day,hour,x,m,n,s;
long key1,key2;
short i,j,a;
key1=4691813;
key2=3181964;
initscr();
clear();
move(2,20);
printw("储 蓄 系 统 重 要 更 正 密 码 计 算 程 序");
move(3,20);
printw("=========================================");
move(5,10);
printw("营业部门编号: ");
scanw("%ld",&s);
move(5,24);
printw(" %ld ",s);
move(7,10);
printw("帐 号: ");
scanw("%ld",&a_num);
move(7,18);
printw(" %ld ",a_num);
move(9,10);
printw("修改时间: 年");
move(9,20);
scanw("%ld",&year);
move(9,10);
printw("修改时间: %4ld 年 月",year);
move(9,28);
scanw("%ld",&month);
move(9,10);
printw("修改时间: %4ld 年 %2ld 月 日",year,month);
move(9,34);
scanw("%ld",&day);
move(9,10);
printw("修改时间: %4ld 年 %2ld 月 %2ld 日 时",year,month,day);
move(9,40);
scanw("%ld",&hour);
move(9,10);
printw("修改时间: %4ld 年 %2ld 月 %2ld 日 %2ld 时",year,month,day,hour);
c='a';
while(c!='R'&&c!='F')
{
move(11,10);
printw("币 种 (R-人民币, F-外币): ");
scanw("%c",&c);
c=toupper(c);
}
move(11,10);
printw("币 种: ");
if(c=='R') printw("人民币 ");
else printw("外币 ");
move(13,10);
printw("储 种 (1-整存整取, 2-活期, 3-零存整取, 4-定活两便,");
move(14,18);
printw("5-存本取息, 6-大额, 7-通知存款, 8-住房基金): ");
n=0;
while(n<1||n>8)
{
move(14,64);
scanw("%ld",&n);
}
move(13,10);
printw("储 种: ");
switch(n)
{
case 1:
printw("整存整取");
break;
case 2:
printw("活期 ");
break;
case 3:
printw("零存整取");
break;
case 4:
printw("定活两便");
break;
case 5:
printw("存本取息");
break;
case 6:
printw("大额 ");
break;
case 7:
printw("通知存款");
break;
case 8:
printw("住房基金");
}
move(13,26);
clrtoeol();
move(14,0);
clrtoeol();
if(c=='F') n+=10;
move(15,10);
printw("项 目 (1-存期, 2-金额, 3-开户日期, 4-起息日期, 5-最后日期,");
move(16,18);
printw("6-币种, 7-定额, 8-累计利息, 9-最后月份): ");
m=0;
while(m<1||m>9)
{
move(16,60);
scanw("%ld",&m);
}
move(15,10);
printw("项 目: ");
switch(m)
{
case 1:
printw("存期 ");
break;
case 2:
printw("金额 ");
break;
case 3:
printw("开户日期");
break;
case 4:
printw("起息日期");
break;
case 5:
printw("最后日期");
break;
case 6:
printw("币种 ");
break;
case 7:
printw("定额 ");
break;
case 8:
printw("累计利息");
break;
case 9:
printw("最后月份");
}
move(15,26);
clrtoeol();
move(16,0);
clrtoeol();
move(17,10);
printw("操作地点 (1-柜台业务, 2-事后监督): ");
a=0;
while(a!=1&&a!=2)
{
move(17,46);
scanw("%hd",&a);
}
move(17,18);
if(a==1) addstr(": 柜台业务");
else addstr(": 事后监督");
move(17,28);
clrtoeol();
a_num=2100000000-a_num-(year%100)*1000000-month*10000-
day*100-hour-s*10000-n*100-m;
if(a==1) a_num-=key1;
else a_num-=key2;
n=0;
x=a_num;
j=0;
m=1000000000;
for(i=1;i<=10;i++)
{
n+=j;
j=x/m;
n+=j;
x%=m;
m/=10;
}
m=n/26+97;
n=(n%26)+97;
move(19,10);
printw("密 码: ");
printw("%c",m);
printw("%c",n);
x=a_num;
m=1000000000;
j=0;
for(i=1;i<=10;i++)
{
n=x/m;
printw("%c",j+n+97);
j=n;
x%=m;
m/=10;
}
move(20,50);
printw("按任意键退出!");
getch();
endwin();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -