一个自动管理学生信息的控制台应用程序(C语言)Label:Water

//学生统计 Ver 6.0
//2018年11月25日
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>
#define MAXN_stu 35
#define MAXN_cl 7
#define MAXN_name 20
#define MAXN_lv 6
int N_cl, N_stu;
int sum[MAXN_cl];
double aver[MAXN_cl];
int lv[MAXN_cl][MAXN_lv];
double percent_lv[MAXN_cl][MAXN_lv];
struct cc {//定义结构体
int sum;
int num, cl[MAXN_cl];
char name[MAXN_name];
double aver;
}nd[MAXN_stu];
void hp(){//帮助信息打印
//输出提示信息
puts("1.Input record");
puts("2.Calculate tatal and average score of every course");
puts("3.Calculate tatal and average score of every student");
puts("4.Sort in descending order by total score of every student");
puts("5.Sort in ascending order by total score of every student");
puts("6.Sort in ascending order by number");
puts("7.Sort in ascending order by name");
puts("8.Search by number");
puts("9.Search by name");
puts("10.Statistic analysis for every course");
puts("11.List record");
puts("12.Write to a file");
puts("13.Read from a flie");
puts("14.Random data generation");
puts("0.Exit");
puts("Please enter you choice:");
}
void logo_lrb(){//LOGO打印
puts(" |##########@! |##%. ;##@: :@#@: '&##; `");
puts(" ;###%;;;;|@####; ;##@: `$##| .%##%. `");
puts(" '&##| ;###! '&##! |##$` !##&' `");
puts(" |##&' .%##$` `%#######$` .|######$:|##%. ;##@' :@##: %##%. !##%`;@#####! ;@#####| ;##@: '&##;`$##&` '@##;'&######! `");
puts(" ;###; :@##$. `$##$` `&##% :@##@;. .!####@' '&##! `$##| ;##@' :@###@!``|####@@!``!###@' `$##! |##&&#%;:. .%####%' '&###| `");
puts(" '&############$` '&##! |##&' !###! .%##%. |##$` '&##! .%##@' `$##@: .%##$. |##$. ;###$` !###! '@##| `");
puts(" .%###&$&###&' .;&########$. |##&` .%##%. ;##&' ;##@: .%##%. !##&' ;##@' ;##@: ;##@: '&##| :@##; !###: `");
puts(" ;###; ;###! !###%` ;##@: ;###; ;##&' '&##; `$##! !##&' :@##; '&##! `$##! '&##! |##%. .$##| '&##| `");
puts(" '&##| .%##@: .%##$` :@##! .%##$` !###; .%##%. |##&' !###; .$##| .%##%. |##$. |##%. ;##@' !###; '&##| `");
puts(" .%##$` ;###%. ;###| `$###%. .%###! !@###%. !##&' `$###; !@###%. !##$` !##&' ;##@: ;##@' '&##! :@###$` '$##@: `");
puts(" !##@: .%###! '&######!!##@' '&######@;!##&' '@##; |######@:;@#&' :@##; '&##; '&##! '&##! .%##%. `$##!;@######&' `");
puts("\n ---------------------------------------------------------------------------------------------------------------------------------------------------------------");
}
void gesture0(){//系统基本界面
system("cls");
logo_lrb();
puts("Welcome to Student Information Management System.");
hp();
}
void id_identify(){//身份认证
char ch;
char a[10]={"password"};
char b[10];
system("mode con: cols=180");
puts("Welcome to Student Information Management System.");
puts("ID:admin");
printf("Password:");
while(1){
scanf("%s",b);
if(strcmp(a,b)==0){
break;
}
else{
puts("Wrong Password.Continue?(y/n)");
scanf(" %c",&ch);
if(ch=='y') continue;
else exit(0);
}
}
gesture0();
}
void init_() {//对数据进行录入
int i, j;
memset(sum, 0, sizeof(sum));//对sum数组进行初始化操作
memset(aver, 0.0, sizeof(aver));//对aver数组进行初始化操作
memset(lv, 0, sizeof(lv));//对sum数组进行初始化操作
scanf("%d%d", &N_cl, &N_stu);
for (i = 1; i <= N_stu; i++) {//数据输入
scanf("%d%s", &nd[i].num, &nd[i].name);
for (j = 1; j <= N_cl; j++) {
scanf("%d", &nd[i].cl[j]);
}
}
}
void GDATA(){//随机数据生成
int i, j;
printf("Please input the num of class and student:");
memset(sum, 0, sizeof(sum));//对sum数组进行初始化操作
memset(aver, 0.0, sizeof(aver));//对aver数组进行初始化操作
memset(lv, 0, sizeof(lv));//对sum数组进行初始化操作
srand(time(NULL));
scanf("%d%d", &N_cl, &N_stu);
for (i = 1; i <= N_stu; i++) {//数据输入
nd[i].num=19000+rand()%(100);
for(j=0;j<=5;j++)nd[i].name[j]=rand()%26+'A';
for (j = 1; j <= N_cl; j++) {
nd[i].cl[j]=rand()%101;
}
}
}
void cal() {//计算汇总
int i, j;
for (i = 1; i <= N_stu; i++) nd[i].sum = 0;
for (i = 1; i <= N_stu; i++) {//计算每个学生的总分和平均分
for (j = 1; j <= N_cl; j++) {
nd[i].sum += nd[i].cl[j];//计算每个学生的总分
}
nd[i].aver = (double)nd[i].sum / (double)N_cl;//计算每个学生的平均分
}
for (i = 1; i <= N_cl; i++) {//计算每门课程的总分和平均分
for (j = 1; j <= N_stu; j++) {//计算每门课程的总分
sum[i] += nd[j].sum;
}
aver[i] = (double)sum[i] / (double)N_cl;//计算每门课程的平均分
}
}
void lv_() {//计算各个分数段的学生
int i, j;
printf("class\t\t优秀(90-100)\t良好(80-89)\t中等(70-79)\t及格(60-69)\t不及格(0-59)\n");
for (i = 1; i <= N_cl; i++) {
for (j = 1; j <= N_stu; j++) {//对每个分数段的人员数量进行统计
if (nd[j].cl[i] >= 90) lv[i][1]++;//90+
else if (nd[j].cl[i] >= 80) lv[i][2]++;//80-89
else if (nd[j].cl[i] >= 70) lv[i][3]++;//70-79
else if (nd[j].cl[i] >= 60) lv[i][4]++;//60-69
else lv[i][5]++;//0-59
}
for (j = 1; j <= 5; j++) {//对每个分数段的人员比例进行统计
percent_lv[i][j] = (double)lv[i][j] / (double)N_stu;
}
printf("class%d", i);
for (j = 1; j <= 5; j++) {//对每个分数段的人员数量进行输出
printf("\t\t%d(%.2llf)", lv[i][j], percent_lv[i][j]);
}
puts("");
}
}
void sort_sum_down() {//冒泡排序按照降序对数据总分进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
if (nd[j].sum < nd[j + 1].sum) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void sort_sum_up() {//冒泡排序按照升序对数据总分进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
if (nd[j].sum > nd[j + 1].sum) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void sort_num() {//冒泡排序按照升序对数据学号进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
if (nd[j].num > nd[j + 1].num) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void sort_name() {//冒泡排序按照升序对数据姓名进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
// printf("%d\n",strcmp(nd[j].name, nd[j+1].name));
if (strcmp(nd[j].name, nd[j + 1].name) > 0) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void qry_num() {//按照学号查询学生排名以及其考试成绩
int i, j, tmp_num;
scanf("%d", &tmp_num);
printf("rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
printf("\tclass%d", j);
}
printf("\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
if (tmp_num == nd[i].num) {
printf("%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
printf("\t%d", nd[i].cl[j]);
}
printf("\t%d\t%.2llf", nd[i].sum, nd[i].aver);
puts("");
}
}
}
void qry_name() {//按照姓名查询学生排名以及其考试成绩
int i, j;
char tmp_name[MAXN_name];
scanf("%s", tmp_name);
printf("rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
printf("\tclass%d", j);
}
printf("\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
if (strcmp(nd[i].name, tmp_name) == 0) {
printf("%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
printf("\t%d", nd[i].cl[j]);
}
printf("\t%d\t%.2llf", nd[i].sum, nd[i].aver);
puts("");
}
}
}
void prt_all() {//打印所有学生成绩
int i, j;
printf("rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
printf("\tclass%d", j);
}
printf("\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
printf("%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
printf("\t%d", nd[i].cl[j]);
}
printf("\t%d\t%.2llf", nd[i].sum, nd[i].aver);
puts("");
}
}
void fprt_() {//读取文件并输出
char ch;
FILE *fp = NULL;
if ((fp = fopen("stu.txt", "r")) == NULL) {
printf("Failure ro open stu.txt!\n");
exit(0);
}
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
fclose(fp);
}
void fout_() {//输出到文件
FILE *fp = NULL;
if ((fp = fopen("stu.txt", "w")) == NULL) {
printf("Failure ro open stu.txt!\n");
exit(0);
}
int i, j;
fprintf(fp, "rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
fprintf(fp, "\tclass%d", j);
}
fprintf(fp, "\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
fprintf(fp, "%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
fprintf(fp, "\t%d", nd[i].cl[j]);
}
fprintf(fp, "\t%d\t%.2llf\n", nd[i].sum, nd[i].aver);
}
fclose(fp);
}
void swt(){
int op;
while (1) {
scanf("%d", &op);
if (op==0) break;
else if(op>14||op<0) gesture0();
else switch (op) {
case 1:
init_();//数据输入
break;
case 2:
cal();//计算一体化
break;
case 3:
cal();//计算一体化
break;
case 4:
sort_sum_down();//按照总分降序排序
prt_all();
break;
case 5:
sort_sum_up();//按照总分升序排序
prt_all();
break;
case 6:
sort_num();//按照学号排序
prt_all();
break;
case 7:
sort_name();//按照字典序排序
prt_all();
break;
case 8:
qry_num();//按照学号查找
break;
case 9:
qry_name();//按照姓名查找
break;
case 10:
lv_();//数据分组
break;
case 11:
prt_all();//打印所有数据
break;
case 12:
fout_();//写入到文件stu.txt
break;
case 13:
fprt_();//从文件读取并显示到屏幕上
break;
case 14:
GDATA();//数据生成
break;
default:
gesture0();//系统基本界面
break;
}
}
}
int main() {
id_identify();//身份认证,默认密码password
swt();//操作符选择
return 0;
}
固定图形界面

//学生统计 Ver 6.0.1
//1182100222 林若彬 实验大作业
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>
#define MAXN_stu 35
#define MAXN_cl 7
#define MAXN_name 20
#define MAXN_lv 6
int N_cl, N_stu;
int sum[MAXN_cl];
double aver[MAXN_cl];
int lv[MAXN_cl][MAXN_lv];
double percent_lv[MAXN_cl][MAXN_lv];
struct cc {//定义结构体
int sum;
int num, cl[MAXN_cl];
char name[MAXN_name];
double aver;
}nd[MAXN_stu];
void hp(){//帮助信息打印
//输出提示信息
puts("1.Input record");
puts("2.Calculate tatal and average score of every course");
puts("3.Calculate tatal and average score of every student");
puts("4.Sort in descending order by total score of every student");
puts("5.Sort in ascending order by total score of every student");
puts("6.Sort in ascending order by number");
puts("7.Sort in ascending order by name");
puts("8.Search by number");
puts("9.Search by name");
puts("10.Statistic analysis for every course");
puts("11.List record");
puts("12.Write to a file");
puts("13.Read from a flie");
puts("14.Random data generation");
puts("0.Exit");
puts("Please enter you choice:");
}
void logo_lrb(){//LOGO打印
puts(" |##########@! |##%. ;##@: :@#@: '&##; `");
puts(" ;###%;;;;|@####; ;##@: `$##| .%##%. `");
puts(" '&##| ;###! '&##! |##$` !##&' `");
puts(" |##&' .%##$` `%#######$` .|######$:|##%. ;##@' :@##: %##%. !##%`;@#####! ;@#####| ;##@: '&##;`$##&` '@##;'&######! `");
puts(" ;###; :@##$. `$##$` `&##% :@##@;. .!####@' '&##! `$##| ;##@' :@###@!``|####@@!``!###@' `$##! |##&&#%;:. .%####%' '&###| `");
puts(" '&############$` '&##! |##&' !###! .%##%. |##$` '&##! .%##@' `$##@: .%##$. |##$. ;###$` !###! '@##| `");
puts(" .%###&$&###&' .;&########$. |##&` .%##%. ;##&' ;##@: .%##%. !##&' ;##@' ;##@: ;##@: '&##| :@##; !###: `");
puts(" ;###; ;###! !###%` ;##@: ;###; ;##&' '&##; `$##! !##&' :@##; '&##! `$##! '&##! |##%. .$##| '&##| `");
puts(" '&##| .%##@: .%##$` :@##! .%##$` !###; .%##%. |##&' !###; .$##| .%##%. |##$. |##%. ;##@' !###; '&##| `");
puts(" .%##$` ;###%. ;###| `$###%. .%###! !@###%. !##&' `$###; !@###%. !##$` !##&' ;##@: ;##@' '&##! :@###$` '$##@: `");
puts(" !##@: .%###! '&######!!##@' '&######@;!##&' '@##; |######@:;@#&' :@##; '&##; '&##! '&##! .%##%. `$##!;@######&' `");
puts("\n ---------------------------------------------------------------------------------------------------------------------------------------------------------------");
}
void gesture0(){//系统基本界面
system("cls");
logo_lrb();
puts("Welcome to Student Information Management System.");
hp();
}
void id_identify(){//身份认证
char ch;
char a[10]={"password"};
char b[10];
system("mode con: cols=180");
puts("Welcome to Student Information Management System.");
puts("ID:admin");
printf("Password:");
while(1){
scanf("%s",b);
if(strcmp(a,b)==0){
break;
}
else{
puts("Wrong Password.Continue?(y/n)");
scanf(" %c",&ch);
if(ch=='y') continue;
else exit(0);
}
}
gesture0();
}
void init_() {//对数据进行录入
int i, j;
memset(sum, 0, sizeof(sum));//对sum数组进行初始化操作
memset(aver, 0.0, sizeof(aver));//对aver数组进行初始化操作
memset(lv, 0, sizeof(lv));//对sum数组进行初始化操作
scanf("%d%d", &N_cl, &N_stu);
for (i = 1; i <= N_stu; i++) {//数据输入
scanf("%d%s", &nd[i].num, &nd[i].name);
for (j = 1; j <= N_cl; j++) {
scanf("%d", &nd[i].cl[j]);
}
}
}
void GDATA(){//随机数据生成
int i, j;
printf("Please input the num of class and student:");
memset(sum, 0, sizeof(sum));//对sum数组进行初始化操作
memset(aver, 0.0, sizeof(aver));//对aver数组进行初始化操作
memset(lv, 0, sizeof(lv));//对sum数组进行初始化操作
srand(time(NULL));
scanf("%d%d", &N_cl, &N_stu);
for (i = 1; i <= N_stu; i++) {//数据输入
nd[i].num=19000+rand()%(100);
for(j=0;j<=5;j++)nd[i].name[j]=rand()%26+'A';
for (j = 1; j <= N_cl; j++) {
nd[i].cl[j]=rand()%101;
}
}
}
void cal() {//计算汇总
int i, j;
for (i = 1; i <= N_stu; i++) nd[i].sum = 0;
for (i = 1; i <= N_stu; i++) {//计算每个学生的总分和平均分
for (j = 1; j <= N_cl; j++) {
nd[i].sum += nd[i].cl[j];//计算每个学生的总分
}
nd[i].aver = (double)nd[i].sum / (double)N_cl;//计算每个学生的平均分
}
for (i = 1; i <= N_cl; i++) {//计算每门课程的总分和平均分
for (j = 1; j <= N_stu; j++) {//计算每门课程的总分
sum[i] += nd[j].sum;
}
aver[i] = (double)sum[i] / (double)N_cl;//计算每门课程的平均分
}
}
void lv_() {//计算各个分数段的学生
int i, j;
printf("class\t\t优秀(90-100)\t良好(80-89)\t中等(70-79)\t及格(60-69)\t不及格(0-59)\n");
for (i = 1; i <= N_cl; i++) {
for (j = 1; j <= N_stu; j++) {//对每个分数段的人员数量进行统计
if (nd[j].cl[i] >= 90) lv[i][1]++;//90+
else if (nd[j].cl[i] >= 80) lv[i][2]++;//80-89
else if (nd[j].cl[i] >= 70) lv[i][3]++;//70-79
else if (nd[j].cl[i] >= 60) lv[i][4]++;//60-69
else lv[i][5]++;//0-59
}
for (j = 1; j <= 5; j++) {//对每个分数段的人员比例进行统计
percent_lv[i][j] = (double)lv[i][j] / (double)N_stu;
}
printf("class%d", i);
for (j = 1; j <= 5; j++) {//对每个分数段的人员数量进行输出
printf("\t\t%d(%.2llf)", lv[i][j], percent_lv[i][j]);
}
puts("");
}
}
void sort_sum_down() {//冒泡排序按照降序对数据总分进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
if (nd[j].sum < nd[j + 1].sum) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void sort_sum_up() {//冒泡排序按照升序对数据总分进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
if (nd[j].sum > nd[j + 1].sum) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void sort_num() {//冒泡排序按照升序对数据学号进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
if (nd[j].num > nd[j + 1].num) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void sort_name() {//冒泡排序按照升序对数据姓名进行排序
int i, j;
struct cc tmp;
for (i = 1; i <= N_stu; i++) {
for (j = 1; j <= N_stu - 1; j++) {
// printf("%d\n",strcmp(nd[j].name, nd[j+1].name));
if (strcmp(nd[j].name, nd[j + 1].name) > 0) {
tmp = nd[j];
nd[j] = nd[j + 1];
nd[j + 1] = tmp;
}
}
}
}
void qry_num() {//按照学号查询学生排名以及其考试成绩
int i, j, tmp_num;
scanf("%d", &tmp_num);
printf("rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
printf("\tclass%d", j);
}
printf("\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
if (tmp_num == nd[i].num) {
printf("%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
printf("\t%d", nd[i].cl[j]);
}
printf("\t%d\t%.2llf", nd[i].sum, nd[i].aver);
puts("");
}
}
}
void qry_name() {//按照姓名查询学生排名以及其考试成绩
int i, j;
char tmp_name[MAXN_name];
scanf("%s", tmp_name);
printf("rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
printf("\tclass%d", j);
}
printf("\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
if (strcmp(nd[i].name, tmp_name) == 0) {
printf("%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
printf("\t%d", nd[i].cl[j]);
}
printf("\t%d\t%.2llf", nd[i].sum, nd[i].aver);
puts("");
}
}
}
void prt_all() {//打印所有学生成绩
int i, j;
printf("rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
printf("\tclass%d", j);
}
printf("\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
printf("%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
printf("\t%d", nd[i].cl[j]);
}
printf("\t%d\t%.2llf", nd[i].sum, nd[i].aver);
puts("");
}
}
void fprt_() {//读取文件并输出
char ch;
FILE *fp = NULL;
if ((fp = fopen("stu.txt", "r")) == NULL) {
printf("Failure ro open stu.txt!\n");
exit(0);
}
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
fclose(fp);
}
void fout_() {//输出到文件
FILE *fp = NULL;
if ((fp = fopen("stu.txt", "w")) == NULL) {
printf("Failure ro open stu.txt!\n");
exit(0);
}
int i, j;
fprintf(fp, "rank\tnum\tname");
for (j = 1; j <= N_cl; j++) {
fprintf(fp, "\tclass%d", j);
}
fprintf(fp, "\tsum\taver\n");
for (i = 1; i <= N_stu; i++) {
fprintf(fp, "%d\t%d\t%s", i, nd[i].num, nd[i].name);
for (j = 1; j <= N_cl; j++) {
fprintf(fp, "\t%d", nd[i].cl[j]);
}
fprintf(fp, "\t%d\t%.2llf\n", nd[i].sum, nd[i].aver);
}
fclose(fp);
}
void swt(){
int op;
while (1) {
scanf("%d", &op);
if (op==0) break;
else if(op>14||op<0) gesture0();
else switch (op) {
case 1:
gesture0();
init_();//数据输入
break;
case 2:
gesture0();
cal();//计算一体化
break;
case 3:
gesture0();
cal();//计算一体化
break;
case 4:
gesture0();
sort_sum_down();//按照总分降序排序
prt_all();
break;
case 5:
gesture0();
sort_sum_up();//按照总分升序排序
prt_all();
break;
case 6:
gesture0();
sort_num();//按照学号排序
prt_all();
break;
case 7:
gesture0();
sort_name();//按照字典序排序
prt_all();
break;
case 8:
gesture0();
qry_num();//按照学号查找
break;
case 9:
gesture0();
qry_name();//按照姓名查找
break;
case 10:
gesture0();
lv_();//数据分组
break;
case 11:
gesture0();
prt_all();//打印所有数据
break;
case 12:
gesture0();
fout_();//写入到文件stu.txt
break;
case 13:
gesture0();
fprt_();//从文件读取并显示到屏幕上
break;
case 14:
gesture0();
GDATA();//数据生成
break;
default:
gesture0();//系统基本界面
break;
}
}
}
int main() {
id_identify();//身份认证,默认密码password
swt();//操作符选择
return 0;
}
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

浙公网安备 33010602011771号