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
- 2015年大一下第13周项目4-处理C++源代码的程序(1)main()函数
- 2015年大一下第11周项目4-点、圆的关系(1)重载输入输出函数
- 2015年大一下第4周项目3-用多文件组织多个类的程序
- 2015年大一下第1周项目4-时间类
- 2015年大一下第3周项目1-三角形的构造函数(1)使用带参数构造函数
- 2015年大一下第3周项目1-三角形的构造函数(2)设计默认构造函数
- 2015年大一下第1周项目1-阅读程序(1)
- 2015年大一下第1周项目1-阅读程序(2)
- 2015年大一下第4周项目1-体验常成员函数
- 2015年大一下第12周项目0-阅读程序
- 2015年大一下第12周项目4-链表类(1)
- 2015年大一下第2周项目3-程序的多文件组织
- 2015年大一下第14周项目1-用二进制文件处理学生成绩
- 2015年大一下第12周项目2-形状类族的中的纯虚函数
- 2015年大一下第11周项目0-多重继承(程序填空)
- 2015年大一下第1周项目2-旱冰场造价
- 2015年大一下第1周项目3-长方体类
- 2015年大一下第3周项目1-三角形的构造函数(2)使用有默认参数的构造函数
- 第十四周 阅读项目 C++对文本输入输出
- IOS UIView方法详细解析
- Linux上mysql数据库端口3306没对外开放的情况下,用navicat连接数据库
- 单例模式_装饰模式_模板模式
- C语言入门教程18-指针与字符串
- 2015年大一下第13周项目4-处理C++源代码的程序(1)main()函数
- 第十四周项目七
- 通讯录——数据结构课设
- UI设计规范
- getopt 模块:命令行选项和参数的函数
- 【struts2】中method={1}详解
- OpenStack之tempest
- c++ 智能指针用法详解
- php数组求和array_merge和+号 的区别