当前位置: 首页 > news >正文

c语言学生成绩管理系统总结

c语言的大作业,主要功能是录入、修改、删除、插入、排序等,可能有些地方仍然有点bug。

一、系统功能
1.基本功能

1.录入信息
2.按照学号查找信息
3.按照学号修改信息
4.按照学号删除信息
5.插入信息
6.浏览全部信息
7.按c语言成绩排序
8.保存到文件

2.结构体
只写了几个基础的,学号刚开始写的int型的,但后来不知道怎么去查重等,改成了char型。

typedef struct student
{char num[20];     //学号char name[10];    //姓名char sex[10];     //性别char duty[10];    //专业int eng;          //英语成绩int math;         //数学成绩int c;            //c语言成绩struct student *next;next是指针变量,指向结构体变量 
}stu;

3.main函数

int main()
{system("color 3F");//背景颜色stu *head=(stu *)malloc(sizeof(stu));head->next=NULL;//使head中的next部分为空while(1){printf("\t\t\t\t**********新生管理系统************\n");printf("\t\t\t\t请选择你的操作\n");printf("\t\t\t\t1.录入信息\n");printf("\t\t\t\t2.按照学号查找信息\n");printf("\t\t\t\t3.按照学号修改信息\n");printf("\t\t\t\t4.按照学号删除信息\n");printf("\t\t\t\t5.插入信息\n");printf("\t\t\t\t6.浏览全部信息\n");printf("\t\t\t\t7.按c语言成绩排序\n");printf("\t\t\t\t8.保存到文件\n");printf("\t\t\t\t0.退出\n");printf("\t\t\t\t**********************************\n");printf("\t\t\t\t请按键选择操作:\n");fflush(stdin);//清除多余的未被保存的数据,防止乱码int c;scanf("%d",&c);switch(c)//用switch语句进行选择和调用函数{case 1:input(head);break;case 2:seek(head);break; case 3:revise(head);break;case 4:del(head);break; case 5:add(head); break;case 6:traver(head);break; case 7:sort(head); break;case 8:save(head);break;case 0:return 0; default:printf("输入错误!\n"); }} 
} 

while循环在外,系统程序能够持续运行,switch判断语句进行功能选择与函数切换。

color[attr]
attr        指定控制台输出的颜色属性。
颜色属性由两个十六进制数字指定
第一个对应于背景,第二个对应于前景:0 = 黑色              8 = 灰色1 = 蓝色              9 = 淡蓝色2 = 绿色              A = 淡绿色3 = 浅绿色            B = 淡浅绿色4 = 红色              C = 淡红色5 = 紫色              D = 淡紫色6 = 黄色              E = 淡黄色7 = 白色              F = 亮白色

二、录入学生信息
在第一次验课设的时候,只简单地写了录入,没有写查重以及格式等的限制。在最后一次验的时候,学号查重依然有问题,遍历时应注意不能直接动头指针p,使q2=p,用q2实现遍历。

