第四次作业
代码:
#include <stdio.h>
int charcalculate=0;
int wordcalculate=0;
int linecalculate=0;
void calculate(char * file)
{
FILE * fp;
char a;
if((fp=fopen(file,"r"))==NULL)
{
printf("read file failed!\n");
exit(-1);
}
while(!feof(fp))
{
a=fgetc(fp);
if(a!=' '&&a!='\n'&&a!='\t'&&a!=','&&a!='.'&&a!='!'&&a!=';'&&a!='=')
charcalculate++;
if(a==' '||a=='\n'||a=='\t'||a==','||a=='.'||a=='!'||a=='='||a==';')
wordcalculate++;
if(a=='\n'||a=='\t')
linecalculate++;
}
linecalculate++;
charcalculate--;
fclose(fp);
}
int main(int argc, char* argv[])
{
FILE *fp;
calculate(argv[2]);
while(1)
{
if((fp=fopen(argv[2],"r"))==NULL)
{
printf("FileNull\n\n\n");
scanf("%s%s%s",argv[0],argv[1],argv[2]);
continue;
}
else if(!strcmp(argv[1],"-c"))
printf("File:%sCharNum:%d\n",argv[2],charcalculate);
else if(!strcmp(argv[1],"-w"))
printf("File:%sWordNum:%d\n",argv[2],wordcalculate);
else if(!strcmp(argv[1],"-l"))
printf("File:%sLineNum:%d\n",argv[2],linecalculate);
else if(!strcmp(argv[1],"exit"))
{
printf("Exit!\n");
break;
}
else
printf("NullPoint\n");
printf("\n\n");
scanf("%s%s%s",argv[0],argv[1],argv[2]);
}
return 0;
}
1、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。
https://coding.net/u/AssassinCreed/p/Devil-May-Cry/git?public=true
2、点评3个同学
3、表格和折线图
4、本学期课程即将结束,请总结下你本课程的收获,回顾第0次作业,你是否实现了你的目标?
在本学期中我学到了更多关于c语言的知识,主要有指针,链表,文件等,这学期的目标只能说是完成了一部分。不过我会继续努力。
5、你对目前的上课和作业方式(上课讲解+PTA+博客)有何意见和建议?
上课讲解能够使同学们听懂,不懂的地方能够重复讲解。PTA作业能够针对上课讲的知识进行巩固和复习。这都没什么问题。我觉得最大的问题在博客上,对于这项作业,我相信大多数同学都是很不情愿去做的。我觉得问题出在流程图和后边的表格和折线图上。流程图虽然能帮助我们理清思路,但过于繁琐,画一个流程图起码要25分钟的时间,后边较为复杂的代码流程图要用的时间更长,这就导致了很多抄袭,复制图片的情况出现。所以我建议取消流程图这一项。后面的表格和折线图,这里出现的问题和前面的截然不同,毕竟我们不是每个人在敲完代码或写完一次博客后都把代码行数和博客字数详细地记录下来。我相信这一项很多同学都是编的。失去了这项任务原有的意义,而且也浪费时间。这一项我也建议取消。
6、终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
从上课和批改作业的情况来看,我觉得您是一位特别负责任的老师。我并没有抱怨的话可说。也感谢老师这这九周的陪伴。