2015年大一下第13周项目4-处理C++源代码的程序(1)main()函数

来源:互联网 发布:咖喱粉什么牌子好 知乎 编辑:程序博客网 时间:2024/06/06 17:57
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Annpion.cpp*作者:王耀鹏*完成日期:2015年6月10日*版本号:v1.0**问题描述:读入一个C++程序,判断其中是否只有一个main()函数,输出“暂时没有发现问题”,或者“没有main()函数”,或者“不能定义多个main()函数”。*输入描述:无。*输出描述:输出判断后的结果。*/#include <iostream>#include <fstream>#include <cstdlib>#include <cstring>using namespace std;int appear(char*s1,char*s2){    int n=0,i=0,j=0;    while(s1[i]!='\0')    {        if(s1[i]==s2[j])        {            ++i;            ++j;            if(s2[j]=='\0')            {                ++n;                j=0;            }        }        else        {            i=i-j+1;            j=0;        }    }    return n;}int main(){    char line[256];    char main[8]="main()";    int main_num=0;    ifstream infile("source.cpp",ios::in);    if(!infile)    {        cerr<<"source code read error!"<<endl;        exit(1);    }    while(!infile.eof())    {        infile.getline(line,256,'\n');        main_num+=appear(line,main);        if(main_num>1)            break;    }    if(main_num==0)        cout<<"error: no main()"<<endl;    else if(main_num>1)        cout<<"error: more than one main()"<<endl;    else cout<<"right:a main() be exist."<<endl;    return 0;}


运行结果:

0 0
原创粉丝点击