void input(stu *p)//录入 
{int n,x;system("cls");   //清屏函数stu *q1,*q2;     //定义该结构体类型q1,q2指针q1=p;printf("请输入要录入的学生人数:");scanf("%d",&n); while(n--)  //while循环n次,n个要录入的学生{stu *q=(stu *)malloc(sizeof(stu)); //给q分配内存int i=1; //定义i循环三次使学号只能输入数字int flag=1,flag1=1,flag2=1,flag3=1,flag4=1; loop1:while(flag){printf("请输入学号(三位):");scanf("%s",q->num);if(strlen(q->num)!=3)//用strlen函数计算字符串长度使学号为三位数{printf("学号格式输入错误!\n");fflush(stdin);//清除多余的未被保存的数据,防止乱码continue;}q2=p; //头指针赋给q2while(q2){if(strcmp(q->num,q2->num)==0)//用strcmp函数,q2遍历查重{printf("输入的学号重复,请重新输入!\n");goto loop1;//重复重新跳到上一个while循环}q2=q2->next;}while(i<3){if(q->num[i]-'0'<0 || q->num[i]-'0'>9)//让学号只能输入数字{printf("学号格式输入错误!\n"); break;}else{i++;if (i==3)flag=0;}}}printf("请输入学生姓名:");scanf("%s",q->name);while(flag1){	printf("请输入性别(w/m):");scanf("%s",q->sex);if(strcmp(q->sex,"w")==0)//用strcmp函数限制输入的字符,只能输入w/mflag1=0;//跳出循环else if(strcmp(q->sex,"m")==0)flag1=0;//跳出循环else{printf("性别格式输入错误!(请输入w/m)\n");}}printf("请输入专业:");scanf("%s",q->duty);while (flag2){printf("请输入英语成绩(0<=eng<=150):");x=scanf("%d",&q->eng); //如果输入数字x=1if(q->eng >= 0 && q->eng <= 150 && x==1 )//限制成绩范围flag2=0;//跳出循环else{printf("成绩格式输入错误!\n");fflush(stdin);//清理未被保存的数据}}while(flag3){printf("请输入数学成绩(0<=math<=150):");x=scanf("%d",&q->math);if(q->math>=0 && q->math<=150 && x==1)flag3=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag3=1;}} while(flag4){printf("请输入c语言成绩(0<=c<=150):");x=scanf("%d",&q->c);if(q->c>=0 && q->c<=150 && x==1)flag4=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag4=1;}}printf("录入成功!\n"); q->next=NULL; //使q中的next定义为空q1->next=q;q1=q;}
}

三、查找学生信息

void seek(stu *p)//查找 
{stu *q=p->next; char num[20];int flag = 0;system("cls"); 	//清屏函数printf("请输入查找学生的学号:");scanf("%s",num);while(q!=NULL){ if(strcmp(q->num,num) == 0)//strcmp函数查找学生学号{printf("学生学号:%s\n",q->num);printf("学生姓名:%s\n",q->name);printf("学生性别:%s\n",q->sex);printf("专业:%s\n",q->duty);printf("英语成绩:%d\n",q->eng);printf("数学成绩:%d\n",q->math);printf("c语言成绩:%d\n",q->c);flag = 1;break;}q=q->next;//遍历}if(flag == 0){printf("查无此人\n");}
}

四、按照学号修改学生信息
在录入函数源代码的基础上写了修改功能。

void revise(stu *p)//修改
{stu *q=p->next;stu *q1,*q2; int x;char num[200];system("cls"); 	printf("请输入要修改的学号:");scanf("%s",num);while(q!=NULL){if(strcmp(q->num,num) == 0){int i=1;int flag=1,flag1=1,flag2=1,flag3=1,flag4=1;loop1:while(flag){printf("请输入学号(三位):");scanf("%s",q->num);if(strlen(q->num)!=3){printf("学号格式输入错误!\n");fflush(stdin);continue;}q2=p;while(q2){if(strcmp(q->num,q2->num)==0){printf("输入的学号重复,请重新输入!\n");goto loop1;}else{break;}q2=q2->next; }while(i<3){if(q->num[i]-'0'<0 || q->num[i]-'0'>9){printf("学号格式输入错误!\n"); break;}else{i++;if (i==3)flag=0;}}}printf("请输入学生姓名:");scanf("%s",q->name);while(flag1){	printf("请输入性别(w/m):");scanf("%s",q->sex);if(strcmp(q->sex,"w")==0)flag1=0;else if(strcmp(q->sex,"m")==0)flag1=0;else{printf("性别格式输入错误!(请输入w/m)\n");}}printf("请输入专业:");scanf("%s",q->duty);while (flag2){printf("请输入英语成绩(0<=eng<=150):");x=scanf("%d",&q->eng);if(q->eng >= 0 && q->eng <= 150 && x==1 )flag2=0;else{printf("成绩格式输入错误!\n");fflush(stdin);}}while(flag3){printf("请输入数学成绩(0<=math<=150):");x=scanf("%d",&q->math);if(q->math>=0 && q->math<=150 && x==1)flag3=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag3=1;}} while(flag4){printf("请输入c语言成绩(0<=c<=150):");x=scanf("%d",&q->c);if(q->c>=0 && q->c<=150 && x==1)flag4=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag4=1;}}printf("修改成功!\n");return; }q=q->next;q2->next=q;q2=q;} printf("查无此人");
}

