目录

题目:

总体设计

详细设计

系统实现


题目

1、需求分析

人事档案信息采用文件存储,要提供文件的输入输出操作;根据学院人事的变动情况,可添加或删除记录,因而要提供文件的添加删除操作;能根据编号和姓名进档案查询,所提供文件的查找操作;可以修改指定成员的指定字段的信息,即提供文件的修改操作;统计功能要提供以不同字段的统计操作;排序功能要提供用排序算法对人员信息进行排序;另外还要提供键盘式选择菜单以实现对上述基本功能选择。

2、总体设计

整体设计为数据浏览模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。

3、详细设计

数据结构采用结构体:

struct peopleRecord{
    char No[10];          //编号
    char name[10];      //姓名
    char sex[10];         //性别
    int  age;                //年龄
    char job[10];         //职务
    char post[20];       //职称
    char politic[10];     //政治面貌
    char edu_level[10]; //最高学历
    char period[10];      //任职时间
    char start_time[10]; //来院时间
    char type[10];         //人员类别
}

1)数据浏览模块

采用fread和fopen把文件中的员工信息写读入程序,并输出显示。

2)数据添加模块

用追加的方式采用fwrite或fprintf把新增员工信息写入人事档案文件。

3)数据删除模块

根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃,不再写入文件;否则重新写入文件。

4)数据查询模块

把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。

5)数据修改模块

查找要修改的记录,修改之。先用fread或fscanf读记录,若是要修改的记录,则修改信息,把修改后的信息写入文件;否则直接写入文件。

6)数据排序模块

通过菜单选择年龄或者来院时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。

7)数据统计模块

通过菜单选择统计字段:在职人数、党员人数、女工人数、高学历人数、高职称人数。

例如选择党员人数。

总体设计

1.功能模块分析

2.程序流程图

详细设计

1.数据结构

人员信息采用如下结构体:

typedef struct peopleRecord{
    char No[10];        //编号
    char name[10];      //姓名
    char sex[10];       //性别
    int  age;           //年龄
    char job[10];       //职务
    char post[20];      //职称
    char politic[10];   //政治面貌
    char edu_level[10]; //最高学历
    char period[10];    //任职时间
    char start_time[10]; //来院时间
    char type[10];        //人员类别
} P_tab; //定义学院人事记录表

2.函数

1)全部函数

主函数main、

菜单选项函数Options、

文件重写入函数save、

文件读入函数open、

文件追加写入函数save_end、

信息添加函数Det_add、

信息删除函数Det_del、

信息修改函数Det_modi、

信息浏览函数Det_show、

信息统计函数Det_count、

信息查找函数Det_seek、

信息排序函数Det_sort,

共十二个函数。

2)关键函数

①文件读入函数open:

②数据删除函数Det_del:

③数据修改函数Det_modi:

系统实现

