1.求C语言源代码 题目 学生成绩管理系统
2.源代码安全审计工具----找八哥源代码安全测试管理系统
3.å¦ä½ç¨ä½ä»£ç å·¥å
·å¼ååºä¸å¥å¥½ç¨ç管çç³»ç»ï¼
求C语言源代码 题目 学生成绩管理系统
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc,源码 char *argv[])
{ #define UP
#define DOWN
#define INSERT
#define DEL
#define ENTER
#define KEY
#define KEY
#define KEY
#define KEY
#define KEY A
#define KEY B
#define KEY C
#define KEY D
#define KEY E
#define KEY F
#define KEY G
#define KEY H
#define KEY I
#define KEY K
#define KEY L
#define KEY M
#define KEY N
#define KEY O
#define KEY P
#define KEY Q
#define KEY R
#define KEY S
#define KEY T
#define KEY U
#define KEY V
#define KEY W
#define KEY X
#define KEY Y
#define KEY Z
#define ALT F2
#define ALT F6
#define CTRL 4
#define SHIFT 1
#define ESC 1
#define BACKSPACE
#define LEN sizeof(struct student)
/*菜单选项。下拉标志*/
int menu x yes=1;
int menu y yes=0;
int menu x=1;
int menu x old=0;
int menu y1=1,测试 menu y3=1;
/*保存文件名*/
char filename[]="NONAME.dat";
/*开辟保存数据的空间*/
void *buf=0;
int left,top,right,bottom;
/*开辟保存数据的空间*/
struct student
{ long num;
char name[];
float h maths;
float english;
float c;
float sum;
int s sum;
struct student*next;
};
struct student*head=0,*p1,*p2;
int record n;
char key buf[];
long student number=0;
char student name[];
float student score=0;
/*读键扫描码*/
char get key(void)
{ AH=0; int (0X); return( AH); }
/*显示字符*/
void show char(char z)
{ AL=z; AH=0x0e; int (0x);}
/*测试是否有键输入*/
int key pressed(void)
{ AH=0x0b; int (0x); if( AL==0) return(0); else return(1);}
/*退出程序*/
voidquit(void)
{ void free data(void);void restore menu(void); free data();
restore menu(); window(1,1,,,0x0f);
cur show(); gotoxy(1,1); exit(1);
}
/*回到dos提示符*/
void os shell(void)
{ void mainmenu show(void);
window(1,1,,,0x0f);
cur show(); gotoxy(1,1); system("");
mainmenu show();
}
/*主窗口文字*/
void main menu 1(void)
{ int i,j; char*p;
char*mainmenu word[]={ "File ","Save ","Options ","About me"};
if(menu x!=menu x old||!menu y yes)
{ p=mainmenu word[0];
putstr(4,1,0x,p,);
for(i=0;i<;i++) if(*p++<='Z') putchar(i+4,1,*(p-1),0x);
p=mianmenu word[0];
if(menu x yes)
for(i=0;j=0;i<;i++)
{ it('A'<=*p&&*(p+1)=='')break;
putchar(i+4,1,*p,0x0f); }
p++; }
}
}
void main menu 2(void)
{ int i; int len; char *p;
char*mainmenu word[6]={ "F1-Help","F2-Save","F5-OS shell","F-Menu","Message"};
void main box(void); main box();
p=mainmenu word[0]; putstr(2,,0x,p,);
for(i=0;i<;i++) { if(*p=='F'||('0'<=*p&&*p<='9'))putchar(i+2,*p,0x); p++; }
p=mainmenu word[4]; putstr(,,0x,p,9); len=strlen(filename);
putchar(-len/2-1,2,'',0x);
for(p=filename,i=0;*p!=0;p++;i++) putchar(-len/2+i,2,*p,0x);
putchar(-len/2+len,2,'',0x);
}
/*主窗口线框*/
void main box(void)
{ int i;
for(i=1;i<=;I++) { putchar(i,2,,0x); putchar(i,,,0x);putchar(i,,,0x);}
for(i=1;i<=;i++) { putchar(1,i,,0x); putchar(,i,,0x); }
putchar(1,2,,0x); putchar(,2,,0x); putchar(1,,,0x);
putchar(,,,0x); putchar(1,,,0x); putchar(,,,0x);
}
/*显示主窗口菜单*/
voidmianmenu show (void)
{ textmode set(); cur hide();
window(1,1,,,0x1e);
window(1,1,,1,0x);
window(1,,,,0x);
main menu ; main menu ;
}
/*显示下拉菜单*/
void menu show (void)
{ int i;
char*submenu word[][5]={ { "New file F4","Open file F3","OS shell F5","Quit Alt-X"},
p"Input F6","Delete F8","Update F9","query F","Sort F"}};
switch(menu x)
{ case 1:
if(menu x!=menu x old)
{ menu x old=menu x; menu window(3,2,,8); menu box(3,2,,8,3,0);}
for(i=0;i<2;i++)
{ putstr(4,3+i,0x,submenu word[0][i],);
putchar(5,3+i,*(submenu word[0][i]+1),0x); }
for(i=3;i<5;i++) putstr(4,3+i,0x7-,submenu word[0][i-1],);
putchar(6,6,*(submenu word[0][2]+2),0x);
putchar(5,7,*(submenu word[0][3]+1),0x);
window(4,2+menu y1,,2+menu y1,0x0f);
if(menu y1<=2)
putstr(4,2+menu y1,0x0f,submenu word[0][menu y1-1],);
else
putstr(4,2+menu y1,0x0f,submenu word[0][menu y1-2],); break;
case 2:menu x old=menu x; menu window(,2,,8);}
for(i=0;i<5;i++)
{ putstr(,3+i,0x,submenu word[1][i],);
putchar(,3+i,*(submenu word[1][i]+1,0x); }
window(,2+menu y3,,2+menu y3,0x0f);
putstr(,2+menu y3,0x0f,submenu word[1][menu y3-1],); break;
case 4:menu x old=menu x; }
}
/*清空键盘缓冲*/
void clr buf(void){ key buf[1]=0;}
void free data(void)
{ struct student*pa,*pb;
if(head)
{ pb=pa=head;
do{ pb=pa; pa=pb->next; free(pb);}while(pa!=0);head=0; }
}
/*姓名处理*/
int string name(void)
{ int i,j;
if(key buf[1]==0) return(0);
for(i=2,j=0;i<=key buf[1]+1;i++;j++)
student name[j]='\0'; return(1);}
/*输入数据*/
voidinput(int flag)
{ int i; char*s1="NO. Name H maths English C\\C++ ";
char*s2=" | | | | ";
char*title="INPUT"; menu window(,,,); window(,,,,0x);
putstr(,,0x,title,7); putstr(,,0x,s1,);
if(head==0)
{ head=p1=p2=(struct student*)malloc(LEN);if(!head)memory error();
p1->next=0;
else{
for(p1=head,record n=0;p1!=0;record n++)
{ p2=p1; p1=p2->next; }
p1=(struct student*)malloc(LEN);
if(!p1)memory error();
p2->next=p1; }
while(1)
{ record n++; putstr(,,0x,s2,);
if(flag==1)
{ gotoxy(,); printf("Record%d",record n); }
do{ window(,,,,0x);
if(!getstring(,,))goto out ;
}while(!getstring number());
p1->num=student number;
do{ if(!getstring(,,)) goto out;
}while(!string name());
strcpy(pi->name,student name);
for(i=1;i<=3;i++)
{ do{ window(+(i-1)*8,,0x);
if(!getstring(+(i-1)*8,,5)) gotoout;
}while(!string score());
if(i==1)p1->h maths=student score;
if(i==2)pi->english=student score;
if(i==3)p1->c=student score; }
p1->sum=0.0; p1->s num=0;
if(flag==2){ record n--;goto out;}
p2=p1;
p1=(struct student*)malloc(LEN);
if(!p1)memory error();
p1->next=0; p2->next=p1; }
out: cur hide(); window(,,,,0x1e);
if(flag==1) { if(head==p1)head=0; free(p1); p2->next=0; info(1); record n--; }
menu x yes=1; main menu 1();
}
/*查看是否有该成绩*/
struct student* search(int flag)
{ struct student8pa,*pb; if(head==0)return(0); pb=pa=head;
if(flag==1)
{ if(head->num==student number) return(head-1);
do{ if(pa->num==student number) return(pb);
pb=pa; pa=pb->next;} while(pa!=0); }
return (0);
}
/*查询,删除,管理互动节目软件源码修改对话框*/
struct student*msg box(int which)
{ int flag; int key; char*p="<-A B->"; menu window(,系统,,); gotoxy(,);
printf("Number OR Name"); window(,,,,0x); gotoxy(,);
printf(" | "); gotoxy(,);
switch(which)
{ case 1:printf("Delete");break;
case 2:printf("Update");break;
case 3:printf("Query");break; }
do{ while(!key pressed())
now time();
key=get key(); if(key==KEY A) { flag=1;break;}
if(key==KEY B) { flag=2;break;} printf("\");
}while(1);
putstr(,,0x,p,7);
if(flag==1)
{ do{
gotoxy(,); printf(" | "):
if(!getstring(,,)) goto out;
}while(!string number());
window(,,,,0x1e); return(search(1)); }
else
{ do{ gotoxy(,); printf(" | ");
if(!getstring(,,)) goto out;
}while(!string name());
window(,,,,0x1e); return(0);}
/*删除记录*/
void delete(void)
{ struct student*pa,*pb; pb=msg box(1); if(pb==0)info(3);
else
{ if(pb==(head-1))
{ pb=head; if(pb->next==0) head=0;
else head=pb->next; }
else
{ if(pb->next->next==0) { pb->next=pa; } }
record n--; info(2); }}
/*删除记录*/
void update(void)
{ int i; struct student*p; i=record n; p=msg box(2;
if(p==0)info(3);
else
{ input(2);
if(i==record n)
{ if(p==(head-1)){
head->num=p1->num; strcpy(head->name,p1->name);
head->h maths=p1->h maths; head->english=p1->english;
head->c=p1->c; free(p1); p2->next=0; }
else { p->next->num=p1->num; strcpy(p->next->name,p1->name);
p->next->h maths=p1->h maths; p->next->english=p1->english;
p->next->c=p1->c; free(p1); p2->next=0; }
info(4); }
else { record n--;p2->next=0;free(p1);info(5);} }}
/*查询成绩*/
void query(void)
{ struct student*p,*pa,*pb; int key ,flag,i,j;
char*str="NO. Name H matns English C\\C++ Sum S NO.";
char*sm="NO. Name h maths English C\\C++ (who fails)";
menu window(,,,); gotoxy(,); printf("Find Fail");
putchar(,,'A',0xe4); putchar(,,'B',0xe4);
do{ if(!key pressed()) now time();
key=get key();
if(key==KEY A){ flag=1;break;}
if(key==KEY B){ flag=2;break;}
printf("\"); }while(1);
window(,,,,0x1e); if(flag==1)
{ p=msg box(3); if(p==0) info(3);
else{ window(6,5,,,0x0e); window(5,4,,,0x5e); window(6,5,,,0x0e);
putstr(,4,0x5a,str,); gotoxy(6,6);
if(p!=(head-1)){ pa=p->next;p=pa;}
else p=head;
printf("%d%s%8.1f%9.1f%9.1f%9.1f%6d\n",\
p->num,p->name,p->h maths,p->english,p->c,p->sum,p->s sum);
}}
if(flag==2)
{ window(6,5,,,0x0e);window(5,4,,,0x5e); window(6,5,,,0x0e);
putchar(,4,0x5a,sm,); if(head)
{ pa=head; j=0;
do{ j++; i=0; window(6,5,,,0x0e); gotoxy(,);
printf("Page%d",j);
do
{ if(pa->c<||pa->h maths<||pa->english<)
{ gotoxy(6,6+i); i++;
printf("%d%s%8.1f%9.1f%9.1f%9.1f%6d\n",\
p->num,p->name,p->h maths,p->english,p->c,p->sum,p->s sum);}
pb=pa; pa=pb->next; }while(i!=&&pa!=0);
while(!key pressed()) now time();
get key(); }while(pa!=0);
goto out;}}
while(!key pressed())
now time();get key();
out:window(5,4,,,0x1e);}
/*成绩排名*/
void sort(void)
{ int i,j,n,flag; struct student*pa=0,*pb=0;
struct student*p[],*pmin;
char*str="NO. Name H maths English C\\C++ Sum S NO.";
window(6,5,,,0x0e); window(5,4,,,0x5e); window(6,5,,,0x0e);
putstr(,4,0x5a,str,); window(,,,,0x5b);
if(head!=0)
{ i=0; pb=pa=head;
do
{ p[i]=pa; i++; pa->sum=pa->h maths+pa->english+pa->c;
pb=pa; pa=pb->next; }while(pa!=0);
for(n=record n-1,i=0;i<n;i++)
{ flag=0;
for(j=0;j<n-i;j++)
if(p[j]->sum<p[j+1]->sum)
{ pmin=p[j]; p[j]=p[j+1]; p[j+1]=pmin; flag=1; }
if(flag==0)break; }
head=pb=pa=p[0]; head->s sum=1;
if(record n>1)
for(i=1;i<record n;i++) { pa->s sum=i; pb=pa; pa=pb->next=p[i];}
p2=p1=p[record n-1]; p1->s sum=record n;
p1->next=0; pb=pa=head;
j=0;
do{
j++;i=0; window(6,5,,,0x0e); gotoxy(,); printf("Page%d",j);
do
{ gotoxy(6,6+i); i++;
printf("%d%s%8.1f%9.1f%9.1f%9.1f%6d\n",\
p->num,p->name,p->h maths,p->english,p->c,p->sum,p->s sum);}
pb=pa; pa=pb->next; }while(i!=&&pa!=0);
while(!key pressed()) now time();
get key(); }while(pa!=0);
goto out;}
while(!key pressed())
now time();get key();
out:window(5,4,,,0x1e);}
/*输入文件名*/
int input filename(int m)
{ char*p; int fp; menu window(,,,);
window(,,,,0x);
gotoxy(,); printf("File name");
if(!getstring(,,)) goto no;
if(key buf[1]==0) goto no;
p=key buf+2; key buf[key buf[1]+2]='\0';
if(fp=fopen(p,"rb+"))==0)
{ if(m==2) goto no; if(fp=fopen(p,"wb+"))==0 goto no; }
fclose(fp); strcpy(filename,p);
yes: window(,,,,0x1e);
return(1);
no: window(,,,,0x1e);
return(0);
}
/*新建文件*/
void new file(void)
{ int fp;
if(input filename(1)==0) info(9;
else
{ main menu 2(); free data(); fp=fopen(filename,"wb+"); fclose(fp); info(); }
}
/*打开文件*/
void open file(void)
{ struct student*pa,*pb; int fp;
if(input filename(2)==0)info(6);
else
{ free data(); head=pb=pa=(struct student*)malloc(LEN); fp=fopen(filename,"rb+";
fread(&pa->num,LEN,1,fp);}
info(8); fclose(fp); input(1); }}
/*保存文件*/
void save fiel(void)
{ struct student8pa,*pb; int fp;
if((fp=fopen(filename,"rb+"))==0) fp=fopen(filename,"wb+");
pb=pa=head;
if(fp!=0&&head!=0)
{ do{ fwrite(&pa->num,LEN,1,fp); pb=pa; pa=pb->next;}while(pa!=0);
fclose(fp); }
info(7);
}
void about me(void)
{ int i; char*title="About Me"; char*str[]={ " I'M A BIG.BIG WORLD. "};
menu window(,5,,); putstr(,5,0x,title,);
for(i=0;i<;i++)putstr(,6+i,0x,str[i],);
while(!key pressed()) now time();
get key(); window(,5,,,0x1e);
}
system("PAUSE");
return EXIT_SUCCESS;
}
源代码安全审计工具----找八哥源代码安全测试管理系统
找八哥源代码安全测试管理系统,是源码聊天 机器人 源码思客云(北京)软件技术有限公司是基于多年源代码安全实践经验自主研发的一套领先的源代码安全漏洞检测系统。该系统拥有强大的测试直播源码云暴科技安全分析引擎,极为广泛的管理安全漏洞检测规则,以及针对我国特色的系统安全编码特征库,能够全面地对系统源代码中所存在的源码安全漏洞,性能缺陷,测试编码规范等9大类共多小类的管理问题进行综合性分析。同时“找八哥”采用先进的系统“私有云”+分布式集群的架构方式,WEB式用户界面,源码知识收费小程序源码使得系统部署极为简单、测试方便;用户操作极为灵活、管理2020crm源码下载高效。
å¦ä½ç¨ä½ä»£ç å·¥å ·å¼ååºä¸å¥å¥½ç¨ç管çç³»ç»ï¼
ä¸ãä½ä»£ç
ä½ä»£ç å®è´¨ä¸å¹¶ä¸æ¯ä¸ä¸ªæ°é¢çè¯é¢ï¼ä¹ä¸æ¯æè¿ææçææ¯çªç ´ååæ°ï¼å®åæ¯åå¨åå äºåå¹´çæ¦å¿µã
æ©æç大å管ç软件å¥ä»¶ï¼é½æ类似äºå¯ææ½å¼çå¿«éå¼åå¹³å°ï¼æ¹ä¾¿ææ¯äººåä¸ç¨å代ç ï¼å¿«éå®ææäºåºç¡åè½ã
ç®åæ¥è¯´ï¼ä½ä»£ç å¹³å°æ¯ä¸å¥éè¿ææ½é ç½®ï¼å°±è½å®ç°ä¸å¡å软件系ç»çå¼åå¹³å°ï¼å¹¶è½æ ç¼çé¨ç½²ä¸çº¿è¿è¡ãå¨è¿ä¸ªè¿ç¨ä¸ï¼å½ç¶ä¹å 许ç¼å代ç è¿è¡å¤æåºç¨çæ©å ï¼ä½æ´éè¦çæ¯ï¼å¤§éåºç¡æ§çç¼ç å·¥ä½ï¼é½å¯ä»¥è¢«ä½ä»£ç å¹³å°å¿«éçèªå¨åå®ç°ã
äºãä½ä»£ç åºæ¯ä½ä»£ç ç第ä¸ä¸ªåºç¨åºæ¯ï¼æ¯ä¸ºäºå¸®å©æçç软件产åï¼ä½ææ¬çæ¯æ个æ§åéæ±ï¼æé«å¼åé度ï¼çè³åå°æå±å®¢ç¾¤ã
ä¾å¦ï¼å¾å¤æçåä¸è½¯ä»¶ï¼å æ¬ç§æåé¨ç½²çåä¸è½¯ä»¶å¥ä»¶ä»¥åSaaSå½¢å¼ç产åï¼ï¼ææéè¿ä½ä»£ç å¹³å°ç建设ï¼å 强产åæ©å±è½åï¼æ´å¥½ãæ´å¿«çæå¡å®¢æ·ï¼ä»¥åä¸ ISVåä½ï¼å°äº§åçç®æ 客群æå±å°æ´å¹¿æ³çé¢ååè¡ä¸ã
å¨è¿ç§æ åµä¸ï¼ä½ä»£ç å¹³å°æ¯ä½ææ¬é«æ解å³ä¸ªæ§åéæ±ç»ææ¹æ¡ãæ¤æ¶ï¼ä½ä»£ç çç®æ ç¨æ·å¯è½å æ¬å·¥ç¨å¸ãå®æ½é¡¾é®ã
ä½ä»£ç 第äºä¸ªåºç¨åºæ¯ï¼æ¯ä¸ºäºå¸®å©ç²æ¹ä¼ä¸ï¼ä½ææ¬å¿«éæå»ºå ¨æ°çåºç¨ç³»ç»ï¼å°¤å ¶æ¯è®©ä¸æç¼ç¨çä¸å¡äººåä¹è½èªä¸»å®ç°ï¼ä»è让ä¼ä¸ä»¥æ´ä½çææ¬äº«åæ°ååææ¯èµè½ä¸å¡ç好å¤ã
å®é ä¸ï¼å¨ä¼ä¸ä¸å¤§éçåºç¨ç³»ç»é½æ¯æµç¨åçï¼å¯¹äºé»è¾ç¸å¯¹ç®åï¼æµç¨é¾æ¡å¹¶ä¸å¤æçä¸å¡åºæ¯ï¼æ¾å¥è£ 软件æ¯æ大æå°ç¨ï¼æ¾å¤å å¼åç¬ç«ç³»ç»ææ¬åé«ï¼é£ä¹ä½ä»£ç å¹³å°å¯è½æ¯ä¸ä¸ªä¸éçéæ©ãæ¤æ¶ï¼ä½ä»£ç å¹³å°çç®æ ç¨æ·å¯è½å æ¬ç²æ¹ä¼ä¸çä¸å¡äººåï¼æè IT人åã
å½å çJNPFå¹³å°ï¼å°±å±äºç¬¬äºä¸ªåºç¨åºæ¯ï¼å ¨è½åä½ä»£ç å¹³å°ãéè¦çæçæ¯ï¼ç®åå½å æäºåæ¥è¡¨å¹³å°ãæµç¨å¼æçååï¼ä¸ºäºè¹ç度ï¼ä¹é½ç§°èªå·±æ¯ä½ä»£ç å¹³å°ãä¸¥æ ¼æ¥è®²ï¼è¿äºååæä¾ç产åè½åï¼åªæ¯å®æä½ä»£ç å¹³å°æéå ·å¤è½åçåéï¼å¹¶ä¸è½ç®ä½ä»£ç 产åã
说äºè¿ä¹å¤æ¦å¿µï¼æ³å¿ 大家对ä½ä»£ç çå°è±¡ä¾ç¶æ¯è¾æ¨¡ç³ãæ¥ä¸æ¥ï¼æ们å±å¼è¯´è¯´ã
ä¸ãä½ä»£ç å¦ä½æ建åºç¨ï¼é¦å ï¼ç¹å»ç³»ç»ç®¡ç-ç³»ç»èåï¼æ°å»ºä½ æ³æ建çåºç¨ï¼å¦å¾æ示ï¼ã
ä½ è¿å¯ä»¥é对åºç¨å 容ï¼åæ´å¤çåç±»èåã
ã表å设计ã
æ¥çï¼æ们è¿è¡åå«å建工ä½è¡¨ï¼ä¸å¾æ示æ¯å建èªèµä¿¡æ¯ç表åç¼è¾é¡µé¢ã
å¤è¾¾ä½ç§çå¯å¤ç¨æ§ä»¶ï¼ä¸å款UIå¾è¡¨é ç½®ï¼èªç±åæ¥ã
表åä¸çç¸å ³æ§ä»¶ï¼å®ä¹äºå®ä½çå段ãä¾å¦èªèµä¿¡æ¯ä¸çâå§åIDâï¼å符串类åå段èªå¨æµ®ç°ä¸ºcomputerfieldï¼å§åï¼ãæ¤å¤ï¼æ°æ®åºè¡¨ä¹æ¯èªå¨çæçï¼å½ç¶ä½ ä¹å¯ä»¥æå¨çæææ·»å ä¿®æ¹ã
ãæ¥è¡¨è®¾è®¡ã
æ¥è¡¨å¼æå ·å¤OLAPå¤ç»´åæåè½ï¼å±æ§æ ãæ ¼å¼æ æä¾å¤æ ·å¼é ç½®ï¼éè¿ç®åçææ½ï¼å³å¯å¶ä½åºä¸ä¸ªä¸ªæ±å½¢å¾ãæ线å¾ã饼å¾çå¾è¡¨ï¼æ¶µçè¾ä¸ºå¹¿æ³çåºç¨æ æ¯ã
ãæµç¨è®¾è®¡ã
åæ¬çº¿ä¸æµç¨æ¬å°JNPFå¹³å°ä¸ï¼æ¯æå æ¬æ¡ä»¶åæ¯ãéæ©åæ¯ã并è¡åæ¯ãåæµç¨ãä¸æµç¨å¤è¡¨åãä¸è¡¨åå¤æµç¨ãå®æ¶åéãè¶ æ¶æéççåè½ï¼å¯ä»¥èªè¡ä½éªã
ã代ç çæå¨ã
åºäºä»£ç çæå¨ï¼å¨çº¿çæåå端代ç ï¼å¯ä»¥åå°å¼åè %以ä¸çå¼åä»»å¡ãé¢å¯¹ä¸å¡å¤æ度带æ¥çéæ±æ©å±ï¼å¯ä»¥è¿è¡æ·±åº¦çäºæ¬¡å¼åï¼ä½ å¯ä»¥ä¸ç¨æ å¿çæ¯JNPFå ¨æºç 交ä»ï¼æå³çæ交ååºå±é»è¾ä½ å°å¯ä»¥äºå¦ææï¼å±æ¶è¿è¡æ´å¥½çå¼åã
é¤æ¤ä¹å¤å®åçç¨æ·ãè§è²ãèåãç»ç»æºæãæ°æ®åå ¸ãå¨çº¿å®æ¶ä»»å¡çåºç¡åè½ãæéæºå¶ï¼æ¯æ访é®ææãæé®æéãæ°æ®æéã表åæéç
é¶ä»£ç å¨çº¿å¼åè½åï¼å¨çº¿é 置表åãå¨çº¿é ç½®æ¥è¡¨ãå¨çº¿é ç½®å¾è¡¨ãå¨çº¿è®¾è®¡è¡¨å
常ç¨å ±éå°è£ ï¼åç§å·¥å ·ç±» (å®æ¶ä»»å¡ï¼çä¿¡æ¥å£ï¼é®ä»¶åéï¼Excel å¯¼å ¥å¯¼åºç), åºæ¬æ»¡è¶³ % 项ç®éæ±
éæç®ææ¥è¡¨å·¥å ·ï¼å¾åæ¥è¡¨åæ°æ®å¯¼åºé常æ¹ä¾¿ï¼æ¹ä¾¿çæå¾å½¢æ¥è¡¨ãpdfãexcelãword çæ¥è¡¨ï¼
ååå离ææ¯ï¼é¡µé¢ UI ç²¾ç¾ï¼é对常ç¨ç»ä»¶åäºå°è£ ï¼æ¶é´ãè¡è¡¨æ ¼æ§ä»¶ãæªåæ¾ç¤ºæ§ä»¶ãæ¥è¡¨ç»ä»¶ï¼ç¼è¾å¨çç