NBA球员生涯数据统计系统(中南大学C语言课设)
自动化与电气类专业大一第一学期C语言的课程设计,留给后来的新生参考。
前排提醒:由于链表和文件不属于课程学习内容,且本人自学能力菜得真实,因此本人写的课设没有使用到链表(在学了在学了)。但据本人同学所说链表的使用也在验收评分标准内,建议学弟学妹在课设开始时就学习链表的使用,不要太晚才开始学。
希望通过具体实例了解链表或学号尾数为1的学弟学妹可以参考我一位室友的文章:
职工考勤信息管理系统(中南大学课程设计)
功能齐全,注释详细。除此之外还有三篇文章详细介绍了他的函数,下面是他的主页:
这里197的博客_CSDN博客-领域博主
在这里我们先看一眼我们的题目(历年题目的具体要求可能不太一样,也许你们这届的更难?也说不定)
接下来我们开始上菜!
PS:使用前请在你的电脑F盘内创建allinformation.txt和information.txt两个文本文件,如电脑没有F盘,请修改此代码中所有涉及到文件使用的部分。(注意此处的“.txt”为文件后缀名(扩展名),“allinformation”和“information”才是文件名。请电脑文件夹不显示后缀名的同学注意不要加“.txt”)
PSS:本人第一学期一直使用的DEV-C,第二学期入坑VS后发现根本停不下来,建议还在使用DEV-C的学弟学妹早日熟悉VS的使用(真的很好用!)。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>void menu();
void shuru();
void paixu();
void tongji();
void chaxun();
void xiugai();
void shanchu();
void tuichu(); FILE *fp1;
typedef struct information
{ char name[18];char team[10];int totalscore;int highestscore;double averagescore;int number;int totaltimes;char coach[10];}pi;
pi pif[30];main()
{ menu();int xuan;printf("输入选项:");scanf("%d",&xuan);while (1){fp1=fopen("f:\\information.txt","rb+");switch(xuan){case 1:shuru();break; case 2:paixu();break;case 3:tongji();break;case 4:chaxun();break;case 5:xiugai();break;case 6:shanchu();break;case 7:tuichu();break;default :break;}if(xuan!=1&&xuan!=2&&xuan!=3&&xuan!=4&&xuan!=5&&xuan!=6&&xuan!=7){printf("输入错误!请重新输入:\n");scanf("%d",&xuan);getchar();fclose(fp1);}else {fclose(fp1);system("cls"); menu();printf("输入选项:");scanf("%d",&xuan); }}} void menu()
{ int i; printf("\n"); for (i=0;i<97;i++)printf("#");printf("\n");printf("#\t\t\t\t欢迎来到NBA球员生涯数据统计系统!\t\t\t\t#\n#\t\t\t\t\t\t\t\t\t\t\t\t#\n");printf("#\t\t1——球员信息录入\t\t\t");printf("2——球员排序\t\t\t\t#\n#\t\t\t\t\t\t\t\t\t\t\t\t#\n");printf("#\t\t3——球员信息统计\t\t\t"); printf("4——球员记录查询\t\t\t#\n#\t\t\t\t\t\t\t\t\t\t\t\t#\n"); printf("#\t\t5——球员信息修改\t\t\t"); printf("6——球员记录删除\t\t\t#\n#\t\t\t\t\t\t\t\t\t\t\t\t#\n"); printf("#\t\t7——退出系统\t\t\t\t\t\t\t\t\t#\n");for (i=0;i<97;i++)printf("#");printf("\n");
} void shuru()//输入模块
{ void xiugai();int i=1,a,k,num;char tac[10];pi pilr,pibh; getchar(); do{i=1;printf("请输入球员名称:");scanf("%s",pilr.name);fread(&pibh,sizeof(pi),1,fp1);while(!feof(fp1)){//feof()是检测流上的文件结束符的函数,如果文件结束,则返回非0值,否则返回0if (strcmp(pibh.name,pilr.name)==0){//如果字符串相同,返回0printf("\n该球员已经存在,是否修改数据(按1确认修改,按其他键取消)?\n");scanf("%d",&a);i=0;break; }fread(&pibh,sizeof(pi),1,fp1); } rewind(fp1);//将文件指针的位置倒回文件开头 }while(i==0&&a!=1);//检测用户输入的球员是否已存在 if (a==1) xiugai(); if (i==1) { printf("请输入球员所属球队:");scanf("%s",pilr.team);do{ rewind(fp1);k=0,i=1;fread(&pibh,sizeof(pi),1,fp1);while(!feof(fp1)){if (strcmp(pibh.team,pilr.team)==0) {strcpy(tac,pibh.coach);num=pibh.number;k++;}fread(&pibh,sizeof(pi),1,fp1);}if (k>=2) {printf("该球队已存在两名球员,请重新输入球队名:\n");k=0,i=0;scanf("%s",pilr.team);}}while (i==0);//确保每个球队最多只有两名球员 printf("请输入球员的生涯累计得分:");scanf("%d",&pilr.totalscore);printf("请输入球员的生涯最高分:");scanf("%d",&pilr.highestscore);printf("请输入球员的生涯平均得分:");scanf("%lf",&pilr.averagescore);printf("请输入球员号码:");scanf("%d",&pilr.number);if (k==1) {do{while (pilr.number==num){printf("该号码已在此队伍中存在,请重新输入:"); scanf("%d",&pilr.number);}//确保一个队伍的球员号码不会重复 do{i=1;if (pilr.number<1||pilr.number>99){printf("球员号码应介于1~99之间,请重新输入:");scanf("%d",&pilr.number);i=0;}}while (i==0); }while (i==0||pilr.number==num);}do{i=1;if (pilr.number<1||pilr.number>99){printf("球员号码应介于1~99之间,请重新输入:");scanf("%d",&pilr.number);i=0;}}while (i==0);pilr.totaltimes=pilr.totalscore*1.00/pilr.averagescore; printf("请输入球员所属教练:");scanf("%s",pilr.coach); if (k==1) {while (strcmp(pilr.coach,tac)!=0){printf("同一支球队只能有一名教练,请重新输入:\n");scanf("%s",pilr.coach); }}//使每个球队只有一名教练 getchar();fwrite(&pilr,sizeof(pi),1,fp1);printf("\n录入成功!回到主菜单\n"); system("pause"); }
}void sort (struct information *p[],int n,int c)//排序函数,用于球员排序和球员信息统计
{ int i,j,k;struct information *w;for (i=0;i<n-1;i++){ k=i;if (c==1){for (j=i+1;j<n;j++)if (strcmp(p[j]->team,p[k]->team)==-1)k=j;}else if (c==2){for (j=i+1;j<n;j++)if (p[j]->totalscore<p[k]->totalscore) k=j;}else if (c==3){for (j=i+1;j<n;j++)if (p[j]->highestscore<p[k]->highestscore) k=j;}else if (c==4){for (j=i+1;j<n;j++)if (p[j]->totaltimes<p[k]->totaltimes) k=j;}else if (c==5){for (j=i+1;j<n;j++)if (p[j]->averagescore<p[k]->averagescore) k=j;}else if (c==6){for (j=i+1;j<n;j++)if (p[j]->number<p[k]->number) k=j;}else if (c==7){for (j=i+1;j<n;j++)if (strcmp(p[j]->coach,p[k]->coach)==-1)k=j;}if (k!=i){w=p[i];p[i]=p[k];p[k]=w;} }
}void paixu()//排序模块
{ void sort(struct information *p[],int,int);pi pilr,pibh;int a,m=0,n,flag=0;printf("请选择排序依据:\n");printf("1-根据所属球队排序\n");printf("2-根据生涯累计得分排序\n");printf("3-根据生涯最高分排序\n");printf("4-根据生涯参赛场次排序\n");printf("5-根据生涯平均得分排序\n");printf("6-根据球员号码排序\n"); scanf("%d",&a);rewind(fp1);fread(&pilr,sizeof(pi),1,fp1);while(!feof(fp1)){strcpy(pif[m].name,pilr.name);strcpy(pif[m].team,pilr.team);pif[m].totalscore=pilr.totalscore;pif[m].highestscore=pilr.highestscore;pif[m].averagescore=pilr.averagescore;pif[m].number=pilr.number;pif[m].totaltimes=pilr.totaltimes;strcpy(pif[m].coach,pilr.coach);m++;flag=1;fread(&pilr,sizeof(pi),1,fp1);}//将文件内容逐一录入结构体数组中,对结构体数组进行排序 struct information *p[30];for (n=0;n<=m-1;n++)p[n]=&pif[n];sort(p,m,a);printf("球员名称 球员所属球队 生涯累计得分 生涯最高分 生涯参赛场次 生涯平均分 球员号码 所属教练\n");for (n=0;n<=m-1;n++)printf("%-12s%-15s%-15d%-12d%-12d%-12.2f%-10d%-10s\n",p[n]->name,p[n]->team,p[n]->totalscore,p[n]->highestscore,p[n]->totaltimes,p[n]->averagescore,p[n]->number,p[n]->coach); system("pause");
}void tongji()//统计模块
{ printf("球队\t 教练\t 球员");void sort(struct information *p[],int,int);pi pilr,pibh;int m=0,n,i,t,k=0;char str[10];rewind(fp1);fread(&pilr,sizeof(pi),1,fp1);while(!feof(fp1)){strcpy(pif[m].name,pilr.name);strcpy(pif[m].team,pilr.team);pif[m].totalscore=pilr.totalscore;pif[m].highestscore=pilr.highestscore;pif[m].averagescore=pilr.averagescore;pif[m].number=pilr.number;pif[m].totaltimes=pilr.totaltimes;strcpy(pif[m].coach,pilr.coach);m++;fread(&pilr,sizeof(pi),1,fp1);}struct information *p[30];for (n=0;n<=m-1;n++)p[n]=&pif[n]; sort(p,m,1);strcpy(str,p[0]->team);for (i=0,t=0;t<=m;i++){if (t!=m&&strcmp(str,p[t]->team)==0){k++,t++;} else {printf("\n%-12s%-8s%-10s",p[t-k]->team,p[t-k]->coach,p[t-k]->name);if (k>=2){for (i=1;i<k;i++)printf("%-10s",p[t-k+i]->name); } if (t<m)strcpy(str,p[t]->team);i=-1,k=0;if (t==m) {printf("\n");break;} }}system("pause");
}void chaxun()//查询模块
{char cha[10];int a,flag=0;pi pilr;printf("请选择查询类型:\n1-按球员名称查询\n2-按球员所属球队查询\n3-按球员所属教练查询\n"); scanf("%d",&a);if (a==1){printf("请输入球员名称:");scanf("%s",cha); printf("球员名称 球员所属球队 生涯累计得分 生涯最高分 生涯参赛场次 生涯平均分 球员号码 所属教练\n");fread(&pilr,sizeof(pi),1,fp1);while(!feof(fp1)){if (strcmp(cha,pilr.name)==0){printf("%-12s%-15s%-15d%-12d%-12d%-12.2f%-10d%-10s\n",pilr.name,pilr.team,pilr.totalscore,pilr.highestscore,pilr.totaltimes,pilr.averagescore,pilr.number,pilr.coach);flag=1;} fread(&pilr,sizeof(pi),1,fp1); }if (flag==1) printf("\n查询完毕!");else if (flag==0) printf("\n没有满足该条件的记录!"); }else if (a==2){printf("请输入球员所属球队:");scanf("%s",cha); printf("球员名称 球员所属球队 生涯累计得分 生涯最高分 生涯参赛场次 生涯平均分 球员号码 所属教练\n");fread(&pilr,sizeof(pi),1,fp1);while(!feof(fp1)){if (strcmp(cha,pilr.team)==0){printf("%-12s%-15s%-15d%-12d%-12d%-12.2f%-10d%-10s\n",pilr.name,pilr.team,pilr.totalscore,pilr.highestscore,pilr.totaltimes,pilr.averagescore,pilr.number,pilr.coach);flag=1;}fread(&pilr,sizeof(pi),1,fp1); }if (flag==1) printf("\n查询完毕!\n");else if (flag==0) printf("\n没有满足该条件的记录!\n");}else if (a==3){printf("请输入球员所属教练:");scanf("%s",cha); printf("球员名称 球员所属球队 生涯累计得分 生涯最高分 生涯参赛场次 生涯平均分 球员号码 所属教练\n");fread(&pilr,sizeof(pi),1,fp1);while(!feof(fp1)){if (strcmp(cha,pilr.coach)==0){printf("%-12s%-15s%-15d%-12d%-12d%-12.2f%-10d%-10s\n",pilr.name,pilr.team,pilr.totalscore,pilr.highestscore,pilr.totaltimes,pilr.averagescore,pilr.number,pilr.coach);flag=1;} fread(&pilr,sizeof(pi),1,fp1); }if (flag==1) printf("\n查询完毕!");else if (flag==0) printf("\n没有满足该条件的记录!");}else {printf("输入错误,即将退出!");}system("pause");
}void xiugai()//修改模块
{ FILE *p;pi pilr,pibh;char gai[10],zancun[10];int a,xiu,i,m=0,k,t,j=0,flag=0,choice;rewind(fp1);fread(&pilr,sizeof(pi),1,fp1);while(!feof(fp1)){strcpy(pif[m].name,pilr.name);strcpy(pif[m].team,pilr.team);pif[m].totalscore=pilr.totalscore;pif[m].highestscore=pilr.highestscore;pif[m].averagescore=pilr.averagescore;pif[m].number=pilr.number;pif[m].totaltimes=pilr.totaltimes;strcpy(pif[m].coach,pilr.coach);m++;fread(&pilr,sizeof(pi),1,fp1);}rewind(fp1);printf("请输入球员名称:"); scanf("%s",gai);fread(&pilr,sizeof(pi),1,fp1);p=fopen("f:\\allinformation.txt","wb+");while(!feof(fp1)){j++;if (strcmp(pilr.name,gai)==0){printf("\n1-球员名称\t 2-所属球队\t\n");printf("3-生涯累计得分\t 4-生涯最高分\t\n");printf("5-生涯参赛场次\t 6-生涯平均得分\t\n");printf("7-球员号码\t 8-所属教练\t\n");printf("请选择要修改的项目:");scanf("%d",&xiu); if (xiu==1) {do{i=1;printf("你要将%s改为:",pilr.name);scanf("%s",zancun);rewind(fp1); fread(&pibh,sizeof(pi),1,fp1);while(!feof(fp1)){if (strcmp(pibh.name,zancun)==0){printf("\n该球员名称已经存在,请重新输入\n");i=0;break;}fread(&pibh,sizeof(pi),1,fp1); }}while (i==0);rewind(fp1);for (i=0;i<j;i++){fread(&pilr,sizeof(pi),1,fp1);strcpy(pilr.name,zancun);}}else if (xiu==2) {printf("你要将所属球队由%s改为:",pilr.team);scanf("%s",pilr.team);do{ k=0,i=1;for (t=0;t<m;t++){if (strcmp(pif[t].team,pilr.team)==0) {strcpy(zancun,pif[t].coach);k++;}}if (k>=2) {printf("该球队已存在两名球员,请重新输入球队名:\n");k=0,i=0;scanf("%s",pilr.team);}}while (i==0);if (k==1){printf("检测到该队伍已存在教练,将自动更新该球员的教练信息\n");strcpy(pilr.coach,zancun);}}else if (xiu==3) {printf("你要将生涯累计得分由%d改为:",pilr.totalscore);scanf("%d",&pilr.totalscore);printf("生涯累计得分修改,需要对平均得分或参赛场次进行修改:\n1-自动更新平均得分\n2-自动更新参赛场次\n");do{i=1;scanf("%d",&choice);if (choice==1){pilr.averagescore=pilr.totalscore*1.00/pilr.totaltimes; printf("平均得分已自动更新!\n");}else if (choice==2){pilr.totaltimes=pilr.totalscore/pilr.averagescore;printf("参赛场次已自动更新!\n");}else {getchar(); printf("输入错误,请重新输入:");i=0;}} while (i==0);}else if (xiu==4) {printf("你要将生涯最高分由%d改为:",pilr.highestscore);scanf("%d",&pilr.highestscore);} else if (xiu==5) {printf("你要将生涯参赛场次由%d改为:",pilr.totaltimes);scanf("%d",&pilr.totaltimes);printf("生涯参赛场次修改,需要对平均得分或生涯累计得分进行修改:\n1-自动更新平均得分\n2-自动更新生涯累计得分\n");do{i=1;scanf("%d",&choice);if (choice==1){pilr.averagescore=pilr.totalscore*1.00/pilr.totaltimes; printf("平均得分已自动更新!\n");}else if (choice==2){pilr.totalscore=pilr.totaltimes*pilr.averagescore;printf("生涯累计得分已自动更新!\n");}else {getchar(); printf("输入错误,请重新输入:");i=0;}} while (i==0);}else if (xiu==6) {printf("你要将生涯平均得分由%.2f改为:",pilr.averagescore);scanf("%lf",&pilr.averagescore);printf("生涯平均得分修改,需要对生涯累计得分或参赛场次进行修改:\n1-自动更新生涯累计得分\n2-自动更新参赛场次\n");do{i=1;scanf("%d",&choice);if (choice==1){pilr.totalscore=pilr.totaltimes*pilr.averagescore; printf("生涯累计得分已自动更新!\n");}else if (choice==2){pilr.totaltimes=pilr.totalscore/pilr.averagescore;printf("参赛场次已自动更新!\n");}else {getchar(); printf("输入错误,请重新输入:");i=0;}} while (i==0);}else if (xiu==7) {printf("你要将球员号码由%d改为:",pilr.number);scanf("%d",&pilr.number);do{i=1;if (pilr.number<1||pilr.number>99){printf("球员号码应介于1~99之间,请重新输入:");scanf("%d",&pilr.number);i=0;}}while (i==0);}else if (xiu==8) {printf("你要将所属教练由%s改为:",pilr.coach);scanf("%s",&pilr.coach);} flag=1;}fwrite(&pilr,sizeof(pi),1,p);fread(&pilr,sizeof(pi),1,fp1);} if (flag==0) {printf("没有该球员的记录!");fclose(p);} if (flag==1){printf("按1确认更新修改后的信息:");scanf("%d",&a);fclose(p);fclose(fp1); if (a==1){p=fopen("f:\\allinformation.txt","rb+");fp1=fopen("f:\\information.txt","wb+");fread(&pilr,sizeof(pi),1,p);while(!feof(p)){ fwrite(&pilr,sizeof(pi),1,fp1);fread(&pilr,sizeof(pi),1,p);}fclose(fp1); printf("操作成功!"); }else printf("修改取消");}printf("\n回到主菜单");system("pause");
}void shanchu()//删除模块
{ FILE *p;pi pilr,pibh;char shan[10],zancun[10];int xiu,i,flag=0;rewind(fp1);printf("请输入球员名称:"); scanf("%s",shan);fread(&pilr,sizeof(pi),1,fp1);p=fopen("f:\\allinformation.txt","wb+");while(!feof(fp1)){if (strcmp(pilr.name,shan)==0){printf("已找到该球员的信息:\n"); printf("球员名称 所属球队 ");printf("生涯累计得分 生涯最高分 ");printf("生涯参赛场次 生涯平均得分 ");printf("球员号码 所属教练\n");printf("%-10s\t%s\t\t%d\t\t%d\t\t%d\t\t%.2f\t\t%d\t%s\t",pilr.name,pilr.team,pilr.totalscore,pilr.highestscore,pilr.totaltimes,pilr.averagescore,pilr.number,pilr.coach);printf("\n是否将其信息删除?按1-确认删除 按其他键-取消删除\n"); scanf("%d",&xiu); if (xiu==1) {printf("删除成功"); flag=2;fread(&pilr,sizeof(pi),1,fp1);if (feof(fp1)!=0) break; }else {printf("删除取消");flag=1;} } fwrite(&pilr,sizeof(pi),1,p);fread(&pilr,sizeof(pi),1,fp1); } if (flag==0) {printf("没有该球员的记录!");} fclose(p);p=fopen("f:\\allinformation.txt","rb+");fclose(fp1);fp1=fopen("f:\\information.txt","wb+");fread(&pilr,sizeof(pi),1,p);while(!feof(p)){fwrite(&pilr,sizeof(pi),1,fp1);if(fread(&pilr,sizeof(pi),1,p)==0) break; }fclose(fp1);fclose(p);printf("\n回到主菜单");system("pause");
} //新建一个空白文件,将除待删除的球员信息以外的全部球员信息复制到空白文件中,再将原文件清空,将新建文件的内容复制到原文件中 void tuichu()
{ int a;printf("按1退出系统:\n");scanf("%d",&a);if (a==1) { printf("\n\t |-----------------------------------------------------------|\n");printf("\t | |\n");printf("\t | 感谢访问! |\n");printf("\t | 欢迎下次再次访问! |\n");printf("\t | |\n");printf("\t |-----------------------------------------------------------|\n");printf("\t | |\n");printf("\t | |\n");printf("\t | 作者: |\n");printf("\t | 自动化与电气类21XX班 阿P (名字可不要也抄了哦) |\n");printf("\t | |\n");printf("\t |-----------------------------------------------------------|\n");printf("系统将在3秒后退出"); Sleep(3000);exit(0);}else {printf("\n退出取消 回到主菜单"); system("pause"); }
}
非常感谢你看到这里,在这里我想作为一个即将成长为学长的过来人给学弟学妹提一些建议:
大一上学期一定一定一定要好好学!别看大一上学期只有二十出头的学分,和别的学期相比看起来微不足道。搭嘎!大一很多东西都会参考你第一学期的加权和排名的。学长(我暂且这么自称吧)在第一学期末参加了卓越班的选拔,因为成绩不合要求连面试都没走到;第二学期又尝试辅修计科,结果发现人家只收前百分之十五的学生(学长第一学期在百分之三十左右徘徊)。第一学期排名的影响远远不止这些,很多评奖评优都会看你第一学期的加权的。所以,
大一第一学期一定要好好学!
大一第一学期一定要好好学!
大一第一学期一定要好好学!
拒绝摆烂!
学长只能帮你到这了,编写课设时遇到什么问题也可以在评论区里提,学长也会尽量为你们解答。
最后,欢迎你们分流时选择人工智能专业,有时间也可以带带学长我。
NBA球员生涯数据统计系统(中南大学C语言课设)相关推荐
- 电影院选票系统(C语言课设)
这里给到大家介绍一个自己写的C语言课设的代码,代码功能不是很完善,只有很基础的增删改查 题目 :电影院选票系统 功能 :放映厅 ,电影信息的 增删改查,以及排序 系统要求实现以下功能: 1.输入功能: ...
- java爬虫抓取nba_爬取NBA球员生涯数据,并在Excel中可视化显示
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章最早早起Python ,作者投稿君 前言 大家好,在之前我们讲过如何使用Python内置一 ...
- python爬取17000个球员_Python爬取NBA球员生涯数据及简单可视化
由于全球疫情的原因 NBA宣布无限期推迟比赛 也被迫随之进入了长草期 紧接着 狂摸话筒戈贝尔 连坐队友米切尔 网络小帅杜兰特 绿军硬汉斯马特 等十名球员相继官宣感染 洛杉矶湖人两人感染 但未公布名单 ...
- 爬取NBA球员生涯数据,并在Excel中可视化显示
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章最早早起Python ,作者投稿君 前言 大家好,在之前我们讲过如何使用Python内置一 ...
- 用Python自动生成NBA巨星生涯数据曲线
1.序 之前写过一个用 python 自动生成球员职业生涯数据的程序(原文请关注本人公众号),大家的反响很好,我也感到很欣慰.有问我怎么做的,如何学 python 的,也有提建议说集成到 web 里面 ...
- 篮球赛场数据统计系统数据库设计实例
篮球赛场数据统计系统数据库设计实例 研究内容(篮球赛场数据统计系统) 1)比赛前对球队.球员各项基本信息的录入功能: 2)比赛时对进球得分.各种进球类型以及裁判评判情况等数据和信息的记录功能: ...
- 爬table数据_爬取NBA球员薪资数据【Python数据分析百例连载】
通过Pandas模块也可以实现简单的爬虫.主要使用Pandas的read_html方法,该方法用于导入带有table标签的网页表格数据,语法如下: pandas.read_html(io,match= ...
- [附源码]Python计算机毕业设计调查问卷及调查数据统计系统
项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...
- [附源码]Python计算机毕业设计调查问卷及调查数据统计系统Django(程序+LW)
该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...
最新文章
- 第一天入职,备用vs快捷键大全
- jspservlet初体验——用户登录功能实现
- linux基础命令篇一
- Leetcode: Valid Parentheses
- 外企的溃败:Oracle中国研发中心裁员,1600人,补偿为N+6
- NLog.config
- 数据结构之--series,DataFrame.use python and pandas for data mining
- css里禁用样式,禁用某些元素的CSS样式
- 前端实现鼠标拖拽功能
- linux音频设备id,ubuntu下提取DSDT SSDT和声卡ID _ 黑苹果乐园
- SMETA验厂咨询,Sedex验厂工厂的自检流程有哪些
- ubuntu 安装uget 和 flashgot 下载软件相当于windows中的迅雷
- java 调用弗雷_深入理解java虚拟机(十一) 方法调用-解析调用与分派调用
- Android mc怎么和win10联机,我的世界实现跨平台联机 Win10玩家可与手机互联
- 用jacob为word表格设置边框线
- 一顿操作猛如虎,一看还是二百五
- vue 多行输入框显示行号
- Redis典型应用场景实战之抢红包系统
- 经济危机下我国玩具业现状与前景
- 探索 Android 网络优化方法
热门文章
- 牛客NC272 栈的压入、弹出序列
- 如何防止亚马逊账号关联的一些建议值得卖家们收藏?
- Echarts显示数据被遮挡了
- 【云原生网关】Kong 使用详解
- Linux进程(二):生命周期
- 魅蓝3卡插上显示无服务器,给魅蓝3插卡的方法步骤 _ 路由器设置|192.168.1.1|无线路由器设置|192.168.0.1 - 路饭网...
- python中迭代啥意思_Python中什么是迭代
- 杨承润:世界首席创业家导师杨承润,创业16年,杨承润和他的《慧眼经营思维》
- 图解 Redis !傻瓜都看懂了
- 4位先行进位加法器的vhdl程序_VHDL精密,Verilog简洁,但要写好都要遵守这25条通则...