北京环球影视城:谁能帮我改这道C++的题啊,我给他加100分.1问题描述:统计某篇英文小说中某些单词的出现次数.

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/08 17:41:38
#include<stdio.h>
main()
{
FILE*FP;
char ch,num,filename;
int strcount(char *fp,char ch);
scanf("%s",filename);
num=strcount(ch);
scanf("%s",&ch);
return num;
printf("单词%s在文中出现的次数是%d\n\n",ch,num);
}
我是C++新手,很不行啊,请各位帮帮忙.谢谢.
不好意思啊,楼上三位做的都运行不了啊,说有错误.我用的是C++6.0版本的.感谢三楼朋友,有办法做合适的吗??不用长,自己合要求就行了..

把return num删除把或放到最后....

#include<stdio.h>
main()
{
FILE*FP;
char ch,num,filename;
int strcount(char *fp,char ch);
scanf("%s",filename);
num=strcount(ch);
scanf("%s",&ch);
return num;
printf("单词%s在文中出现的次数是%d\n\n",ch,num);
}
我是C++新手,很不行啊,请各位帮帮忙.谢谢.

#include<stdio.h>
#define MAX_STRING_LEN 10
int strcount(FILE *fp,char *ch);

main()
{
FILE*FP;
char ch[MAX_STRING_LEN],filename[MAX_STRING_LEN];
int num;

//输入文件名
scanf("%s",filename);

// 打开文件
FP = fopen(filename,"r+b");
if(!FP)
{
printf("\nFile open failed.");
return -1;
}

//输入待查的单词
scanf("%s",&ch);

//利用此接口得到个数,具体实现见下面代码;
num=strcount(FP,ch);

printf("单词%s在文中出现的次数是%d\n\n",ch,num);
fclose(FP);

return num;
}

//*********************************//
// int strcount(FILE *fp,char *ch);
//*********************************//
int strcount(FILE *fp,char *ch)
{
char * _file_buf;
int _file_size;
int _read_tmp = 1;
int _str_cnt;

// 判断指针是否无效;
if(!(fp && ch))
return 0;

while(_read_tmp!=EOF)
{
_read_tmp = getc(fp);
_file_size++;
}

// 检查文件大小。
if(1 == _file_size)
return 0;
else
_file_size--;

// 注意不同系统分配堆内存的接口的多样性。
_file_buf = malloc(_file_size + 2);
if(NULL != _file_buf)
return 0;

//****** 文内字符串搜索算法 *********//
{
int _str_len;

_read_tmp = 0;
_str_len = strlen(ch);

//初始化缓冲,文件指针移至页首
_file_buf[_read_tmp++] = 0x20;
rewind(fp);

// 读文件缓冲
fgets(&(_file_buf[_read_tmp]),_file_size,fp)

// 初始化缓冲末
_file_buf[_file_size+1] = 0x20;

while( _read_tmp < (_file_size+1) )
{
if( (_file_buf[_read_tmp] == *ch) && (0x20 == _file_buf[_read_tmp -1]) )
{
if( !strcmp(&(_file_buf[_read_tmp]),ch,_str_len ) )
{
if( 0x20 == _file_buf[_read_tmp + _str_len])
_str_cnt++;
}
}// end if( (_file_buf[_read_tmp]...

_read_tmp++;
} // end while(...)

}// {...}

//****** 文内字符串搜索算法 *********//

rewind(fp);
return _str_cnt;
}

*******************************
楼主一定要给分啊,花了我很长时间。
而且,这个不是c++代码,这是c代码