📄 zhuhanshu.cpp
字号:
#include "douwenjian1.h"
#include "touwenjian2.h"
main()
{
int j=0,i,funnumber,blank=0,remark=0,sum=0;
float remark1,blank1,sum1,total;
float average;
FILE *fp;
char c2;
struct linkst list;
i=1;
printf("为了测试程序正确与否方便,该程序自带一个待测试的程序,可以选择自行输入或用本程序所自带的测试程序进行测试\n");
printf("若想用本程序自带的文件程序测试请按Y,否则按N\n");
c2=getchar();
switch(c2)
{
case 'N':
// 自行输入程序进行测试
(list.date[i]).ch[0]=getchar();
printf("输入的函数请以@结束\n");
while( ( (list.date[i]).ch[0] ) !='@'){
//创建程序
list.date[i].row=i;
while((list.date[i]).ch[j] != '\n' && (list.date[i]).ch[j] != '@'){
j++;
(list.date[i]).ch[j]=getchar();
}
(list.date[i]).character=j;
j=0;
i++;
(list.date[i]).ch[j]=getchar();
}
list.mrow=i-1;
break;
case 'Y':
// 用本程序自带的待测程序进行测试
if((fp=fopen("sum.txt","r"))==NULL){
printf("Can't open the file!\n");
exit(0);
}
(list.date[i]).ch[0]=fgetc(fp);
while( ( (list.date[i]).ch[0] ) !='@'){
//创建程序
list.date[i].row=i;
while((list.date[i]).ch[j] != '\n' && (list.date[i]).ch[j] != '@'){
j++;
(list.date[i]).ch[j]=fgetc(fp);
}
(list.date[i]).character=j;
j=0;
i++;
(list.date[i]).ch[j]=fgetc(fp);
}
list.mrow=i-1;
break;
}
for(i=1;i<=list.mrow;i++)
if((list.date[i]).ch[0]=='\n') blank++;
//计算空行的行数
else if((list.date[i]).ch[0]=='/' && (list.date[i]).ch[1]=='/') remark++;
//计算注释行的行数
funnumber=accountfun(list);
//每个函数所占的长度,返回函数的个数
sum=list.mrow - blank - remark;
//计算代码的在程序中所占的行数
printf("Lines of code : %d\n",sum);
printf("Lines of comments: %d\n",remark);
printf("Blank lines: %d\n\n",blank);
average=CountFunAver(sum,funnumber);
//返回程序中函数的平均行数
printf("The program includes %d functions.\n",funnumber);
printf("The average length of a section of code is %7.2f lines\n\n",average);
total=(float)list.mrow;
sum1=(float)sum;
remark1=(float)remark;
blank1=(float)blank;
//将整形数据强制类型转换为浮点型
JudgeFun(sum1,remark1,blank1,total);
//评价函数风格
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -