1ˎ问题描述

科研项目:科研项目编号,项目名称,项目来源,审定类别(结题,验收,鉴定),完成人姓名,排名,完成时间,获奖情况( 一等、二等、三等、无)。
设计程序,实现项目信息的录入(保存到文件),浏览,更改,删除,统计,排序,查询等功能。

2ˎ功能要求

1).科研项目的信息用结构体project来表示。

struct project{
int id; //科研项目编号
char name[20]; //科研项目名称
char type[10]; //科研审定类别
….
}

2).能够录入科研项目信息。

3).能够按项目名称、审定类别、完成人姓名查询,可以查询获奖情况是一等的项目信息。查询方式可以自己补充。

4).能够按完成时间统计的每年项目数量。

5).能够计算完成人科研分总分,按科研分高低顺序显示。

一个项目100分(第一名40%,第二名20%,第三名15%,第四名12%,第五名8%,第六名5%)。如果获奖,三等奖则120分,二等奖则150分,三等奖则200分。如果一个项目完成人不足6人,平分后面人员的科研分给前面项目完成人。

6).能够删除、修改科研项目的信息。

7).系统的各个功能模块要求用函数的形式实现。

8).科研项目信息保存在文件里(保存、读取、文件复制)。

3ˎ功能实现

1)

struct project         //定义结构体
{ int    id;            char  name[20];       char  type[20];       char  wname[20][6]; int   renshu;  int time;             int huojiang;
};project w[N];

定义结构体数组,每个结构体分为 w[i].id; w[i].name;w[i].type;w[i].wname;w[i].renshu; w[i].time;w[i].huojiang; 七部分,并且在每个函数中定义FILE类型指针变量fp,fp=fopen(“project.dat”,“ab+”)通过fp指向结构体变量w[i]而访问定义的文件project.dat。

2)录入函数

while(1){      cin>>w[i].id;cin>>w[i].name;cin>>w[i].type;cin>>w[i].renshu; for(k=0;k<w[i].renshu;k++){cin>>w[i].wname[k];}  cin>>w[i].time;cin>>w[i].huojiang;  i++;}for(q=0;q<i;q++)fwrite(&w[q],sizeof(project),1,fp);

重新录入以ab+方式打开文件,分别将七个部分赋值给结构体数组,再将结构体数组内容用一个for循环顺序写入文件。

3)浏览函数

for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;                                                  //输入项目个数for(i=0;i<=q;i++)                              //依次输出每个结构体{cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}

以ab+方式打开文件,从文件中读取数据放到结构体数组w[i]中,用for循环依次输出每个结构体内容。

4)查找函数(以项目名查找为例)

cin>>y;for(i=0;i<=q;i++)
{         if(strcmp(y,w[i].name)==0)               //字符比较,相同输出{cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++)                      //依次输出成员姓名{cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(6)<<w[i].huojiang;cout<<endl;}     }

共分四部分,分别为项目名称查找,鉴定类别查找,完成人姓名查找,获奖情况查找,(以项目名查找为例)选定项目名称查找,输入项目名称用strcmp函数与w[i].name比较,相同即输出此结构体。

5)统计函数

cin>>n;for(k=0;k<=q;k++)                            //依次比较,相同本年项目数加1{if(n==w[k].time)  s++;}

输入年份,定义整数s=0用for循环strcmp函数将输入年份与w[i].time比较,相同s=s+1。
s为本年的项目总数。

6)分数排序函数

if(w[i].huojiang==0)          //判断所获奖项,并将对应总分传递给分数计算函数{fenshu(100,i);}else if(w[i].huojiang==1){fenshu(200,i);}else if(w[i].huojiang==2){fenshu(150,i);}else if(w[i].huojiang==3){fenshu(120,i);}
{   if(j==1)                                       //判断小组人数cout<<h<<endl;else if(j==2)cout<<h*0.6<<"  "<<h*0.4<<endl;else if(j==3)cout<<h*(0.4+0.25/3)<<"  "<<h*(0.2+0.25/3)<<"  "<<h*(0.15+0.25/3)<<endl;else if(j==4)cout<<h*(0.4+0.13/4)<<"  "<<h*(0.2+0.13/4)<<"  "<<h*(0.15+0.13/4)<<"  "<<h*(0.12+0.13/4)<<endl;else if(j==5)cout<<h*0.41<<"  "<<h*0.21<<"  "<<h*0.16<<"  "<<h*0.13<<"  "<<h*0.09<<endl;else if(j==6)cout<<h*0.4<<"  "<<h*0.2<<"  "<<h*0.15<<"  "<<h*0.12<<"  "<<h*0.08<<"  "<<h*0.05<<endl;
}