五、按照学号删除信息
注意while(!strcmp(q2->num,num)),刚开始写时while(strcmp(q2->num,num))一直删除不成功,当q2->num和num相等时为0,while循环无法进行。

void del(stu *p)//删除
{stu *q1,*q2;//定义该结构体类型q1,q2指针q1=p; //q1头结点,p头指针q2=q1->next;char num[200];system("cls"); 	printf("请输入想要删除的学号:");scanf("%s",num);while(q2!=0){while(!strcmp(q2->num,num)){q1->next=q2->next;free(q2);//释放q2q2=NULL;printf("删除成功\n");return;}q1=q2;q2=q2->next;}} 

六、插入信息(头插法)
插入部分也是结合的头插法和录入函数

void add(stu *p) //插入 
{int n,x;int i=1;int flag=1,flag1=1,flag2=1,flag3=1,flag4=1;stu *q,*q1,*q2;//不用像尾插法一样生成一个终端结点q=(stu*)malloc(sizeof(stu));//给q分配内存q1=(stu*)malloc(sizeof(stu));//给q1分配内存q = p;//q为头结点if(q1==NULL){printf("插入失败\n");exit(1);}for(int a=0;a<n;a++);{loop1:while(flag){printf("请输入学号(三位):");scanf("%s",q1->num);if(strlen(q1->num)!=3){printf("学号格式输入错误!\n");fflush(stdin);continue;}q2=p;while(q2){if(strcmp(q1->num,q2->num)==0){printf("输入的学号重复,请重新输入!\n");goto loop1;}q2=q2->next;}while(i<3){if(q1->num[i]-'0'<0 || q1->num[i]-'0'>9){printf("学号格式输入错误!\n"); break;}else{i++;if (i==3)flag=0;}}}printf("请输入学生姓名:");scanf("%s",q1->name);while(flag1){	printf("请输入性别(w/m):");scanf("%s",q1->sex);if(strcmp(q1->sex,"w")==0)flag1=0;else if(strcmp(q1->sex,"m")==0)flag1=0;else{printf("性别格式输入错误!(请输入w/m)\n");}}printf("请输入专业:");scanf("%s",q1->duty);while (flag2){printf("请输入英语成绩(0<=eng<=150):");x=scanf("%d",&q1->eng);if(q1->eng >= 0 && q1->eng <= 150 &&x==1 )flag2=0;else{printf("成绩格式输入错误!\n");fflush(stdin);}}while(flag3){printf("请输入数学成绩(0<=math<=150):");x=scanf("%d",&q1->math);if(q1->math>=0 && q1->math<=150 && x==1)flag3=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag3=1;}} while(flag4){printf("请输入c语言成绩(0<=c<=150):");x=scanf("%d",&q1->c);if(q1->c>=0 && q1->c<=150 && x==1)flag4=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag4=1;}}q1->next=p->next;将p指向的地址赋值给q1;p->next=q1;头指针的指针域next指向q1节点,使得q1成为开始节点q1=q1->next;printf("插入成功!\n");
}
} 

在这里插入图片描述

七、浏览全部信息

void traver(stu *p) //遍历输出
{	stu *q = p->next ;//使p的next给qsystem("cls"); 	//清屏while(q!=NULL){printf("学号:%s\n姓名:%s\n性别:%s\n专业:%s\n英语成绩:%d\n数学成绩:%d\nc语言成绩:%d\n",q->num,q->name,q->sex,q->duty,q->eng,q->math,q->c);q=q->next;}
}

八、按c语言成绩排序(降序)

void sort(stu *p)//排序 (c语言成绩) {							stu *q=NULL;system("cls"); 							while(q!=p->next) //q不等于头指针是一次循环{stu *pre=p;stu *cur=pre->next;while(cur!=q&&cur->next !=q) {if(cur->c<cur->next->c ){pre->next =cur->next;cur->next =cur->next->next;pre->next->next =cur;}pre=pre->next;cur=pre->next;}q=cur;}traver(p);//调用traver函数输出结果
}

九、保存文件

