高校科研项目管理系统

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;
}
  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值