2018上C语言程序设计(高级)作业- 第4次作业

作业要求一

   1、设计思路:
            第一步:首先通过cmd进行判断
            第二步:根据题目写的分别进入不同的判断函数,进行逐一判断;
   2、实验代码:
#include <stdio.h>
#include <string.h>
int main( int argc,char *argv[] )
{
    int lines;
    int numbers;
    int words;
    while( argv[2] )
    {
        if( strcmp(argv[1],"-l") == 0)
        {
    
			    char ch;
			    FILE *fp;
			    fp = fopen( argv[2],"r" );
			    if( fp == NULL )
			    {
			        printf( "File Open Error!\n" );
			        return 0;
			    }
			    ch = fgetc(fp);
			    lines = 0;
			    while( ch != EOF )
			    {
			        if( ch == '\n' )
			        {
			            lines = lines + 1;
			        }
			        ch = fgetc(fp);
			    }
			    if( fclose(fp) )
			    {
			        printf( "Can Not Close The File!\n" );
			    }
		            printf( "%s的行数 = %d\n",argv[2],lines );
		        }
		        if( strcmp(argv[1],"-c") == 0)
		{
		    int num;
		    char ch;
		    FILE *fp;
		    fp = fopen( argv[2],"r" );
		    if( fp == NULL )
		    {
		        printf( "File Open Error!\n" );
		        
		    }
		    ch = fgetc(fp);
		    num = 0;
		    while( ch != EOF )
		    {
		        num = num + 1;
		        ch = fgetc(fp);
		    }
		    if( fclose(fp) )
		    {
		        printf( "Can Not Close The File!\n" );
		        
		    }
            printf( "%s的字符数 = %d\n",argv[2],numbers );
        }
        if( strcmp(argv[1],"-w") == 0)
        {
		    int word,f;
		    char ch;
		    FILE *fp;
		    fp = fopen( argv[2],"r" );
		    if( fp == NULL )
		    {
		        printf( "File Open Error!\n" );
		        
		    }
		    ch = fgetc(fp);
		    word = 0;
		    f = 0;
		    while( ch != EOF )
		    {
		        if(((ch >= 'a')&&(ch <= 'z'))||((ch >= 'A')&&(ch <= 'Z')))
		        {
		            f = 0;
		        }else
		        {
		            if(f == 0)
		            {
		                word = word + 1;
		                f = 1;
		            }
		        }
		        ch = fgetc(fp);
		    }
		    if( fclose(fp) )
		    {
		        printf( "Can Not Close The File!\n" );
		    
		    }
            printf( "%s的词的数目 = %d\n",argv[2],word );
        }
        break;
    }
}

(此代码是错误代码,有一个记录字符个数的是不计数的,不会改正了)

作业要求三、学习总结和进度

1、Git地址:

地址
Git截图:

2、点评3个同学的本周作业(在作业中给出被点评同学博客的链接),并邀请3名同学点评你的作业。

点评的三位同学:
丰大为
赵寅胜
董雅洁

3、请用表格和折线图呈现你本学期的代码行数和所用时间、博客字数和所用时间。

表格:

折线图:

4、本学期课程即将结束,请总结下你本课程的收获,回顾第0次作业,你是否实现了你的目标?

总结本学期学的内容,自己感受很多的是学会了指针,链表和文件等等。回顾第0次作业,我在新学期开始的时候给自己定的目标是“希望其表现在当拿到一个项目的时候在审题方面,在想方法、修bug方面都能有很大的提升。”现在学期已过半,C语言的学习已经结束,回想自己的目标,我自己还是认为自己算是实现了。自己在C语言的编程上有了很大的突破,比起上学期那个看到题目就发慌的我,现在虽然遇到难题也发慌,但总体的能力也是提升了不少,自己还是有点小满足的。但这学期自己也并不是自己所预期的那样一直保持着去学习,不去玩游戏什么的。尤其是在最后的这些时间里,我更是有了很大的松懈。自己也曾苦恼,也曾反省过,有人说可能是现在有集体舞什么的,没有时间去学习,但我自己心里很清楚,这种说法无疑是在推卸责任,如果一个人真的想学,那又怎么会被一个集体舞所阻碍呢。

5、你对目前的上课和作业方式(上课讲解+PTA+博客)有何意见和建议?

对于目前的这种上课和作业方式,我感觉挺好的,上课老师把同学在PTA中的问题讲解一下,我们可以及时的把问题弄明白,而博客我自己个人认为它就变成了我的笔记本,能够让我在以后的编程中遇到问题能及时的记录,并且通过及时的复习把知识点得以巩固(虽然我还没有做到及时的复习,只是遇到问题去翻一翻前面所学到的知识点),这样能够让我们的编程能力得到提高。至于建议,我感觉这个模式挺好的,我自己也没有什么好的建议。

6、终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。

在我们一起陪伴半个学期的时间里,我们一起学习进步,大家都在快乐中度过了,我们有时为难题一起发愁,有时为简单题而喜悦。您陪我们度过半个学期,对我们悉心照顾,我们都看在眼里,虽然有时严厉,但我们心里清楚这对我们的成长很有帮助,我对老师说没有抱怨都是感激,那都是骗人的,一个人怎么会对一个人评价都是优秀而没有批评呢,这是不可能存在的,有时抱怨,也是在老师发布新作业太难自己发发牢骚,对于给老师的建议,我希望老师以后能够尽可能的照顾到每一个同学,(虽然不太现实)但是希望老师尽可能。总之,我们一起度过半个学期,还是要感谢老师您的辛勤栽培,感谢!!!

posted @ 2018-05-06 11:56  高立彬  阅读(494)  评论(5编辑  收藏  举报