void save(stu *p)//文件 
{FILE*fp = fopen("学生信息.txt","w");//创建文件指针if(fp!=NULL){while(p->next!=NULL){  fprintf(fp,"学号:%s\n",p->next->num);fprintf(fp,"姓名:%s\n",p->next->name);fprintf(fp,"性别:%s\n",p->next->sex);fprintf(fp,"专业:%s\n",p->next->duty);fprintf(fp,"英语成绩:%d\n",p->next->eng);fprintf(fp,"数学成绩:%d\n",p->next->math);fprintf(fp,"c语言成绩:%d\n",p->next->c);fprintf(fp,"---------------------------\n");p=p->next;}printf("保存成功!\n");}fclose(fp);
}

全部代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{char num[20];char name[10];char sex[10];char duty[10];int eng;int math;int c; struct student *next;
}stu;void input(stu *p)//录入 
{int n,x;system("cls");stu *q1,*q2;q1=p;printf("请输入要录入的学生人数:");scanf("%d",&n); while(n--){stu *q=(stu *)malloc(sizeof(stu));int i=1;int flag=1,flag1=1,flag2=1,flag3=1,flag4=1;loop1:while(flag){printf("请输入学号(三位):");scanf("%s",q->num);if(strlen(q->num)!=3){printf("学号格式输入错误!\n");fflush(stdin);continue;}q2=p;while(q2){if(strcmp(q->num,q2->num)==0){printf("输入的学号重复,请重新输入!\n");goto loop1;}q2=q2->next;}while(i<3){if(q->num[i]-'0'<0 || q->num[i]-'0'>9){printf("学号格式输入错误!\n"); break;}else{i++;if (i==3)flag=0;}}}printf("请输入学生姓名:");scanf("%s",q->name);while(flag1){	printf("请输入性别(w/m):");scanf("%s",q->sex);if(strcmp(q->sex,"w")==0)flag1=0;else if(strcmp(q->sex,"m")==0)flag1=0;else{printf("性别格式输入错误!(请输入w/m)\n");}}printf("请输入专业:");scanf("%s",q->duty);while (flag2){printf("请输入英语成绩(0<=eng<=150):");x=scanf("%d",&q->eng);if(q->eng >= 0 && q->eng <= 150 && x==1 )flag2=0;else{printf("成绩格式输入错误!\n");fflush(stdin);}}while(flag3){printf("请输入数学成绩(0<=math<=150):");x=scanf("%d",&q->math);if(q->math>=0 && q->math<=150 && x==1)flag3=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag3=1;}} while(flag4){printf("请输入c语言成绩(0<=c<=150):");x=scanf("%d",&q->c);if(q->c>=0 && q->c<=150 && x==1)flag4=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag4=1;}}printf("录入成功!\n"); q->next=NULL;q1->next=q;q1=q;}
}void traver(stu *p) //遍历输出
{	stu *q = p->next ;system("cls"); 	while(q!=NULL){printf("学号:%s\n姓名:%s\n性别:%s\n专业:%s\n英语成绩:%d\n数学成绩:%d\nc语言成绩:%d\n",q->num,q->name,q->sex,q->duty,q->eng,q->math,q->c);q=q->next;}
}void add(stu *p) //插入 
{int n,x;int i=1;int flag=1,flag1=1,flag2=1,flag3=1,flag4=1;stu *q,*q1,*q2;q=(stu*)malloc(sizeof(stu));q1=(stu*)malloc(sizeof(stu));q = p;if(q1==NULL){printf("插入失败\n");exit(1);}for(int a=0;a<n;a++);{loop1:while(flag){printf("请输入学号(三位):");scanf("%s",q1->num);if(strlen(q1->num)!=3){printf("学号格式输入错误!\n");fflush(stdin);continue;}q2=p;while(q2){if(strcmp(q1->num,q2->num)==0){printf("输入的学号重复,请重新输入!\n");goto loop1;}q2=q2->next;}while(i<3){if(q1->num[i]-'0'<0 || q1->num[i]-'0'>9){printf("学号格式输入错误!\n"); break;}else{i++;if (i==3)flag=0;}}}printf("请输入学生姓名:");scanf("%s",q1->name);while(flag1){	printf("请输入性别(w/m):");scanf("%s",q1->sex);if(strcmp(q1->sex,"w")==0)flag1=0;else if(strcmp(q1->sex,"m")==0)flag1=0;else{printf("性别格式输入错误!(请输入w/m)\n");}}printf("请输入专业:");scanf("%s",q1->duty);while (flag2){printf("请输入英语成绩(0<=eng<=150):");x=scanf("%d",&q1->eng);if(q1->eng >= 0 && q1->eng <= 150 &&x==1 )flag2=0;else{printf("成绩格式输入错误!\n");fflush(stdin);}}while(flag3){printf("请输入数学成绩(0<=math<=150):");x=scanf("%d",&q1->math);if(q1->math>=0 && q1->math<=150 && x==1)flag3=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag3=1;}} while(flag4){printf("请输入c语言成绩(0<=c<=150):");x=scanf("%d",&q1->c);if(q1->c>=0 && q1->c<=150 && x==1)flag4=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag4=1;}}q1->next=p->next;p->next=q1;q1=q1->next;printf("插入成功!\n");
}
} void seek(stu *p)//查找 
{stu *q=p->next;char num[20];int flag = 0;system("cls"); 	printf("请输入查找学生的学号:");scanf("%s",num);while(q!=NULL){ if(strcmp(q->num,num) == 0){printf("学生学号:%s\n",q->num);printf("学生姓名:%s\n",q->name);printf("学生性别:%s\n",q->sex);printf("专业:%s\n",q->duty);printf("英语成绩:%d\n",q->eng);printf("数学成绩:%d\n",q->math);printf("c语言成绩:%d\n",q->c);flag = 1;break;}q=q->next;}if(flag == 0){printf("查无此人\n");}
}void revise(stu *p)//修改
{stu *q=p->next;stu *q1,*q2; int x;char num[200];system("cls"); 	printf("请输入要修改的学号:");scanf("%s",num);while(q!=NULL){if(strcmp(q->num,num) == 0){int i=1;int flag=1,flag1=1,flag2=1,flag3=1,flag4=1;loop1:while(flag){printf("请输入学号(三位):");scanf("%s",q->num);if(strlen(q->num)!=3){printf("学号格式输入错误!\n");fflush(stdin);continue;}q2=p;while(q2){if(strcmp(q->num,q2->num)==0){printf("输入的学号重复,请重新输入!\n");goto loop1;}else{break;}q2=q2->next; }while(i<3){if(q->num[i]-'0'<0 || q->num[i]-'0'>9){printf("学号格式输入错误!\n"); break;}else{i++;if (i==3)flag=0;}}}printf("请输入学生姓名:");scanf("%s",q->name);while(flag1){	printf("请输入性别(w/m):");scanf("%s",q->sex);if(strcmp(q->sex,"w")==0)flag1=0;else if(strcmp(q->sex,"m")==0)flag1=0;else{printf("性别格式输入错误!(请输入w/m)\n");}}printf("请输入专业:");scanf("%s",q->duty);while (flag2){printf("请输入英语成绩(0<=eng<=150):");x=scanf("%d",&q->eng);if(q->eng >= 0 && q->eng <= 150 && x==1 )flag2=0;else{printf("成绩格式输入错误!\n");fflush(stdin);}}while(flag3){printf("请输入数学成绩(0<=math<=150):");x=scanf("%d",&q->math);if(q->math>=0 && q->math<=150 && x==1)flag3=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag3=1;}} while(flag4){printf("请输入c语言成绩(0<=c<=150):");x=scanf("%d",&q->c);if(q->c>=0 && q->c<=150 && x==1)flag4=0;else{printf("成绩格式输入错误!\n");fflush(stdin);flag4=1;}}printf("修改成功!\n");return; }q=q->next;q2->next=q;q2=q;} printf("查无此人");
}void del(stu *p)//删除
{stu *q1,*q2;q1=p;q2=q1->next;char num[200];system("cls"); 	printf("请输入想要删除的学号:");scanf("%s",num);while(q2!=0){while(!strcmp(q2->num,num)){q1->next=q2->next;free(q2);q2=NULL;printf("删除成功\n");return;}q1=q2;q2=q2->next;}} void sort(stu *p)//排序 (c语言成绩) {							stu *q=NULL;system("cls"); 							while(q!=p->next) {stu *pre=p;stu *cur=pre->next;while(cur!=q&&cur->next !=q) {if(cur->c<cur->next->c ){pre->next =cur->next;cur->next =cur->next->next;pre->next->next =cur;}pre=pre->next;cur=pre->next;}q=cur;}traver(p);
}void save(stu *p)//文件 
{FILE*fp = fopen("学生信息.txt","w");if(fp!=NULL){while(p->next!=NULL){  fprintf(fp,"学号:%s\n",p->next->num);fprintf(fp,"姓名:%s\n",p->next->name);fprintf(fp,"性别:%s\n",p->next->sex);fprintf(fp,"专业:%s\n",p->next->duty);fprintf(fp,"英语成绩:%d\n",p->next->eng);fprintf(fp,"数学成绩:%d\n",p->next->math);fprintf(fp,"c语言成绩:%d\n",p->next->c);fprintf(fp,"---------------------------\n");p=p->next;}printf("保存成功!\n");}fclose(fp);
}int main()
{system("color 3F");stu *head=(stu *)malloc(sizeof(stu));head->next=NULL;while(1){printf("\t\t\t\t**********新生管理系统************\n");printf("\t\t\t\t请选择你的操作\n");printf("\t\t\t\t1.录入信息\n");printf("\t\t\t\t2.按照学号查找信息\n");printf("\t\t\t\t3.按照学号修改信息\n");printf("\t\t\t\t4.按照学号删除信息\n");printf("\t\t\t\t5.插入信息\n");printf("\t\t\t\t6.浏览全部信息\n");printf("\t\t\t\t7.按c语言成绩排序\n");printf("\t\t\t\t8.保存到文件\n");printf("\t\t\t\t0.退出\n");printf("\t\t\t\t**********************************\n");printf("\t\t\t\t请按键选择操作:\n");fflush(stdin);int c;scanf("%d",&c);switch(c){case 1:input(head);break;case 2:seek(head);break; case 3:revise(head);break;case 4:del(head);break; case 5:add(head); break;case 6:traver(head);break; case 7:sort(head); break;case 8:save(head);break;case 0:return 0; default:printf("输入错误!\n"); }} 
} 

