我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 调试程序时出现的问题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

光子vs电子



性别: 帅哥 状态: 该用户目前不在线
头衔: 程序小白
等级: 人见人爱
家族: YD一族
发贴: 3379
威望: 0
浮云: 0
在线等级:
注册时间: 2007-04-29
最后登陆: 2022-12-09

5come5帮你背单词 [ ample /'æmpl/ a. 充分的,足够的,大的,宽敞 ]


调试程序时出现的问题

这个程序是读入一个文本,然后输出该文本,并且打印文本中行的数目以及每一个字母出现的次数(不分大小写)因为刚开始用VC,提示都看不懂,求达人不吝赐教
//Program: Line and letter count
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
void initialize(int& lc,int list[]);
void copyText(ifstream& intext,ofstream&,outtext,char& ch,int list[]);
void characterCount(char ch,int list[]);
void writeTotal(ofstream& outtext,int lc,int list[]);
int list[26];
int main()
{
    //Step 1;Declare variables
int lineCount;
int letterCount[26];
char ch;
ifstream infile;
ofstream outfile;
infile.open("e:a.txt");
if(!infile)
{
  cout<<"Cannot open  input file."<<endl;
  return 1;
}
outfile.open("e:b.txt");
initialize(lineCount,letterCount);
infile.get(ch);
while(infile)
{
    copyText(infile,outfile,ch,letterCount);
    lineCount++;
    infile.get(ch);
}
writeTotal(outfile,lineCount,ch,letterCount);
infile.close();
outfile.close();
return 0;
}
void initialize(int& lc,int list[])
{
    int j;
    lc=0;
    for(j=0;j<26;j++)
        list[j]=0;
}
void copyText(ifstream& intext,ofstream& outtext,char& ch,int list[])
{
    while(ch!='\n') //Process the entire line
    {
        outtext<<ch;//Output the character
        characterCount(ch,list);
        intext.get(ch);//Read the next character
    }outtext<<ch;//Output the newline character
}
void characterCout(char ch,int list[])
{
    int index;
    ch=toupper(ch);
    index=static_cast<int>(ch-65);//Step b
    if(0<=index&&index>=26)//Step c
        list[index]++;
}
void writeTotal(ofstream& outtext,int lc,int list[])
{
    int index;
    outtext<<endl<<endl;
    outtext<<"The number of lines="<<lc<<endl;
    for(index=0;index<26;index++)
        outtext<<static_cast<char>(index+65)<<"count="
        <<list[index]<<endl;
}
顶端 Posted: 2008-01-01 19:48 | [楼 主]
路客与刀客



性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: 梦魇图腾
发贴: 1980
威望: 0
浮云: 1186
在线等级:
注册时间: 2007-01-02
最后登陆: 2008-06-29

5come5帮你背单词 [ steam /sti:m/ n. 蒸汽;vi. 冒热气,(火车,轮船)行驶;vt. 蒸煮 ]


晕,犯的全是些小孩子犯的错误,以下是我改过之后无语法错误的代码,至于逻辑是否有错误我就不得而知了,运行结果如上图。
Quote:

#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
void initialize(int& lc,int *list);
void copyText(ifstream & intext,ofstream &outtext,char& ch,int *list);
void characterCount(char ch,int *list);
void writeTotal(ofstream& outtext,int lc,int *list);
int list[26];
int main()
{
    //Step 1;Declare variables
    int lineCount;
    int letterCount[26];
    char ch;
    ifstream infile;
    ofstream outfile;
    infile.open("e:a.txt");
    if(!infile)
    {
     cout<<"Cannot open  input file."<<endl;
     return 1;
    }
    outfile.open("e:b.txt");
    initialize(lineCount,letterCount);
    infile.get(ch);
    while(infile)
    {
        copyText(infile,outfile,ch,letterCount);
        lineCount++;
        infile.get(ch);
    }
    writeTotal(outfile,lineCount,letterCount);
    infile.close();
    outfile.close();
    return 0;
}
void initialize(int& lc,int *list)
{
    int j;
    lc=0;
    for(j=0;j<26;j++)
        list[j]=0;
}
void copyText(ifstream& intext,ofstream& outtext,char& ch,int *list)
{
    while(ch!='\n') //Process the entire line
    {
        outtext<<ch;//Output the character
        characterCount(ch,list);
        intext.get(ch);//Read the next character
    }outtext<<ch;//Output the newline character
}
void characterCount(char ch,int *list)
{
    int index=0;
    ch=toupper(ch);
    index=static_cast<int>(ch-65);//Step b
    if(0<=index&&index>=26)//Step c
        list[index]++;
}
void writeTotal(ofstream& outtext,int lc,int *list)
{
    int index;
    outtext<<endl<<endl;
    outtext<<"The number of lines="<<lc<<endl;
    for(index=0;index<26;index++)
        outtext<<static_cast<char>(index+65)<<"count="
        <<list[index]<<endl;
}
远程图片:11.JPG
顶端 Posted: 2008-01-03 22:19 | [1 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.011564(s) query 8, Time now is:06-03 20:36, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号