主要有两个问题,一个是判断获奖情况,所得奖项不同科研总分不同;另一个是判断小组人数,人数不同,分数比例不同。所以设计为嵌套函数,由w[i].huojiang判断获奖情况,根据获奖情况不同,选择不同的总分,同时调用并将相对应的总分这个参数传递到分数计算函数中,在分数计算函数中,设置总分形参h,需要排序的项目序号t,先由w[t].renshu判断每小组人数,利用人数不同,选择不同比例计算个人分数。

7)修改函数

cout<<"请输入:要修改的科研项目编号:"<<endl; cin>>z;for(i=0;i<=q;i++)if(w[i].id==z)k=i;

打开文件,输入需要修改的项目编号,显示包含此项目编号的项目信息。

{ cin>>w[k].name;}      //对需修改的信息重新赋值

选择要修改的内容,重新赋值,其他不变,修改之后重新写入文件中。

8)删除函数

打开文件,输入需删除的项目编号Z,在for循环中用strcmp将输入项目编号与w[i].id比较。

cout<<"请选择要删除的项目编号:";cin>>z;for(i=0;i<=q;i++){ if(w[i].id==z)k=i;}

相同将此结构体标记,将除此之外的其他数据依次重新写入文件。

 for(i=0;i<k;i++) fwrite(&w[i],sizeof(project),1,fp);for(i=k+1;i<=q;i++)                    fwrite(&w[i],sizeof(project),1,fp);

4ˎ源代码及注释说明

#include<iostream>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<iomanip>
using namespace std;
#define N 100
char y[20];
int z,p,g,l;
struct project         //定义结构体
{   int    id;            char  name[20];       char  type[20];       char  wname[20][6]; int   renshu;  int time;             int huojiang;
};project w[N];                 //定义结构体数组
void luru()           //录入函数
{FILE *fp;int i=0,n,q,k,j,r;if((fp=fopen("project.dat","ab+"))==NULL){cout<<"此文件打不开"<<endl;exit(0);} while(1){cout<<"请输入科研项目编号:"<<endl;cin>>w[i].id;cout<<"请输入科研项目名称:"<<endl;cin>>w[i].name;cout<<"请输入科研审定类别:"<<endl;cin>>w[i].type;cout<<"请输入成员人数"<<endl;cin>>w[i].renshu; cout<<"请输入完成人姓名:"<<endl;for(k=0;k<w[i].renshu;k++){cin>>w[i].wname[k];}    cout<<"请输入完成时间:"<<endl;cin>>w[i].time;cout<<"请输入获奖情况(一二三等奖分别为123,无则为0):"<<endl;cin>>w[i].huojiang;   i++;cout<<"1.继续录入;0.退出录入"<<endl;cin>>n;if(n==0){cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;break;} }for(q=0;q<i;q++)fwrite(&w[q],sizeof(project),1,fp);                       //将数据写入文件
fclose(fp);
}
void liulan()                                                       //浏览函数
{int i,n,q,k;FILE *fp;if((fp=fopen("project.dat","rb"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;                                                     //输入个数cout<<"序号"<<setw(4)<<"编号"<<setw(7)<<"项目"<<setw(7)<<"类别"<<setw(10)<<"完成人"<<setw(38)<<"时间"<<setw(7)<<"获奖"<<endl; for(i=0;i<=q;i++)                              //依次输出每个结构体{cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;
}
void chazhao()                    //查找函数
{int i,n,q,k;
FILE *fp;
if((fp=fopen("project.dat","rb"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}
for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;      cout<<"请选择查找方式:0-退出查找;1-项目名称;2-审定类别;3-完成人姓名;4-获奖情况"<<endl;while(1){cin>>n;if(n<0||n>4){    cout<<"输入错误,请重新输入"<<endl;break;    }if(n==0)                            //项目名称查找 {cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;break;}else if(n==1){cout<<"请输入项目名称:"<<endl;cin>>y;cout<<"序号"<<setw(4)<<"编号"<<setw(7)<<"项目"<<setw(7)<<"类别"<<setw(10)<<"完成人"<<setw(38)<<"时间"<<setw(7)<<"获奖"<<endl; for(i=0;i<=q;i++){if(strcmp(y,w[i].name)==0)               //字符比较,相同输出{cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++)                      //依次输出成员姓名{cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(6)<<w[i].huojiang;cout<<endl;}         }cout<<endl;cout<<"请选择查找方式:0-退出查找;1-项目名称;2-审定类别;3-完成人姓名;4-获奖情况"<<endl;}else if(n==2)                                                  //类别查找 {cout<<"请输入审定类别:"<<endl;cin>>y;cout<<"序号"<<setw(4)<<"编号"<<setw(7)<<"项目"<<setw(7)<<"类别"<<setw(10)<<"完成人"<<setw(38)<<"时间"<<setw(7)<<"获奖"<<endl;for(i=0;i<=q;i++)if(strcmp(y,w[i].type)==0){cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}cout<<endl;         cout<<"请选择查找方式:0-退出查找;1-项目名称;2-审定类别;3-完成人姓名;4-获奖情况"<<endl;}else if(n==3)                                                  //姓名查找 {cout<<"请输入完成人姓名:"<<endl;cin>>y;cout<<"序号"<<setw(4)<<"编号"<<setw(7)<<"项目"<<setw(7)<<"类别"<<setw(10)<<"完成人"<<setw(38)<<"时间"<<setw(7)<<"获奖"<<endl; for(i=0;i<=q;i++){for(k=0;k<6;k++)if(strcmp(y,w[i].wname[k])==0){cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}} cout<<endl;cout<<"请选择查找方式:0-退出查找;1-项目名称;2-审定类别;3-完成人姓名;4-获奖情况"<<endl;        }else if(n==4)                                                 //获奖查找 {cout<<"请输入获奖情况:"<<endl;cin>>z;cout<<"序号"<<setw(6)<<"编号"<<setw(9)<<"项目"<<setw(9)<<"类别"<<setw(12)<<"完成人"<<setw(50)<<"时间"<<setw(9)<<"获奖"<<endl; for(i=0;i<=q;i++)if(z==w[i].huojiang){cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}cout<<endl;                 cout<<"请选择查找方式:0-退出查找;1-项目名称;2-审定类别;3-完成人姓名;4-获奖情况"<<endl; }
}
}
void xiangmu()                                             //年项目数量函数
{   int i,q,k;int n;int s=0;FILE *fp;if((fp=fopen("project.dat","rb"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;cout<<"完成时间:"<<endl;cin>>n;for(k=0;k<=q;k++)                            //依次比较,相同本年项目数加1{if(n==w[k].time)    s++;}cout<<"第"<<n<<"年,共完成"<<s<<"个项目"<<endl;
cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;
}
void fenshu(double h,int t)              //分数计算函数,设置形参
{int k,j,q,i;FILE *fp;project w[N];if((fp=fopen("project.dat","rb"))==NULL){ cout<<"此文件打不开"<<endl;exit(0);}for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;          cout<<setiosflags(ios::fixed);cout.precision(2);                          //使输出的分数保留两位小数for(k=0;k<=q;k++)fread(&w[k],sizeof(project),1,fp);{j=w[t].renshu;                                cout<<"共"<<j<<"人,分数分别为:";             //人数不同,分数比例不同if(j==1)                                       //判断小组人数cout<<h<<endl;else if(j==2)cout<<h*0.6<<"  "<<h*0.4<<endl;else if(j==3)cout<<h*(0.4+0.25/3)<<"  "<<h*(0.2+0.25/3)<<"  "<<h*(0.15+0.25/3)<<endl;else if(j==4)cout<<h*(0.4+0.13/4)<<"  "<<h*(0.2+0.13/4)<<"  "<<h*(0.15+0.13/4)<<"  "<<h*(0.12+0.13/4)<<endl;else if(j==5)cout<<h*0.41<<"  "<<h*0.21<<"  "<<h*0.16<<"  "<<h*0.13<<"  "<<h*0.09<<endl;else if(j==6)cout<<h*0.4<<"  "<<h*0.2<<"  "<<h*0.15<<"  "<<h*0.12<<"  "<<h*0.08<<"  "<<h*0.05<<endl;
}
cout<<endl;
}
void paixu()                            //分数排序函数
{ int i,j=0,n,r,q,x,g,k,h;int t[10],M;FILE *fp;project w[N];if((fp=fopen("project.dat","rb"))==NULL){   cout<<"此文件打不开"<<endl;exit(0);}for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;          cout<<"请选择项目序号:"; cin>>i;i=i-1;                                        //第i个项目对应w[i-1]cout<<"序号"<<setw(4)<<"编号"<<setw(7)<<"项目"<<setw(7)<<"类别"<<setw(10)<<"完成人"<<setw(38)<<"时间"<<setw(7)<<"获奖"<<endl; {cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}fread(&w[k],sizeof(project),1,fp);              if(w[i].huojiang==0)          //判断所获奖项,并将对应总分传递给分数计算函数{fenshu(100,i);}else if(w[i].huojiang==1){fenshu(200,i);}else if(w[i].huojiang==2){fenshu(150,i);}else if(w[i].huojiang==3){fenshu(120,i);}   cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;
}
void xiugai()                            //修改信息函数
{ int i,j,n,r,q,k;double s=0;double t[10];FILE *fp;if((fp=fopen("project.dat","rb"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;cout<<"项目编号:";for(i=0;i<=q;i++)cout<<w[i].id<<setw(9);cout<<endl;while(2){cout<<"1.修改;0.退出!"<<endl;cin>>r;if(r==0){break;}else{cout<<"请输入:要修改的科研项目编号:"<<endl; cin>>z;for(i=0;i<=q;i++)if(w[i].id==z){ k=i;                                   //标记此结构体cout<<"序号"<<setw(4)<<"编号"<<setw(7)<<"项目"<<setw(7)<<"类别"<<setw(10)<<"完成人"<<setw(38)<<"时间"<<setw(7)<<"获奖"<<endl; {cout<<i+1<<setw(6)<<w[i].id<<setw(8)<<w[i].name<<setw(7)<<w[i].type;for(k=0;k<6;k++){cout<<setw(7)<<w[i].wname[k];}cout<<setw(6)<<w[i].time<<setw(4)<<w[i].huojiang;cout<<endl;}}cout<<"请选择修改信息内容"<<endl;cout<<"0-退出函数"<<endl;cout<<"1-项目名称"<<endl;cout<<"2-审定类别"<<endl;cout<<"3-完成人姓名"<<endl;cout<<"4-完成时间"<<endl; cout<<"5-获奖情况"<<endl;cin>>p;if(p==0){cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;break;}else if(p==1){cout<<"更改为:"<<endl; cin>>w[k].name;cout<<"修改成功!"<<endl;}      //对需修改的信息重新赋值else if(p==2){cout<<"更改为:"<<endl; cin>>w[k].type;cout<<"修改成功!"<<endl;}else if(p==3){cout<<"更改为:"<<endl; for(i=0;i<6;i++)cin>>w[k].wname[i];cout<<"修改成功!"<<endl;}else if(p==4){cout<<"更改为:"<<endl;cin>>w[k].time;cout<<"修改成功!"<<endl;}else if(p==5){cout<<"更改为:"<<endl;cin>>w[k].huojiang;cout<<"修改成功!"<<endl;}  }}if((fp=fopen("project.dat","wb+"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}for(i=0;i<=q;i++)                            //将更改后的数据重新写入文件fwrite(&w[i],sizeof(project),1,fp);cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;
fclose(fp);
}
void shanchu()                                               //删除项目函数
{ int i,j,n,r,q,k;double s=0;double t[10];FILE *fp;if((fp=fopen("project.dat","rb"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}for(i=0;fread(&w[i],sizeof(project),1,fp)!=0;i++)q=i;while(2){for(i=0;i<=q;i++)cout<<w[i].id<<setw(9);cout<<endl;cout<<"请选择要删除的项目编号:";cin>>z;for(i=0;i<=q;i++)if(w[i].id==z)k=i;cout<<"按0确认删除"<<endl;cin>>p;if((fp=fopen("project.dat","wb+"))==NULL){cout<<"此文件打不开"<<endl;exit(0);}for(i=0;i<k;i++)                 //将所选项目之前的项目信息重新写入文件fwrite(&w[i],sizeof(project),1,fp);for(i=k+1;i<=q;i++)           //将所选项目之前的项目信息重新写入文件fwrite(&w[i],sizeof(project),1,fp);if(p==0){cout<<"删除成功!"<<endl; cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;break;}}
fclose(fp);
}
int main()                                                 //连接函数 主函数
{int a;
cout<<"      ***欢迎进入高校科研项目管理系统***     "<<endl; cout<<"请选择:\n 0-退出系统; \n 1-录入; \n 2-查找; \n 3-年项目数量; \n 4-分数排序; \n 5-修改; \n 6-删除; \n 7-浏览"<<endl;while(1)                                           //实现各个模块之间的链接{while(1){cin>>a;if(a<0||a>7){cout<<"输入错误,请重新输入"<<endl;break;}      if(a==0) {cout<<"谢谢使用本系统!"<<endl; exit(0);}else if(a==1)luru();else if(a==2)chazhao();else if(a==3)xiangmu();else if(a==4)paixu();else if(a==5)xiugai();else if(a==6)shanchu();else if(a==7)liulan();}}
return 0;
}

高校科研项目管理系统相关推荐

  1. [含文档+源码等]高校科研项目管理系统[包运行成功]

       博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 [含文档+源码等]高校科研项目管理系统[包运行成功] 演示视频 视频去哪了呢 ...

  2. 计算机毕业设计asp.net的高校科研项目管理系统(源码+系统+mysql数据库+Lw文档)

    项目介绍 近年来,随着高校和一些大企业对科研的重视和广大教师及科研工作者对科研工作的极大热情,高校和大企业的都拥有了自己的科研管理系统且有了长足发展.但是传统的科研信息管理由于是手工操作,工作量大且容 ...

  3. [含论文+源码等]高校科研项目管理系统[包运行成功]

     源码获取:我的博客资源页面可以下载!!!! 项目名称 [含论文+源码等]高校科研项目管理系统[包运行成功] 系统介绍 <高校科研项目管理系统>该项目采用技术:jsp +servlet + ...

  4. asp.net高校科研项目管理系统

    本高校科研项目管理系统可以说是一个综合性的高校科研项目管理系统,这它包含了学生用户信息管理模块.教师管理,学生信息管理,项目管理等多种功能,因而具有一定的实用性.本站是一个B/S模式系统,开发采用了目 ...

  5. 基于javaweb+jsp的高校科研项目管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)

    基于javaweb+jsp的高校科研项目管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot) JavaWeb JavaBean JSP MV ...

  6. java计算机毕业设计高校科研项目管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计高校科研项目管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计高校科研项目管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目 ...

  7. java-net-php-python-ssm高校科研项目管理系统计算机毕业设计程序

    java-net-php-python-ssm高校科研项目管理系统计算机毕业设计程序 java-net-php-python-ssm高校科研项目管理系统计算机毕业设计程序 本源码技术栈: 项目架构:B ...

  8. java计算机毕业设计高校科研项目管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计高校科研项目管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计高校科研项目管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构 ...

  9. springboot+jsp高校科研项目管理系统java

    软件编程是孤独的,也是枯燥的.在外行看似简单的一个操作,背后却是数以百行的代码,有时一个项目的开发甚至需要连续十几天甚至一个月. 软件开发入行的同学很多,但真正能坚持下去的却很少,因为软件行业加班是出 ...

  10. 高校科研项目管理系统(含源码+论文+答辩PPT等)

    该项目采用技术:JSP +Servlet +MySQL+jdbc+css+js等相关技术,项目含有源码.文档.配套开发软件.软件安装教程.项目发布教程等 项目功能介绍: 系统管理:用户登录退出密码修改 ...

最新文章

  1. 均方根误差不超过_描述数值预报随机误差的利器:随机物理扰动组合方案
  2. 设计模式之策略模式学习笔记
  3. hdu 5059 判断数字表示方式以及范围合法(int型之内)
  4. .process和ProcessFunction(没有整理完)
  5. 如何在ui5 xml view中使用嵌入的自定义css style
  6. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾 1
  7. 【数据结构】trie树
  8. 两台电脑共享怎么设置_两台电脑共用键鼠的简单设置
  9. JS和OC间的通信(使用JavaScriptCore)
  10. python为什么叫爬虫-Python为什么叫爬虫
  11. 圆形刻度盘 进度 展示
  12. 16.卷2(进程间通信)---Sun RPC
  13. linux系统进入管理员命令行,电脑如何进入管理员命令提示符
  14. 与关系型数据库相比,MongoDB的优缺点
  15. mysql 高可用方案
  16. matlab中的方波信号图片_【Matlab】Sound
  17. 前端使用Aliplayer 播放器 播放flv直播流
  18. UE4中程序驱动的LookAt动画
  19. hdu 校赛 油菜花王国
  20. 什么是四种七和弦 和三种转位

热门文章

  1. 微信机器人控制linux,微信运维交互机器人的示例代码
  2. 文字版--九九乘法表 c语言
  3. 数据结构与算法分析 C++语言描述(第四版)参考答案
  4. 如何判断电脑是否中毒(转)
  5. 深入解析Windows操作系统(笔记1)
  6. 网络安全05_VMware 虚拟机软件安装_准备Kali- Linux虚拟机_Windows Server 2003 Enterprise 虚拟机下载和安装
  7. 暴风影音 去广告 方法
  8. 不用再为机翻头疼!sci论文写作翻译神器推荐
  9. java 报表 存储过程_快逸报表数据集类型采用存储过程介绍
  10. 26个数据分析案例——第三站:基于python的药店销售数据分析