第二次作业
作业地址:【https://edu.cnblogs.com/campus/nenu/2016CS/homework/2139】
要求0:https://git.coding.net/xup457/wfAnalysis.git
要求1:
问了老师很多问题,老师完全不理我,也不回答我的问题,只管“会说话”的同学,还在群里发带有图书价格的链接,不知道为什么好奇怪啊。
要求2:
#include<bits/stdc++.h>
#include<io.h>
#define ll long long
#define debug(x) cout<<#x<<" : "<<x<<endl;
#define psl pair<string , ll>
using namespace std;
bool XUP_num_get(string &XUP_pp , int& file_num)
{
string tmp = "";
auto i = XUP_pp.find("-n");
if( i == string::npos )
return 0;
i += 3;
for(;i < XUP_pp.size() ; i++ ){
if( XUP_pp[i] == ' ' )
break;
tmp += XUP_pp[i];
}
stringstream ss;
ss<<tmp;
ss>>file_num;
return 1;
}
void get_all_file(string XUP_path , vector<string>& son_files , string XUP_fmat)
{
long hFile = 0;
struct _finddata_t fileinfo;
string p;
if( ( hFile = _findfirst( p.assign( XUP_path ).append("\\*" + XUP_fmat).c_str() , &fileinfo ) ) != -1 )
{
do
{
if( fileinfo.attrib & _A_SUBDIR ){
if( strcmp( fileinfo.name , "." ) != 0 && strcmp( fileinfo.name , ".." ) != 0 )
get_all_file( p.assign(XUP_path).append("\\").append(fileinfo.name), son_files , XUP_fmat );
}
else
son_files.push_back( p.assign( fileinfo.name ) );
}while( _findnext( hFile , &fileinfo ) == 0 );
_findclose(hFile);
}
}
void XUP_read_txt(string file_name , string& str)
{
ifstream file;
file.open( file_name.c_str() );
string s;
while( getline( file , s ) )
str = s + ' ' + str;
transform( str.begin() , str.end() , str.begin() , ::tolower );
file.close();
}
struct cmp
{
bool operator ()(const psl& a , const psl& b){
return a.second != b.second ? a.second > b.second : a.first < b.first;
}
};
//, string XUP_s
void XUP_solve( string XUP_input_str )
{
map<string , ll> mp;
string str = "" , tmp = "";
string file_name ;
string son_str;
ifstream file;
file.open( file_name.c_str() );
string son_s;
while( getline( file , son_s ) )
son_str = son_s + ' ' + son_str;
transform( son_str.begin() , son_str.end() , son_str.begin() , ::tolower );
file.close();
int file_num;
bool limit = XUP_num_get( XUP_input_str , file_num );
for( auto ch : str ){
if( ch >= '0' && ch <= '9' || ch >= 'a' && ch <= 'z' ){
tmp += ch;
continue;
}
if( !tmp.empty() ){
if( tmp[0] >= 'a' && tmp[0] <= 'z' )
mp[tmp]++;
tmp = "";
}
}
if( !tmp.empty() ){
if( tmp[0] >= 'a' && tmp[0] <= 'z' )
mp[tmp]++;
tmp = "";
}
if( !limit ){
cout<<"total "<<mp.size()<<endl;
puts("");
for( auto it : mp )
cout<<left<<setw(30)<<it.first<<it.second<<endl;
}
else{
cout<<"Total words is "<<mp.size()<<endl;
puts("------------------");
vector<psl> vec( mp.begin() , mp.end() );
sort( vec.begin() , vec.end() , cmp() );
for( auto it : vec ){
cout<<left<<setw(30)<<it.first<<it.second<<endl;
file_num--;
if( !file_num )
break;
}
}
}
bool XUP_File_get(const string now , string &File_Name)
{
auto i = now.find("-c");
if( i == string::npos )
return false;
i += 3;
for(;i < now.size() ; i++ ){
if( now[i] == ' ' )
break;
File_Name += now[i];
}
return true;
}
bool XUP_Path_get(const string now , string &Path_Name)
{
auto i = now.find("-f");
if( i == string::npos )
return false;
i += 3;
for(;i < now.size() ; i++ ){
if( now[i] == ' ' )
break;
Path_Name += now[i];
}
return true ;
}
int main()
{
string XUP_input_str , XUP_File_Name = "" , XUP_Path_Name = "" , XUP_files = "" , XUP_real_file;
getline( cin , XUP_input_str );
bool have_Path = XUP_Path_get( XUP_input_str , XUP_Path_Name );
bool have_File = XUP_File_get( XUP_input_str , XUP_File_Name );
if( have_Path ){
vector<string> files;
const string format = ".txt";
get_all_file( XUP_Path_Name , files , format );
sort( files.begin() , files.end() );
XUP_real_file = XUP_Path_Name + "\\" + files[0];
}
else
XUP_real_file = XUP_File_Name;
XUP_solve(XUP_input_str );//, XUP_real_file
return 0;
}
/*
wf -f D:\ACM±à³Ì\±ÈÈüÖÐ -n 2
wf -c pipifan.txt
*/
助教和请来的老师在留这项作业的时候没有考虑我们的进程,留的都是些老师课上不讲的内容,然后一个个的又不回答问题,任重道远啊。
要求三:
请老师认真对待,珍惜每一个向您提问的学生,请老师认真负责谢谢。这次作业真的由于老师的应付,使得我的心里觉得老师们是对同学有偏见的,我们素未蒙面,便有此想法真的不好,同时我也期待老师可以回答我的问题
总结:
看到了老师的要求四,真是觉得很商场不是很学校,请你们在你们评判标准中加入人性,我看了邹欣老师微博以及博客,他是一位很有理想的老师,你们这种无人道的评判标准会是邹欣老师的理想远离他,请不要这么做,谢谢。而且不同的语言在运行相同功能上本来就有先天缺陷,你们如此不做分类的评价真的好吗?态度上认真了吗?
你们竟然明目张胆的说不是对道德评价,天啊,教育不论道德,你们真是,哎,没想到啊