对'+','
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=321531 存档链接: https://web.archive.org/web/20040903185524id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=321531
我的工作 全是函数~ <<<10号写到这里~ | 首页 | 本周收尾处>>> 对'+','-',''的判断 时间: 2004-08-11 // text28.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include #include #include #include <stdio.h> #include using namespace std; string temp; class LIST_DATA { public: string name; string dept; float num; protected: private: }; vector<LIST_DATA> L_Dvec; LIST_DATA datum; class NameCompare { public: bool operator()(const LIST_DATA& a, const LIST_DATA& b) { return a.num < b.num; } }; NameCompare nameComp; float my_atof(const char szText ) { float value; string temp1; string temp2; string findtemp; const char p; p=szText; while ((*p)!=0) { findtemp += *p; p++; } string::size_type pos=findtemp.find("."); if(pos==string::npos) { while ((szText)!=0) { temp1 += szText; szText++; } if(temp1.begin()==45) { char x; x=temp1.begin(); x++; float sum1=0; for(;x!=temp1.end();x++) { int a; a=(x); sum1=sum110+(a-48); } value=-sum1; } else { if(temp1.begin()==43) { char x; x=temp1.begin(); x++; float sum1=0; for(;x!=temp1.end();x++) { int a; a=(x); sum1=sum110+(a-48); } value=sum1; } else { char x; x=temp1.begin(); float sum1=0; for(;x!=temp1.end();x++) { int a; a=(x); sum1=sum110+(a-48); } value=sum1; } } } else { while((szText)!=46) { temp1 += szText; szText++; } szText++; while ((szText)!=0) { temp2 += szText; szText++; } // getline( temp,temp1,'.' ); // getline( temp,temp2,'\n' );. if(temp1.begin()==45) { char x; x=temp1.begin(); x++; float sum1=0; for(;x!=temp1.end();x++) { int a; a=(x); sum1=sum110+(a-48); } char y; y=temp2.end(); y--; char z; z=temp2.begin(); z--; float sum2=0; for(y;y!=z;y--) { int a; a=(y); float b; b=a; sum2=(sum2+(b-48))/10; } value=-(sum1+sum2); } else if(temp1.begin()==43) { char x; x=temp1.begin(); x++; float sum1=0; for(;x!=temp1.end();x++) { int a; a=(x); sum1=sum110+(a-48); } char y; y=temp2.end(); y--; char z; z=temp2.begin(); z--; float sum2=0; for(y;y!=z;y--) { int a; a=(y); float b; b=a; sum2=(sum2+(b-48))/10; } value=(sum1+sum2); } else { char x; x=temp1.begin(); float sum1=0; for(;x!=temp1.end();x++) { int a; a=(x); sum1=sum110+(a-48); } char y; y=temp2.end(); y--; char z; z=temp2.begin(); z--; float sum2=0; for(y;y!=z;y--) { int a; a=(y); float b; b=a; sum2=(sum2+(b-48))/10; } value=(sum1+sum2); } }return value; } int main() { ifstream infile("C:\Documents and Settings\Administrator\桌面 \list.txt "); int i; for(i=0;i!=6;i++) { getline( infile,datum.name,'\t'); getline( infile,datum.dept,'\t'); getline( infile,temp,'\n'); const char sztext=temp.c_str(); // datum.num=atoi(temp.c_str());//�淖址�串�D化到整形��量的函�担� datum.num=my_atof( sztext ); L_Dvec.insert(L_Dvec.begin( ),datum); } std::sort(L_Dvec.begin( ), L_Dvec.end( ),nameComp); vector<LIST_DATA>::iterator iter=L_Dvec.begin( ); for(;iter!=L_Dvec.end( );iter++) { cout<name<<" "<dept<<" "<num<<endl; } cout << my_atof( "10.1201") << endl; cout << my_atof( "-10.1201") << endl; cout << my_atof( "+10") << endl; cout << my_atof( "+10.0") << endl; cout << my_atof( "-0.012") << endl; return 0; } chifanhezhou 发表于 2004-08-11 11:02 引用(Trackback0) | 编辑 评论 发表评论 最后更新 在linux环境下实现vc中函数的调用实现~ 自己的比较拷贝连接函数~ 掌门的程序~ 本周收尾处 对'+','-',''的判断 10号写到这里~ atof atoi的函数实现 收尾的地方~ 完整的作�I程序