http://www.taodudu.cc/news/show-1944750.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • c语言课程设计学生成绩管理系统作业,C语言学生成绩管理系统课程设计word版
  • 学生成绩管理系统简单c语言源代码,c语言学生成绩管理系统源代码
  • c语言编写成绩管理系统代码,C语言学生成绩管理系统源代码
  • 基于c语言的学生成绩管理系统论文,C语言学生成绩管理系统论文
  • C语言实现学生成绩管理系统
  • c语言 学生成绩管理系统
  • C语言学生成绩管理系统(综合项目)
  • 学生成绩管理系统(C语言)
  • 在线反编译
  • swf反编译及修改
  • swf反编译为as
  • 如何防止SWF文件被反编译 如何防止SWF文件被反编译(2)
  • swf文件的反编译或着flash文件的反编译
  • swc反编译工具_ffdec 10.0|ffdec(flash反编译工具)下载v10.0.0官方最新版 - 欧普软件下载...
  • swc反编译工具_Flash反编译工具下载_Flash反编译工具(JPEXS Free Flash Decompiler)v11.3中文版-这家软件站...
  • swc反编译工具_JPEXS Free Flash Decompiler(Flash反编译工具)v11.3.0 中文免费版-ucbug软件站...
  • flash 反编译资料
  • Sothink SWF Decompiler 反编译swf
  • 如何防止SWF文件被反编译
  • SWF反编译工具
  • 使用swix反编译swf文件修改版权
  • 反编译swf工具
  • SWF文件反编译调试记录
  • 反编译swf
  • SWF 学习笔记 ——《如何在内存中提取出加密的SWF》
  • swf文件的反编译入门
  • 用JPEXS软件实现swf反编译-逆向调试方法
  • 把swf反编译成fla的几种方法
  • cognos oracle sql,Cognos联接Oracle数据库
  • cognos宏函数的使用prompt