1.源代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 50
typedef struct peopleRecord{char No[10];        //编号char name[10];      //姓名char sex[10];       //性别int  age;           //年龄char job[10];       //职务char post[20];      //职称char politic[10];   //政治面貌char edu_level[10]; //最高学历char period[10];    //任职时间char start_time[10]; //来院时间char type[10];     //人员类别
} P_tab; //定义学院人事记录表
P_tab pr[N];        //定义结构体数组
//本程序全部模块函数
void save();        //清除原文件所有内容,将数据重写入文件
int  open();        //文件打开函数,主要是用来获取当前文件中数据项个数
void save_end();    //从文件尾部将新数据写入文件
void Det_show();    //数据展示,将当前文件中数据全部打印到屏幕上
void Det_seek();    //按名字查找文件中对应数据项
void Det_add();     //添加函数,从文件尾写入信息
void Det_sort();    //排序函数,根据输入的字段来排序
void Det_del();     //删除函数,删除文件中对应的数据项
void Det_modi();    //修改函数,根据输入的字段查找对应数据项,在修改对应数据项的内容
void Det_count();   //根据输入字段统计文件中满足条件的对应数据项个数
void Options(int option);       //菜单开关
int i,flag=1,menu;
/*主函数+菜单*/
int main(){printf("\n\t\t\t ++++++++++++++++++++++++\n\t\t\t + 欢迎使用人事管理系统 +\n\t\t\t ++++++++++++++++++++++++\n");
//    system ("color 1F");            //程序面板颜色 while (flag){do{printf("\n        ******************菜单栏******************\n");printf("\t\t*\t     ① 录入新人员\t\t *\n");printf("\t\t*\t     ② 删除指定人员\t\t *\n");printf("\t\t*\t     ③ 修改指定人员\t\t *\n");printf("\t\t*\t     ④ 查询指定人员\t\t *\n");printf("\t\t*\t     ⑤ 浏览人员表\t\t *\n"); printf("\t\t*\t     ⑥ 统计人数\t\t *\n");printf("\t\t*\t     ⑦ 人员排序\t\t *\n");printf("\t\t*\t     ⑧ 退出系统\t\t *\n");printf("     ******************************************\n");printf("\n");printf("请输入选项:");scanf("%d", &menu);}while (menu>8 || menu<1);   Options(menu);}
}
/*菜单的开关选项函数*/
void Options(int option){switch (option){case 1:Det_add();  break;case 2:Det_del(); break;case 3:Det_modi();    break;case 4:Det_seek();    break;case 5:Det_show();    break;case 6:Det_count();   break;case 7:Det_sort();    break;case 8:printf("\n\t谢谢使用(^V^)!\n");flag=0;exit(0);}
}
/*文件在最后面写入操作函数*/
void save_end(int m){int i;FILE*fp;if ((fp=fopen("P_tab.txt","a"))==NULL){  /*判断文件是否能打开*/printf ("cannot open file\n");exit(0);}for (i=0; i<m; i++)      /*将内存中职工的信息输出到磁盘文件中去*/if (fwrite(&pr[i],sizeof(P_tab),1,fp)!=1)printf("file write error\n");fclose(fp);
}
/*文件重写入操作函数*/
void save(int m){int i;FILE*fp;if ((fp=fopen("P_tab.txt","w"))==NULL){    /*判断文件是否能打开*/printf ("cannot open file\n");exit(0);}for (i=0; i<m; i++)    /*将内存中职工的信息输出到磁盘文件中去*/if (fwrite(&pr[i],sizeof(P_tab),1,fp)!=1)printf("file write error\n");fclose(fp);
}
/*文件读操作函数*/
int open(){FILE*fp;int i=0;if((fp=fopen("P_tab.txt","r"))==NULL){       // 判断文件是否能打开 printf ("cannot open file\n");exit(0);}else{do{fread(&pr[i],sizeof(P_tab),1,fp); //读文件数据 i++;  //并记录文件中数据项个数(重要) }while(feof(fp)==0);      //直到读到文件尾结束 }fclose(fp);return(i-1);    //返回文件数据项个数,应为for循环结束时i多加1,所以应该返回i-1
}
/*浏览显示函数 */
void Det_show(){int i;int m=open();        //打开文件获取信息及数据项个数 printf("\n  -----------------------------------------------------------------------------------------------------------------");printf("\n  | 编 号   姓 名   性 别   年 龄   职 务    职 称    政治面貌    最高学历     任职时间      来院时间    人员类别 |\n");printf("  -----------------------------------------------------------------------------------------------------------------\n"); for(i=0; i<m; i++) /*m为输入部分的员工人数*/printf("%8s%8s%7s%8d%10s%9s%10s%12s%15s%14s%10s\n",pr[i].No,pr[i].name,pr[i].sex,pr[i].age,pr[i].job,pr[i].post,pr[i].politic,pr[i].edu_level,pr[i].period,pr[i].start_time,pr[i].type); //用数组下标printf("\n按任意键继续……\n");getchar();getchar();
}
/*信息增加函数*/
void Det_add(){int i,m,n;printf("请输入需要添加信息的人员人数:\n");scanf("%d",&m);if(m<=0)printf("输入错误!!!\n");      //判断是否为正常值 else if(m>N){if(m>N)printf("\n!!!太大了!!!请修改程序N值后再来!!!\n");        //判断本程序是否能满足需求 exit(0);}else{for(i=0; i<m; i++){printf("[增加人员信息%d]\n",i+1);printf("请输入编号:");scanf("%s", pr[i].No);printf("请输入姓名:");scanf("%s", pr[i].name);printf("请输入性别:");scanf("%s", pr[i].sex);printf("请输入年龄:");scanf("%d", &(pr[i].age));printf("请输入职务:");scanf("%s", pr[i].job);printf("请输入职称:");scanf("%s", pr[i].post);printf("请输入政治面貌:");scanf("%s", pr[i].politic);printf("请输入最高学历:");scanf("%s", pr[i].edu_level);printf("请输入任职时间:");scanf("%s", pr[i].period);printf("请输入来院时间:");scanf("%s", pr[i].start_time);printf("请输入人员类别:");scanf("%s", pr[i].type);printf("-----------------------\n"); }printf("员工信息添加成功!!!");save_end(m);       //将新数据写入文件尾 printf("\n\t现有记录如下:");Det_show();          //展示一下写入后的文件 }
}
/*人员信息删除函数*/
void Det_del(){int m=open();       //打开文件获取信息及数据项个数 int i,j,n,t,sign=0;char no_or_na[10];printf("请输入要删除的员工的编号或姓名:");        scanf("%s",&no_or_na);for(i=0;i<m;i++){if((strcmp(pr[i].No,no_or_na)==0)||(strcmp(pr[i].name,no_or_na))==0){        //顺序查找 sign=1;         //找到了sign置 printf("\n已找到此人,原始记录为:\n");printf("\n  -----------------------------------------------------------------------------------------------------------------");printf("\n  | 编 号   姓 名   性 别   年 龄   职 务    职 称    政治面貌    最高学历     任职时间      来院时间    人员类别 |\n");printf("  -----------------------------------------------------------------------------------------------------------------\n"); printf("%8s%8s%7s%8d%10s%9s%10s%12s%15s%14s%10s\n",pr[i].No,pr[i].name,pr[i].sex,pr[i].age,pr[i].job,pr[i].post,pr[i].politic,pr[i].edu_level,pr[i].period,pr[i].start_time,pr[i].type); printf("\n确实要删除此人信息请按①,不删除请按 ② \n");scanf("%d",&n);if(n==1){   /*如果删除,则其他的信息都往上移一行*/if(i<m-1){for(j=i;j<m-1;j++){pr[j]=pr[j+1];m--;}}else m=m-1;save(m);printf("已删除!!"); }}else if(i==m) printf("\n对不起,查无此人!\n");     //如果遍历整个文件斗殴没找到则输出未找到信息 }printf("\n按任意键继续……\n");getchar();getchar();
}
/*人员查找函数*/
void Det_seek(){char no_or_na[10];int i,n;int m=open();    //打开文件获取信息及数据项个数printf("以编号查询请按① 以名字查询请按②:"); scanf("%d",&n);               //获取查询字段 if(n==1){    printf("\n请输入编号:"); scanf("%s",&no_or_na);for(i=0;i<m;i++)if(strcmp(no_or_na,pr[i].No)==0){  //遍历查找编号 printf("\n已找到此人,其记录为:\n");printf("\n  -----------------------------------------------------------------------------------------------------------------");printf("\n  | 编 号   姓 名   性 别   年 龄   职 务    职 称    政治面貌    最高学历     任职时间      来院时间    人员类别 |\n");printf("  -----------------------------------------------------------------------------------------------------------------\n"); printf("%8s%8s%7s%8d%10s%9s%10s%12s%15s%14s%10s\n",pr[i].No,pr[i].name,pr[i].sex,pr[i].age,pr[i].job,pr[i].post,pr[i].politic,pr[i].edu_level,pr[i].period,pr[i].start_time,pr[i].type); break;}}else if(n==2){printf("\n请输入姓名:"); scanf("%s",&no_or_na);for(i=0;i<m;i++)if(strcmp(no_or_na,pr[i].name)==0){ //遍历查找名字 printf("\n已找到此人,其记录为:\n");printf("\n  -----------------------------------------------------------------------------------------------------------------");printf("\n  | 编 号   姓 名   性 别   年 龄   职 务    职 称    政治面貌    最高学历     任职时间      来院时间    人员类别 |\n");printf("  -----------------------------------------------------------------------------------------------------------------\n"); printf("%8s%8s%7s%8d%10s%9s%10s%12s%15s%14s%10s\n",pr[i].No,pr[i].name,pr[i].sex,pr[i].age,pr[i].job,pr[i].post,pr[i].politic,pr[i].edu_level,pr[i].period,pr[i].start_time,pr[i].type); break;}}else printf("输入有错误!!!"); if(i==m) printf("\n对不起,查无此人\n");      //如果遍历后没找到输出没找到信息 printf("\n");printf("\n按任意键继续……\n");getchar();getchar();
}
/*信息修改函数*/
void Det_modi(){char no_or_na[10];   char temp[10];  char sex[10];     //性别int  age;         int b=0,c=0,i=0,n=0,t=0,sign=1;int m=open();            //获取文件项个数 printf("以编号查询请按① 以名字查询请按②:");   scanf("%d",&t);               //获取查询字段 if(t==1){    printf("\n请输入编号:"); scanf("%s",&no_or_na);for(i=0; sign&&i<m; i++){if(strcmp(pr[i].No,no_or_na)==0){printf("\n已找到此人,原始记录为:\n");printf("\n  -----------------------------------------------------------------------------------------------------------------");printf("\n  | 编 号   姓 名   性 别   年 龄   职 务    职 称    政治面貌    最高学历     任职时间      来院时间    人员类别 |\n");printf("  -----------------------------------------------------------------------------------------------------------------\n"); printf("%8s%8s%7s%8d%10s%9s%10s%12s%15s%14s%10s\n",pr[i].No,pr[i].name,pr[i].sex,pr[i].age,pr[i].job,pr[i].post,pr[i].politic,pr[i].edu_level,pr[i].period,pr[i].start_time,pr[i].type);               printf("\n确实要修改此人信息请按①; 不修改请按②\t");scanf("%d",&n);if(n==1){printf("\n需要进行修改的选项\n ①编号 ②姓名 ③性别 ④年龄 ⑤职务 ⑥职称 ⑦政治面貌 ⑧最高学历 ⑨任职时间 ⑩来院时间 11.人员类别\n");printf("请输入你想修改的那一项序号:");scanf("%d",&c);if(c>11||c<1){   //判断选项是否正常选项 printf("\n选择错误!!!!\n");return;}sign=0;}}}   }else if(t==2){printf("\n请输入姓名:"); scanf("%s",&no_or_na);for(i=0; sign&&i<m; i++){if(strcmp(pr[i].name,no_or_na)==0){printf("\n已找到此人,原始记录为:\n");printf("\n  -----------------------------------------------------------------------------------------------------------------");printf("\n  | 编 号   姓 名   性 别   年 龄   职 务    职 称    政治面貌    最高学历     任职时间      来院时间    人员类别 |\n");printf("  -----------------------------------------------------------------------------------------------------------------\n"); printf("%8s%8s%7s%8d%10s%9s%10s%12s%15s%14s%10s\n",pr[i].No,pr[i].name,pr[i].sex,pr[i].age,pr[i].job,pr[i].post,pr[i].politic,pr[i].edu_level,pr[i].period,pr[i].start_time,pr[i].type);                printf("\n确实要修改此人信息请按①; 不修改请按②\t");scanf("%d",&n);if(n==1){printf("\n需要进行修改的选项\n ①编号 ②姓名 ③性别 ④年龄 ⑤职务 ⑥职称 ⑦政治面貌 ⑧最高学历 ⑨任职时间 ⑩来院时间 11.人员类别\n");printf("请输入你想修改的那一项序号:");scanf("%d",&c);if(c>11||c<1){   //判断选项是否正常选项 printf("\n选择错误!!!!\n");return;}sign=0;}}}}else {printf("\n\t输入错误!!!\n");return;}if(sign==1)printf("\n对不起,查无此人!\n");if(n==1){switch(c){     case 1:printf("编号改为: ");scanf("%s",&temp);strcpy(pr[i-1].No,temp);break;case 2:printf("姓名改为: ");scanf("%s",&temp);strcpy(pr[i-1].name,temp);break;case 3:printf("性别改为: ");getchar();scanf("%s",&temp);strcpy( pr[i-1].sex,temp);break;case 4:printf("年龄改为: ");scanf("%d",&age);pr[i-1].age=age;break;case 5:printf("职务改为: ");scanf("%s",&temp);strcpy(pr[i-1].job,temp);break;case 6:printf("职称改为: ");scanf("%s",&temp); strcpy(pr[i-1].post,temp);break;case 7:printf("政治面貌改为: ");scanf("%s",&temp);strcpy(pr[i-1].politic,temp);break;case 8:printf("最高学历改为: ");scanf("%s",&temp);strcpy(pr[i-1].edu_level,temp);break;case 9:printf("任职时间改为: ");scanf("%s",&temp);strcpy(pr[i-1].period,temp);break;case 10:printf("来院时间改为: ");scanf("%s",&temp);strcpy(pr[i-1].start_time,temp);break;case 11:printf("人员类别改为: ");scanf("%s",&temp);strcpy(pr[i-1].type,temp);break;}printf("\n是否确定所修改的信息?\n 是-请按①; 不-重新修改请按②:\n");scanf("%d",&b);  if(b==2)return;printf("修改成功!!!\n");    printf("浏览修改后的所有人员信息:\n");save(m);Det_show();}
}
/*数据统计函数*/
void Det_count(){int i,t,a=0,b=0,c=0,d=0;int m=open();     //打开文件获取信息及数据项个数char politic[10]= {"党员"};char sex[10]= {"女"};char level[10]= {"博士"};char post[10]={"职称3"};printf("可统计项:"); printf("①在职人数\t②党员人数\t③女工人数\t④高学历人数(博士)\t⑤高职称人数(职称3)\n");printf("请输入要统计的类型:");scanf("%d",&t);printf("\n");switch(t){          //统计字段选项开关 case 1: printf("在职人数为:%d\n",m);break;case 2:    for(i=0; i<m; i++)if(strcmp(politic,pr[i].politic)==0)a++;printf("党员人数为:%d\n",a);break;case 3:for(i=0; i<m; i++)if(strcmp(sex,pr[i].sex)==0)b++;printf("女工人数为:%d\n",b);break;case 4:for(i=0; i<m; i++)if(strcmp(level,pr[i].edu_level)==0)c++;printf("高学历人数为:%d\n",c);break;case 5:for(i=0; i<m; i++)if(strcmp(post,pr[i].post)==0)d++;printf("高职称人数为:%d\n",d);break;default:break;}printf("\n");printf("\n按任意键继续……\n");getchar();getchar();
}
/*数据排序函数*/
void Det_sort(){int i,j,n,m,s,sign=0;P_tab temp;       //定义结构体类型的交换变量 m=open();printf("\n可排序选项:①年龄   ②来院时间\n");printf("\n请输入您要排序的选项:");scanf("%d",&n);            //获取排序字段 if(n==1){    //起泡排序从小到大 for(j=0;j<m;j++){for(i=0;i<m-j-1;i++){if(pr[i].age>pr[i+1].age){temp=pr[i];pr[i]=pr[i+1];pr[i+1]=temp;}}}sign=1;}else if(n==2){  //起泡排序从小到大 for(j=0;j<m;j++){for(i=0;i<m-j-1;i++){if((strcmp(pr[i].start_time,pr[i+1].start_time))>0){temp=pr[i];pr[i]=pr[i+1];pr[i+1]=temp;}}} sign=1;}if(sign){  //判断是否按字排序好了 printf("排好了!!!!\n");save(m);Det_show();}else printf("!!!出错了!!\n");
}

2.运行截图

1)浏览人员表。运行程序,根据菜单提示选择“录浏览人员表”功能即输入“5”。(已提前录入部分信息)。

