标题:[求助] 大虾们帮忙看看这个程序怎么使用啊??
只看楼主
cumtjack
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-11-19
 问题点数:0 回复次数:0 
[求助] 大虾们帮忙看看这个程序怎么使用啊??

#include<iomanip.h>
#include<fstream.h>
#include<process.h>
#include<string.h>


int lookfor(char A[][10],int n,char key[]) //使用折半查找法
{
int low,high,mid;
char midValue[30];
low=0;
high=n-1;
while(low<=high) //没有查找完
{
mid=(low+high)/2; //查找过程
strcpy(midValue,A[mid]);
if(strcmp(key,midValue)==0)
return mid;
else
if(strcmp(key,midValue)<=0)
high=mid-1;
else
low=mid+1;
}
return -1; //查找完,没有找到,返回-1
}


void main()
{
char str[101],ch; //用来存放读入一行,100个字符加一个结束符
char keyWordTable[20][10]={"break","case","char","class","const","continue","default",
"do","double","else","float","for","int","if","long","return",
"switch","template","void","while"};

int count[20],i,j; //存放记录关键字存放次数的数组

for(i=0;i<20;i++)

count[i]=0; //记录关键字出现的次数

char fileName[30]; //输入文件名
cout<<"fileName=?:";
cin>>fileName;
ifstream fin(fileName,ios::nocreate); //打开存在的文件;否则失败,退出程序
if(fin.fail())
{
cout<<fileName<<"can not be opened!"<<endl;
exit(1);}
while(!fin.eof()){
fin.getline(str,101); //读入一行
for(j=0;j<101 && str[j]!='\0';j++)
{
ch=str[j];
char word[30]=""; //存放字母串
int idx;
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
{
while(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
{
word[idx++]=ch;
ch=str[++j];
}
word[idx]='\0';
int res=lookfor(keyWordTable,20,word);
if(res!=-1)
count[res]++;
j--;
}
}
}
cout<<" The result "<<endl;
for(i=0;i<20;i++)
if(count[i])
cout<<setw(10)<<keyWordTable[i]<<":"<<setw(3)<<count[i]<<endl;
}



要求输入的.cpp文件,应该是放在那里的?程序是没有错误的.我试过,输入什么.cpp文件
都会显示无法读取文件,文件不能被打开,怎么回事啊?
小弟急等着^^^^^

搜索更多相关主题的帖子: include return 
2005-11-28 15:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-35533-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051322 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved