#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
// string input; //need to declare user input first
// cout << "Please enter the file you wish to be counted." << endl;
// cin >> input;
// ifstream cppfile(input); //user specified file is opened here
istringstream cppfile(
" // comment\n"
" // comment\n"
" // comment\n"
" // comment\n"
" // comment\n"
" // comment\n"
" // comment\n"
);
string line; //used to store lines in the file
int counter = 0;
// if(!cppfile.is_open()){
// cout << "Cannot open that file, try again." << endl;
// }
// else{
while(getline(cppfile,line))
{
if(line.find("//") == 0){
continue; //exclude any single lone comments
}
if(line.find("{" or "}") == 0){
continue; //exclude any brackets
}
else if(line.empty()){
continue; //exclude empty lines
}
++counter;
}
// cppfile.close();
cout << "Number of Lines: " << counter << endl;
// }
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICAvLyBzdHJpbmcgaW5wdXQ7ICAgICAgICAgICAgICAgLy9uZWVkIHRvIGRlY2xhcmUgdXNlciBpbnB1dCBmaXJzdAogICAgLy8gY291dCA8PCAiUGxlYXNlIGVudGVyIHRoZSBmaWxlIHlvdSB3aXNoIHRvIGJlIGNvdW50ZWQuIiA8PCBlbmRsOwogICAgLy8gY2luID4+IGlucHV0OwogICAgLy8gaWZzdHJlYW0gY3BwZmlsZShpbnB1dCk7ICAgIC8vdXNlciBzcGVjaWZpZWQgZmlsZSBpcyBvcGVuZWQgaGVyZQogICAgCiAgICBpc3RyaW5nc3RyZWFtIGNwcGZpbGUoCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJIiAgICAvLyBjb21tZW50XG4iCiAgICAJKTsKICAgIAogICAgc3RyaW5nIGxpbmU7ICAgICAgICAgICAgICAgIC8vdXNlZCB0byBzdG9yZSBsaW5lcyBpbiB0aGUgZmlsZQogICAgCiAgICBpbnQgY291bnRlciA9IDA7CiAgICAKICAgIC8vIGlmKCFjcHBmaWxlLmlzX29wZW4oKSl7CiAgICAvLyAgICAgY291dCA8PCAiQ2Fubm90IG9wZW4gdGhhdCBmaWxlLCB0cnkgYWdhaW4uIiA8PCBlbmRsOwogICAgLy8gfQogICAgCiAgICAvLyBlbHNlewogICAgICAgIHdoaWxlKGdldGxpbmUoY3BwZmlsZSxsaW5lKSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGxpbmUuZmluZCgiLy8iKSA9PSAwKXsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAgICAgICAgICAgLy9leGNsdWRlIGFueSBzaW5nbGUgbG9uZSBjb21tZW50cwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGxpbmUuZmluZCgieyIgb3IgIn0iKSA9PSAwKXsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAgICAgICAgICAgLy9leGNsdWRlIGFueSBicmFja2V0cwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYobGluZS5lbXB0eSgpKXsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAgICAgICAgICAgLy9leGNsdWRlIGVtcHR5IGxpbmVzCiAgICAgICAgICAgIH0KICAgICAgICAgICAgKytjb3VudGVyOwogICAgICAgIH0KICAgICAgICAvLyBjcHBmaWxlLmNsb3NlKCk7CiAgICAgICAgY291dCA8PCAiTnVtYmVyIG9mIExpbmVzOiAiIDw8IGNvdW50ZXIgPDwgZW5kbDsKICAgIC8vIH0KfQ==