2)录入新成员。根据菜单提示(因菜单部分和图 5-1所示菜单一致,故以下图片均未截取菜单部分)选择“录入新成员”功能即输入“1”;输入录入人数为“1”;然后依次输入添加人员的各项信息。

3)删除指定成员。根据菜单提示选择“删除指定成员”功能即输入“2”;然后输入要删除的员工姓名“王五”;找到该人员信息后确认删除及输入“1”。

4)修改指定成员。根据菜单提示选择“修改指定成员”功能即输入“3”;选择查找字段为“名字”即输入“2”,根据提示查找姓名输入“张三”;确认修改该人员信息输入“1”;选择修改字段为“职务”输入“5”;修改职务输入“职务3”;确认修改信息输入“1”。

5)查询指定成员。根据菜单提示选择“查询指定成员”功能即输入“4”;按编号查找输入“1006”。

6)统计人数。根据菜单提示选择“统计人数”功能即输入“6”;选择统计字段为“党员人数”输入“2”。

7)人员排序。根据菜单提示选择“人员排序”功能即输入“7”,选择以年龄排序,输入“1”。

8)退出系统。根据菜单提示选择“退出系统”功能即输入“8”。

3.不足:因为本人水平有限,所以并没有使用动态数组和动态链表等更优的方案,面对输入数据较多时,还需修改程序。以及可能存在其他的问题和不足。

【C语言】课程设计实训——人事管理系统相关推荐

  1. C++课程设计实训_基于多态书籍信息管理系统的设计与实现、附源码、有过程截图

    C++课程设计实训_基于多态书籍信息管理系统的设计与实现.附源码,有过程截图 书籍信息管理系统的设计与实现(基于多态) 学生姓名: 学 号: 指导老师: 所 在 系: 专 业: 班 级: C++课程设 ...

  2. 用C语言编程网上购物系统,华中科技大学C语言课程设计报告 -- 网上购物管理系统.pdf...

    华中科技大学自动化学院 C 语言课程设计报告 网上购物管理系统 专 业:自 动 化 班 级:自动化1306 班 组 员: 指导教师:周纯杰 何顶新 彭刚 周凯波 完成时间:2014 年11 月7 日星 ...

  3. c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统

    <C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...

  4. c语言 输入职工工资资料,通过结构体的数组来进行操作 报告,c语言课程设计报告-职工工资管理系统...

    <c语言课程设计报告-职工工资管理系统>由会员分享,可在线阅读,更多相关<c语言课程设计报告-职工工资管理系统(33页珍藏版)>请在人人文库网上搜索. 1.c 语言课程设计报告 ...

  5. c语言课程设计-商场商品信息管理,C语言课程设计商场商品信息管理系统

    C语言课程设计商场商品信息管理系统 1目 录1 系统分析 21.1 课程设计内容 21.2 系统功能需求分析 21.3 数据结构设计 32 系统设计 32.1 总体设计 32.2 详细设计 42.2. ...

  6. c语言销售管理系统设计,原创:终稿C语言课程设计_服装销售管理系统.docOK版

    <C语言课程设计_服装销售管理系统.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)C语言课程设计_服装销售管理系统.doc(OK版)>相关文档资源请在帮帮文库(www ...

  7. 施工管理系统C语言,《C语言课程设计报告-建筑工地信息管理系统》.doc

    <C语言课程设计报告-建筑工地信息管理系统> C语言课程设计报告 班级:中国地质大学计算机学院192091班 姓名: 序号:192091-28(20091003872) 指导老师:时间:2 ...

  8. c语言商品订购系统总结报告,c语言课程设计报告-商业销售管理系统

    c语言课程设计报告-商业销售管理系统 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 C语言课程设计商业销售管理系统学号姓名班级软 ...

  9. c语言课程设计2018,C语言课程设计报告(2018)——学生管理系统(17页)-原创力文档...

    兰州交通大学博文学院 <C语言程序设计> 课 程 设 计 报 告 系 别: 交通运输系 班 级: 16交通运输(3)班 姓 名: 学 号: 指导老师: 2018年1月5日 兰州交通大学博文 ...

最新文章

  1. 【arduino】arduino ISP下载程序方法,用arduino uno给M5 Module DC MOTOR下载程序
  2. 传递对象_洮北区司法局矫正对象献爱心传递社会正能量
  3. 惠普大佬:未来30年四大趋势将推动科技产业发展
  4. jzoj3382-七夕祭【贪心,中位数】
  5. STL之deque和其他容器
  6. Spark精华问答 | Spark的计算方法是什么?
  7. python设计小游戏谁先走到17_蜗牛绕墙爬(python小游戏源码)
  8. lz0-007 读书笔记11
  9. Linux 配置vim编辑器
  10. sublime text 2 解决错误 [Decode error - output not utf-8]
  11. 小菜的系统框架界面设计-小菜用户权限管理软件开源大放送
  12. 继Spring 会议个人计划统计(补)
  13. Guideline 2.3.3 -- We noticed that your screenshots do not sufficiently reflect your app in use
  14. xxx 用户不再sudoer 文件中 此事将被报告。
  15. MySQL Workbench生成数据表关系图
  16. 模糊数学Fuzzy Set第1讲——Classic Fuzzy Set: Theory and Applications
  17. 【ADNI】数据预处理(1)SPM,CAT12;数据集
  18. 独孤九剑:算法模型训练的一般流程
  19. 金蝶云星空通过python实现物料编码审核后自动分配组织
  20. stm32h7 串口idle_【STM32H7教程】第29章 STM32H7的USART串口基础知识和HAL库API

热门文章

  1. defaultConfig——安卓gradle
  2. html调节tr的距离,css tr间距怎么设置?
  3. S5PV210 LCD屏
  4. 如何编译typescript文件,在控制台中输出结果
  5. mybatis-mate相关配置
  6. python 句子相似度 库_利用python语句的word2vec查找两个句子之间的相似度
  7. YOLOV5改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU
  8. Tiff转换Bitmap处理方法
  9. Python Turtle绘图[难度3星]:24节气倒计时(1.使用列表存储数据)
  10. CSS的hover属性