c++¿Î³ÌÉè¼ÆËÄÔòÔËËã doc ÏÂÔر¾ÎÄ

Vc++¿Î³ÌÉè¼Æ±¨¸æ

ÌâÄ¿Ãû³Æ£ºËÄÔòÔËË㠰༶£º²â¿Ø¼¼ÊõÓëÒÇÆ÷ ÐÕÃû£ºÖÜÈü

ѧºÅ£º914101170150 Ò»¡¢³ÌÐò¹¦Äܼò½é

¸Ã³ÌÐòÓÃ×Ö·û´®ÐÎʽ½ÓÊÜÒ»¸ö´øÀ¨ºÅµÄËÄÔòÔËËã±í´ïʽ£¬È»ºó°´ÕÕËÄÔòÔËËãÓÅÏȼ¶µÄËã·¨ÏÈÀ¨ºÅ£¬ºó³Ë·½¡¢³Ë³ý¡¢¼Ó¼õÕâÑùµÄ˳Ðò½«Õâ¸öËãʽ½â³ö¡£

¸Ã³ÌÐòµÄÉè¼Æ±È½ÏÇÉÃÊÇÔÚÖ÷³ÌÐòÖз´¸´²éÕÒ×îºóÒ»¶ÔÀ¨ºÅ£¬½«ÆäÖеĽá¹û¼ÆËã³öÀ´£¬È¥µôÀ¨ºÅ£¬ÕâÑùµÄ¹ý³Ì³ÖÐøÏÂÈ¥£¬×îºóµ¼ÖÂËùÓеÄÀ¨ºÅ¶¼È¥³ý£¬½â³öËãʽ¡£ ¶þ¡¢¿Î³ÌÉè¼ÆÒªÇó

(£±)ÓÃÀàµÄÒªÇó¸Äд³ÌÐò£¬½«Êý¾ÝºÍº¯Êý·â×°µ½ÀàÖС£

(£²)ÐÞ¸ÄÖ÷³ÌÐò£¬Ê¹³ÌÐò¿ÉÒÔ·´¸´ÔËË㣬ֱµ½Ñ¡ÔñÍ˳öΪֹ¡£ (£³)À©³ä³ÌÐò¹¦ÄÜ£¬Ê¹³ÌÐòÊʺϸ¡µãÊýÔËËã¡£

(£´)Ôö¼Ó³ÌÐòµÄÅжϹ¦ÄÜ£¬µ±ÓзǷ¨µÄÊäÈëʱ£¨Èç×ÖĸµÈ£©£¬¸ø³öÌáʾÐÅÏ¢²¢Í˳öÔËË㣬µ±ÊäÈë´øÓпոñʱ£¬Äܽ«¿Õ¸ñÂ˳ý¡£ Èý¡¢³ÌÐòÉè¼Æ˼Ïë (1)ÀàµÄ·â×°

ʵ¼ÊÉϸÃ×Ö·û´®Àà»ù±¾ÀàËÆÓڣ㣫£«ÖеÄstringÀ࣬±ÈstringÀà¶à¶¨ÒåÁ˸¡µãÊýÓë×Ö·û´®µÄÏ໥ת»»µÄº¯Êý£¬ÊäÈëÊä³öÓÑÔªº¯Êý£¬¿ÉÒÔ´ÓstringÀàÅÉÉú³öCStrÀ࣬ÕâÑù£¬ÀàµÄ¶¨Òå¾Í¸ü¼Ó¼òµ¥£¬ÇÒ¿ÉÒÔÀûÓúܶàÏֳɵijÉÔ±º¯Êý¡£ (2)Ö÷³ÌÐò½á¹¹Ëã·¨µÄÉèÖÃ

¶¨ÒåcharÀàÐ͵ıäÁ¿ÓÃÀ´´æ´¢×Ö·û´®£¬¶¨ÒåCStrÀàÓÃÓÚ¶Ô×Ö·û´®²Ù×÷º¯ÊýµÄÒýÓᣠÏȶÔÊäÈë×Ö·û´®ÓÃJudgeº¯Êý½øÐÐÊäÈëÕýÈ·ÐÔµÄÅжϼ°È¡³ö¿Õ¸ñÄÚÈÝ£» È»ºóÓÃcharinstrº¯ÊýÔÚ×Ö·û´®Öз´¸´²éÕÒ×îºóÒ»¶ÔÀ¨ºÅ£» ÓÃmidstrº¯ÊýÌáÈ¡³öÀ´£¬ÓÃcalculateº¯Êý½øÐмÆË㣻

²¢ÓÃleftº¯ÊýÓërightº¯Êý¼°addstringsº¯Êý½«ËùÕÒµ½Õâ¶ÔÀ¨ºÅµÄ×ó±ß¡¢Óұ߼°ÔËËã½á¹ûÒÔ×Ö·û´®µÄÐÎʽºÏ²¢³ÉÒ»¸öеÄ×Ö·û´®£» Öظ´ÉÏÊö²Ù×÷Ö±ÖÁ×Ö·û´®Öв»ÔÙÓÐÀ¨ºÅ£»

×îºóÓÃcalculateº¯Êý½øÐÐ×îºóµÄ¼ÆËã·µ»Ø¼ÆËã½á¹û¡£

½ô½Ó׎øÐÐÊÇ·ñÍ˳ö¼ÆËãµÄÊäÈëÅжϣ¬Íê³É³ÌÐò·´¸´ÔËËãµÄ¹¦ÄÜ¡£ ËÄ¡¢ÏêϸÉè¼Æ

¢ÙÅжϹ¦ÄÜ£ºÓÃÀàÖж¨ÒåµÄjudgeº¯ÊýʵÏÖ£¬·µ»ØֵΪ1¼´ºÏ·¨£¬Îª0¼´²»ºÏ·¨¡£

È¥³ý¿Õ¸ñ£º¶¨Òåp¡¢sÁ½¸öÖ¸ÕëÖ¸Ïò×Ö·û´®£¬rÖ¸ÕëÖ¸ÏòpÖ¸ÕëʵÏÖp¡¢sÖ¸ÕëÔÚ×Ö·û´®ÖеıéÀú£¬ÓÃpÖ¸ÕëÕÒµ½µÚÒ»´¦¿Õ¸ñ´¦£¬ÔÙÓÃsÖ¸ÕëÕÒµ½pÖ¸ÏòλÖÃÒÔºó×î½üÒ»¸ö²»ÊÇ¿Õ¸ñ´¦£¬¸³ÖµÓï¾ä*p=*s£¬¼ÌÐøÏòϱéÀú×Ö·û´®Ö±ÖÁ½áÊø¡£

·Ç·¨ÊäÈ룺¶¨ÒådestinationÖ¸Ïò×Ö·û´®£¬ÁоÙËãʽÖгöÏֵĺϷ¨µÄ×Ö·û£¬Í¨¹ý±éÀú×Ö·û´®ÕÒµ½·Ç·¨ÊäÈë×Ö·û£¬·µ»Ø0£»

·Ç·¨ËãʽÂß¼­£º°üÀ¨ÔËËã·ûºÅÏàÁ¬£¬ÒÔ¼°Î¥±³ÔËËã·¨ÔòµÈÏÖÏó£¬Í¨¹ý¶ÔÔËËã·ûºÅµÄ±éÀú±È½ÏʵÏÖ£»»¹ÓаüÀ¨×óÀ¨ºÅÇ°»òÓÒÀ¨ºÅºó½ô°¤Êý×Ö£¬Í¨¹ý¶¨ÒåÒ»¸öÐÂ×Ö·û´®Êý×éÖ¸Ïò×Ö·û´®À´Ñ°ÕÒÀ¨ºÅ²¢ÅжÏÀ¨ºÅÇ°ºóÊÇ·ñºÏ·¨£»·Ç·¨£¬·µ»Ø0£» È«¶¼ºÏ·¨·µ»Ø1.

¢ÚÊý×Ö×Ö·û´®×ª»»³ÉÊý×Ö£ºÓÃÀàÖж¨ÒåµÄvalº¯ÊýʵÏÖ£¬À©³äµ½¸¡µãÊýµÄÔËË㷶Χ¡£

¶¨ÒåcharÀàÐ͵ÄsourceÖ¸ÕëÖ¸Ïò×Ö·û´®£¬ÓÃcharinstrº¯ÊýÑ°ÕÒ×Ö·û´®ÖÐСÊýµãλÖã¬ÒÔ´ËÅжÏÕûÊý»¹ÊǸ¡µãÊý£¬Èç¹ûÕûÊý¼´ÓÃ10µÄÏàӦλÊýµÄ³Ë·½À´³ËÒÔÏàÓ¦×Ö·ûλÖÃ×Ö·ûµÄÊý×Ö£¬²¢½øÐÐÀÛ¼Ó£¬×îºó·µ»Øresult£»Èç¹ûÊǸ¡µãÊý£¬Ôò·ÖΪÕûÊýÓëСÊý²¿·ÖÒÀ´Î½øÐмÆË㣬ÕûÊýͬÉÏ£¬Ð¡Êý²¿·ÖÔòÓÃÏàÓ¦×Ö·ûλÖÃ×Ö·ûËù´ú±íµÄÊý×Ö³ýÒÔ10µÄÏàӦλÊýµÄ³Ë·½£¬²¢½øÐÐÀÛ¼Ó£¬×îºó½«ÕûÊýСÊý²¿·ÖµÄºÍ·µ»Øresult¡£

¢Û×Ö·û´®µÄÁ¬½Ó£¬Í¨¹ýÀàÖж¨ÒåµÄleft¡¢right¡¢midstr¡¢addstringsº¯ÊýÅäºÏʵÏÖ¡£ ͨ¹ýleft¡¢right¡¢midstrÈý¸öº¯Êý½øÐÐ×Ö·û´®µÄÌáÈ¡£¬addstrtingsº¯Êý½øÐÐÈý¸öÖ¸ÕëµÄ±éÀúʵÏÖÁ½¸ö×Ö·û´®µÄºÏ²¢¡£

¢ÜÊý×ÖµÄ×Ö·û´®»¯£¬Í¨¹ýÀàÖж¨ÒåµÄstrº¯ÊýʵÏÖ¡£

Àà±Èvalº¯ÊýÒ»ÑùÇø·ÖÕûÊýÓ븡µãÊý£¬½«Êý×ÖµÄÿһ¸öÊý×Öµ¥¸öÌáÈ¡³öÀ´Í¨¹ýÓë×Ö·û¡®0¡¯µÄ±È½Ïת»¯ÎªÏàÓ¦×Ö·û¸´ÖƸøµÝÔöµÄÖ¸Õë¡£ ¢ÝËãʽµÄ¼ÆË㣬ͨ¹ýÀàÖж¨ÒåµÄcalculateº¯ÊýʵÏÖ¡£

ÒÀ´Î°´ÕÕ^*/+-µÄ˳ÐòÓÃcharinstrº¯ÊýÑ°ÕÒÔËËã·ûºÅ£¬²¢ÓÃÏàÓ¦º¯Êý½øÐÐ×Ö·û´®ÓëÊý×ÖÖ®¼äµÄת»»£¬ÒÔ¼°ÐµÄ×Ö·û´®µÄºÏ²¢£¬·µ»Ø¼ÆËã½á¹û¡£

¢ÞÓÑÔªº¯ÊýµÄ¶¨Ò壬¶¨ÒåÊäÈëÊä³öÓÑÔªº¯Êý£¬ÖØÔظ³ÖµÔËËã·ûµÈ£¬ÊµÏÖ×Ö·û´®Ö®¼äµÄ¼Ó·¨¡£ Îå¡¢³ÌÐòµ÷ÊԵĹý³Ì ³öÏÖÎÊÌâ:

¢Ù¿ªÊ¼±àдÍêÕû¸ö³ÌÐò£¬³öÏÖÐí¶à±àд´íÎó£¬Ò»¸ö¸ö¸ÄÕý£»

¢ÚÔÚʵÏÖ¸¡µãÊýµÄÀ©³ä¹ý³ÌÖеÄСÊý²¿·Ö£¬ÒÔ¼°ÊäÈëºÏ·¨ÐÔµÄÅжϹý³Ì©µôÇé

¿ö£¬Ö¸ÕëµÄÎóÓõȣ»

¢ÛÓÐʱµ¥¶ÀµÄÒ»¸öº¯Êý²»Äܸ㶮»ò´íÎó²»ÄܸÄÕý£¬¾Íµ¥¶ÀÔÚ±àдһ¸öÀàËƳÌÐò£¬

¶à´Îµ÷ÊÔÔËÐУ¬À´Åª¶®²¢¼ÓÒÔ¸ÄÕý£»

½â¾ö°ì·¨£º²éÔÄÊé¼®£¬ÉÏÍøËÑË÷£¬¶ÀÁ¢Ë¼¿¼£¬Ñ¯ÎÊͬѧÀÏʦ£¬¶à´ÎÉÏ»úµ÷ÊԵȣ» Áù¡¢ÊäÈëÊä³öÊý¾Ý ¿ªÊ¼½çÃ棺

·Ç·¨ÊäÈëÅжϣº

¢Ù·Ç·¨×Öĸ£º¢ÚÔËËã·û½ô°¤£º

¢Û×óÀ¨ºÅÇ°»òÓÒÀ¨ºÅºóΪÊý×Ö£º

¢ÜÀ¨ºÅΪÖÐÎÄ·ûºÅ£º

ÇåÀí¿Õ¸ñ£º

ÔËËãµÚÒ»¸öÊäÈë×Ö·û´®Ëãʽ½á¹û£º

Í˳öÅжϣº¼ÌÐøÔËË㣺

Í˳öÔËË㣺

¸¡µãÊýµÄ¼ÓÈ룺

Æß¡¢¿Î³ÌÉè¼Æ×ܽá

¾­¹ýÕâ´ÎÅÓ´ó¸´ÔӵĿγÌÉè¼Æ¹ý³Ì£¬ÊÇÎÒ¶Ôc++֪ʶÓÐÁ˸ü¼ÓÉî¿ÌµÄÀí½â£¬ÒýÆðÁËÎÒ¶Ôc++ÓïÑÔÊÀ½çµÄÎÞÏÞºÃÆæÐĺÍ̽Ë÷Óû£¬¸Ð¿®µ½ÁËÊÀ½çµÄÉñÆæÓë΢Ã³ÌÐò¿ØÖƵÄÎÞÏÞÓÃ;ÒÔ¼°×ÔÉíµÄÃìС£»

ÔÚÆäÖбàдÅжÏÀ¨ºÅÇ°ºóÊÇ·ñºÏ·¨Óï¾äʱ£¬Ö¸Õë±éÀú²»Ò×ʵÏÖ£¬ÓÚÊǾ­¹ý¶à´Îµ÷ÊÔºóÖØж¨ÒåÁËÒ»¸ö×Ö·û´®Êý×éÀ´ÊµÏÖ£¬Õâ¸øÁËÎҺܴóµÄÆôʾ£¬Ö»ÒªÅ¬Á¦²¢²»¶Ï³¢ÊÔеĶ«Î÷

Ò»¶¨»á³É¹¦£»

»¹ÓгÌÐòÖÐÓÑÔªº¯ÊýÓëÔËËã·ûÖØÔز¿·Ö£¬ÓÉÓÚ֪ʶÕÆÎÕ²»¹»Àι̣¬·´¸´µ÷ÊÔ²éÔÄÊé

¼®£¬×îÖյõ½Á˽â¾ö£¬Ò²Ê¹µÃÎÒ¶ÔÕâ·½ÃæµÄ֪ʶ»ñµÃÁ˸üΪÉî¿ÌµÄÀí½âÓëÈÏÖª£»

¸¡µãÊýµÄ¼ÓÈëÒª½øÐÐСÊýµãÊýλµÄÈ¡Éᣬº¯ÊýÖÐÉ趨ΪСÊýµã¶ùºóÁù룬Òò´Ë¸¡µã

ÊýÔËËã¹ý³ÌÖÐÿ´Î¶¼»á³öÏÖÁùλСÊýµÄÏÖÏó£¬Ê¹µÃ½á¹ûÓÐ0.000001µÄÎó²î£¬Í¨¹ýµ¥¶À±àдÀàËƺ¯Êý¶à´Îµ÷ÊÔ£¬Ê¹µÃÎÒ¶Ôc++ÓïÑÔÖжÔdoubleÐÍÏòintÐͱäÁ¿×ª»¯µÄ¹æÂɵÄÀí½â»ñµÃÁ˸üÉî²ã´ÎµÄÀí½â£»

ͨ¹ý±àд¹ý³Ì£¬Ìå»áµ½ÁËϸ½ÚµÄÀ÷º¦£¬ÓÐʱһ¸ö΢СµÄ´íÎó¾ÍÄÜʹÕû¸ö³ÌÐò¶ø²»ÄÜ

ÕýÈ·ÔËÐУ» °Ë¡¢Ô´³ÌÐò×¢½â

#include #include #include

char pause;

//Ëã³ö×Ö·û´®µÄ³¤ËØ

int len(char*source) { int retval=0; }

class CStr { private: };

void CStr::left(CStr & str1,int length) ×Ö·û´®

//´Ó²ÎÊýÖ¸ÏòµÄµØÖ·×ó±ßÈ¡Length¸ö×Ö·û¸³¸øÄ¿µÄ

int nlen; //×Ö·û´®³¤¶È char *pstr; //×Ö·û´®Ê×µØÖ· CStr(){};

CStr(char *str) {nlen=len(str);pstr=str;} int Getlen(){return nlen;} char*Getstr(){return pstr;} char*Getpstr(){return pstr;}

void midstr(CStr & str1,int start,int length); void left(CStr & str1,int length);

/*·µ»ØÖ¸¶¨×Ö·û´®ÀàÖдÓnStartÐòºÅ¿ª

//·µ»Ø×Ö·û´®³¤¶È //·µ»Ø×Ö·û´®Ê×µØÖ·

//¿½±´¹¹Ô캯Êý

//¶¨Òå×Ö·û´®Àà

while(*(source+retval++)!=0){} return --retval;

public:

CStr(CStr&str){nlen=str.Getlen();pstr=str.Getstr();}

ʼnLength³¤¶ÈµÄ×Ö·û*/

/*·µ»ØÖ¸¶¨×Ö·û´®ÖдÓ×ó±ß¿ªÊ¼nLength¸ö×Ö·û*/ /*·µ»ØÖ¸¶¨×Ö·û´®ÖдÓÓұ߿ªÊ¼nLength¸ö×Ö·û*/

void right(CStr & str1,int length); friend int charinstr(char); double val(); str(double val);

calculate(); //¼ÆËã¸Ã×Ö·û´®Ëù´ú±íµÄËÄÔòÔËËãµÄÖµ£¨ÄÚÎÞÀ¨ºÅ£©

//ÓÑÔªº¯Êý£¬ÅжÏ×Ö·ûÊÇ·ñÔÚ×Ö·û´®ÖÐ

//Çó×Ö·û´®´ú±íµÄÊý×Ö×Ö·ûµÄÊýÖµ

//½«ÊýÖµ±íʾ³É×Ö·û´®µÄÐÎʽ

//ÖØÔØÊäÈëÔËËã·û

friend istream &operator>>(istream &,CStr &); int Judge(); //ÅжÏÊäÈëÊÇ·ñºÏ·¨£¬Â˳ý¿Õ¸ñ

{ }

char*destination=pstr; char *source=str1.Getstr(); *(destination+--length+1)=0;

//Ä¿µÄ×Ö·û´®ÒÔ0 ½áβ

while(length>=0) //¸³ÖµLength¸ö×Ö·û

{ *(destination+length)=*(source+length--); }

//´Ó²ÎÊýÖ¸ÏòµÄµØÖ·´¦´Óstartλ

void CStr::midstr(CStr & str1,int start,int length) ÖÿªÊ¼È¡length¸ö×Ö·û¸³¸øÄ¿µÄ×Ö·û´® { }

void CStr::right(CStr & str1,int length) ×Ö·û´® { }

int charinstr( char *destination,char char_to_find) Ä¿µÄ×Ö·û´®ÖУ¬ÈôÔÚ£¬·µ»ØÆäËùÔÚλÖã¬Èô²»ÔÙ·µ»Ø0 { int pos=0; }

CStr::str(double value) { char*tempdest=pstr; int a=0; int b=(int)value;

double c=value-b;

int multiplier=1000000000; while(*(destination+pos)!=0) }

return 0;

{ return pos; }

//Ñ­»·²éÕÒ

{ if(char_to_find==*(destination+pos++))

//ÕÒµ½£¬·µ»ØÆäλÖÃ

char *source=str1.Getstr(); while(*source!=0){ source++; } char*destination=pstr; source-=length;

//ÌøÖÁÓû¸³ÖµµÄÊ×µØÖ·

*(destination+--length+1)=0; char *source=str1.Getstr();

source+=start-1; //¿ªÊ¼¸³Öµ´¦µÄµØÖ· *(destination+--length+1)=0; {

char*destination=pstr;

//Ä¿µÄ×Ö·û´®ÒÔ0 ½áβ

while(length>=0) //¸³ÖµLength¸ö×Ö·û

*(destination+length)=*(source+length--); }

//´Ó²ÎÊýÖ¸ÏòµÄµØÖ·ÓÒ±ßÈ¡Length¸ö×Ö·û¸³¸øÄ¿µÄ

//ÒÆÖÁ×Ö·û´®Î²²¿

//Ä¿µÄ×Ö·û´®ÒÔ0 ½áβ

while(length>=0) //¸³ÖµLength¸ö×Ö·û

{ *(destination+length)=*(source+length--); }

//ÅжÏ×Ö·û´®char_to_findÊÇ·ñÔÚ

//½«valueµÄֵת»»Îª×Ö·û´®µÄÐÎʽ·µ»Ø£¬¼ÓÈ븡µãÊý

for(multiplier=1000000000;multiplier!=0;multiplier/=10) {

*tempdest='0'+(char)(b/multiplier); b-=(b/multiplier)*multiplier; if((*tempdest!='0')||(a))

{

a++;tempdest++; }

}

}

if(c==0) //Èç¹ûvalueΪÕûÊý {*tempdest=0;}

else //Èç¹ûvalueΪ¸¡µãÊý { }

//Á½¸ö×Ö·û´®ºÏ²¢£¬½á¹ûÔÚµÚ

*tempdest++='.'; for(a=1;a<=6;a++) { }

*tempdest=0; //¸³Öµ×Ö·û´®×îºóһλΪ0

c*=10;int d=(int)c; if(d!=0&&a<=6) {*tempdest++='0'+d;} c-=d;

char*addstrings(char*destination,char*source1,char*source2) Ò»¸ö²ÎÊýÖÐ

{ char*tempdest=destination;

while(*source1!=0){*(tempdest++)=*(source1++);} while(*source2!=0){*(tempdest++)=*(source2++);} }

double pwr(double a,double b) {

double result=1;

//¼ÆËãaµÄb´Î·½

*tempdest=0; //NULL return destination;

for(int c=1;c<=b;c++){result*=a;} return result; }

double CStr::val() {

char*source=pstr; double result=0;

//½«Êý×Ö×Ö·û´®×ª»»³ÉÊýÖµ£¨°üÀ¨¸¡µãÊý£©

CStr nstr(source);

int z=charinstr(source,'.'); //´Ósource×Ö·û´®ÖÐÕÒµ½Ð¡Êýµã

if(z==0) //Èç¹ûΪÕûÊý { }

else //Èç¹ûΪСÊý£¬´ËʱָÕëÖ¸ÏòСÊýµãµÄλÖà {

char a1[50]; A1.left(nstr,z-1);

//·µ»Ø´ËʱnstrÖ¸ÏòµÄµØÖ·×ó±ßµÄz-1¸ö×Ö·û£¬¼´ËùÐ踡µãÊýµÄÕû

CStr A1(a1);

int multiplier=(int)pwr(10,len(source)-1); while(*source!=0) {

//ÒÀ´Î±éÀúÿһ¸ö×Ö·û

result+=(*(source++)-'0')*multiplier;multiplier/=10;} //½«ÏàÓ¦×Ö·ûת»¯Îª¶ÔÓ¦

λÊýµÄÕûÊý£¬²¢ÒÀ´ÎÀÛ¼Ó»ñµÃËùÐèÕûÊýÊý

return result;

Êý²¿·Ö

}

char*nint=A1.Getstr(); while(*nint!=0) {

//½«A1µÄÄÚÈݸ³Öµ¸ønintÖ¸Õë

int multiplier=(int)pwr(10,len(nint)-1); //¶¨ÒåmultiplierµÈÓÚ10µÄÕûÊýλÊýµÄ³Ë·½

result+=(double)(*(nint++)-'0')*multiplier;multiplier/=10; }

//½«¸¡µãÊýÕû

Êý²¿·Ö×Ö·û´®×ª»»ÎªÊýÖµ

char a3[50];

//·µ»Ø´ÓnstrÖ¸ÏòµØÖ·µÄz+1λÖÿªÊ¼µÄ

CStr A3(a3);

A3.midstr(nstr,z+1,len(source)-z); }

return result;

char *ndouble=A3.Getstr();

(len(source)-z)¸ö×Ö·û£¬¼´ËùÐ踡µãÊýµÄСÊý²¿·Ö

//½«A3µÄÄÚÈݸ³Öµ¸øndoubleÖ¸Õë

//ÒÀ´Î±éÀúndoubleÖ¸ÏòµÄÿһ¸ö×Ö·û

for(multiplier=10;*ndouble!=0;ndouble++)

{ result+=((double)(*(ndouble)-'0'))/(double)multiplier; multiplier*=10; } //½«ÏàÓ¦×Ö·û³ýÒÔ¶ÔÓ¦ÊýλµÄ10µÄ³Ë·½»ñµÃ¸ÃλµÄСÊý²¢ÒÀ´ÎÏà¼Ó

char*assignstr(char*source,char*destination)//×Ö·û´®¸³Öµ {

char*tempdest=destination;

while (source!=0){*(tempdest++)=*(source++);}

*tempdest=0; return destination; }

CStr::calculate()

//¼ÆËãÊý×ÖËãʽÐÎʽµÄ×Ö·û´®£¬½«Æäת»»ÎªÊý×ÖÐÎʽ²¢¼ÆËã³öÀ´£¬È»ºóÔÙ½«½á¹ûת»»Îª×Ö·û´®µÄÐÎʽ£¬´ËËãʽûÓÐÀ¨ºÅ£¬×ñÑ­µÄÔ­ÔòÊÇÏȳ˳ýºó¼Ó¼õ {

char*string=pstr;

char buf1[50],buf2[50],buf3[50],buf4[50],buf5[50]; char opstr[6]=\double leftnr; double rightnr; int oppos; int z;

double result;

for(int pos_in_opstr=0;pos_in_opstr<=4;pos_in_opstr++) { while(charinstr(string,opstr[pos_in_opstr]))

{ oppos=charinstr(string,opstr[pos_in_opstr]); //ÕÒµ½ºó£¬½«ÔËËã·û×ó±ßµÄÊý×Ö×Ö·û

for (z=oppos-2;z>=0;z--) {

if

//ÏÈÕÒÓÅÏȼ¶¸ßµÄÔËËã·û£¬Ö±

CStr nstr(string);

CStr cuf1(buf1),cuf2(buf2),cuf3(buf3),cuf4(buf4),cuf5(buf5);

ÖÁ½«ËãʽÖÐËùÓеÄÔËËã·û¶¼ÕÒ³öÀ´

È¡³öת»»ÎªÊý×Ö

((*(string+z)=='+')||(*(string+z)=='/')||(*(string+z)=='-')||(*(string+z)=='*')||(*(string+z)=='^'))

}

{ cuf1.midstr(nstr,z+2,oppos-z-2); leftnr=cuf1.val();

z=-1; }

else if(z==0) {

cuf1.left(nstr,oppos-1); leftnr=cuf1.val(); }

//ÔÙ½«ÔËËã·ûÓұߵÄÊý×Ö×Ö·ûÈ¡³öת»»ÎªÊý×Ö

for(z=oppos;z

if((*(string+z)=='+')||(*(string+z)=='/')||(*(string+z)=='-')||(*(string+z)=='*')||(*(string+z)=='^'))

{

cuf2.midstr(nstr,oppos+1,z-oppos);

rightnr=cuf2.val();z=len(string);}

else if(z==len(string)-1) {

cuf2.right(nstr,len(string)-oppos); rightnr=cuf2.val();

}

//¶ÔÕâÁ½¸öÊý×Ö½øÐмÆË㣬½á¹ûÔÚresultÖÐ

if(opstr[pos_in_opstr]=='+') {result=leftnr+rightnr;}

else if (opstr[pos_in_opstr]=='-') {result=leftnr-rightnr;}

else if (opstr[pos_in_opstr]=='/') {result=leftnr/rightnr;}

else if (opstr[pos_in_opstr]=='*') {result=leftnr*rightnr;}

else if (opstr[pos_in_opstr]=='^') {result=pwr(leftnr,rightnr);}

//¼ÆËãºó£¬½«½á¹ûת»»Îª×Ö·û´®£¬È»ºó½«×óÓÒδÔËËã¹ýµÄ×Ö·û´®ÓëÆäÁ¬½ÓÆðÀ´

cuf4.left(nstr,oppos-len(&buf1[0])-1); cuf5.str(result);

addstrings(&buf3[0],cuf4.pstr,cuf5.pstr);

cuf5.right(nstr,len(string)-oppos-len(&buf2[0])); addstrings(string,cuf3.pstr,cuf5.pstr);

}

}

cout<<\ÔËÐеĽá¹ûÊÇ\

//Êä³öÕâ¸ö×Ö·û

}

istream & operator>>(istream&is,CStr&ss) { char a[50]; char *x=a; char *y=ss.pstr; cin.getline(x,50);

while(*x!=0) {*(y++)=*(x++);} *y=0; return is;

}

}

int CStr::Judge() //ÐÂÔö³ÌÐòÅжϹ¦ÄÜ {//Èý¸öÖ¸ÕëÒÀ´Î±éÀú×Ö·û´®£¬È¥³ý¿Õ¸ñ

//ÕÒµ½³ý»ù±¾ÔËËã·ûºÍÊý×ÖÍâµÄ·Ç·¨ÊäÈë char *destination=source;

while(*destination!=0) {

if('('<=*destination&&*destination<='+'||'-'<=*destination&&*destination<='/'||'0'<=*d }

//ÕÒµ½·Ç·¨Âß¼­ destination=pstr;

if(*destination=='^'||*destination=='*'||*destination=='/'||*destination=='+')//Ò»¿ªÊ¼

{ return 0;} {destination++;}

//ÕÒµ½·Ç·¨ÊäÈ룬·µ»Ø0

char *p,*s,*r,*source=pstr; p=source;s=p+1; while(*p!=0) { }

r=p; if(*p==' ')

{ while(*s!=0) {*p=*s;p++;s++;} }

*p=0;p=r;s=p+1; continue;

p=r+1;s=p+1;

estination&&*destination<='9'||*destination=='^'||*destination==' ')

else{return 0;}

ΪÔËËã·û

int pos_in_opstr; int pos;int z;

char opstr[6]=\

for(pos_in_opstr=0;pos_in_opstr<=4;pos_in_opstr++) { while(charinstr(source,opstr[pos_in_opstr]))

if(*(source+z)=='^'||*(source+z)=='*'||*(source+z)=='/'||*(source+z)=='+'||*(source+z)

if(*(source+z)=='^'||*(source+z)=='*'||*(source+z)=='/'||*(source+z)=='+'||*(source+z)

{return 0;}

//Á½¸öÔËËã·ûÏà¾à·Ç·¨£¬·µ»Ø0

{return 0;}

//ÔËËã·ûºó½ô½Ó×ÅÓÖÊÇÔËËã·û£¬·µ»Ø0

{

pos=charinstr(source,opstr[pos_in_opstr]); z=pos;

=='-'||*(source+z)==0)

z-=2;

=='-'||*(source+z)==0)

}

}

}

else{source+=pos;} //¼ÌÐø±éÀú×Ö·û´®

char m[50];int n=0; strcpy(m,pstr); while(m[n]) { if(m[n]=='(') }

return 1;

cout<<\È¥³ý¿Õ¸ñºóµÄËãʽ£º\

{ }

if(m[n]==')') { } n++;

if(m[n+1]==0) {n++;continue;} {return 0;break;}

//ÓÒÀ¨ºÅλÓÚ½á⣬¼ÌÐø

else if('0'<=m[n+1]&&m[n+1]<='9')

//Èç¹ûÓÒÀ¨ºÅÓÒ±ßÊÇÊý×Ö£¬Ã»ÓÐÔËËã·ûºÅ£¬·Ç·¨£¬·µ»Ø0

if(n==0) {n++;continue;}

{return 0;break;}

//×óÀ¨ºÅλÓÚ¿ªÍ·£¬¼ÌÐøÏòϱéÀú

//Èç¹û×óÀ¨ºÅ×ó±ßÊÇÊý×Ö£¬Ã»ÓÐÔËËã·ûºÅ£¬·Ç·¨£¬·µ»Ø0

else if('0'<=m[n-1]&&m[n-1]<='9')

void main() {

CStr myrecord;

cout<<\cout<<\cout<<\cout<<\cin.get(pause); system(\int choice=1;

//½øÐÐÍ˳öÅжϣ¬Ê¹³ÌÐò¿ÉÒÔ·´¸´ÔËËã

cout<<\»¶Ó­Ê¹ÓÃËÄÔòÔËËã³ÌÐò \\2 \\n\

cout<<\ cout<<\Çë°´»Ø³µ¼ü¼ÌÐø \\2 \\n\

while(choice)

{ char strn[50],duf1[50],duf2[50],duf3[50],duf4[50],duf5[50];

CStr buf1(duf1),buf2(duf2),buf3(duf3),buf4(duf4),buf5(duf5),origin(strn),oristr(strn); int z,lastopen;

cout<<\ÇëÊäÈëÒ»¸öËãʽ\\n\operator >>(cin,oristr); if(oristr.Judge()==0) else

{ cout<<\ÊäÈëµÄËãʽÊÇ£º\

while(charinstr(&strn[0],'('))

//ÅжÏ×óÀ¨ºÅ

//Êä³öÈ¥³ý¿Õ¸ñºóµÄËãʽ×Ö·û´®

//ÅжÏÊäÈëÊÇ·ñºÏ·¨

{; cout<<\ÊäÈëÓÐÎó£¬ÇëÖØÐÂÊäÈë\\n\

}

}

{ for(z=0;z<=len(&strn[0]);z++) }

//È¥µôÀ¨ºÅºó£¬¼ÆËã×îºóÊ£ÓàµÄËãʽ

{ if(strn[z]=='(') {lastopen=z;} //ÕÒµ½×îºóÒ»¸ö×óÀ¨ºÅµÄλÖà }

}

cout<<\еÄʽ×ÓÊÇ:\z=len(&strn[0])+1;

if(strn[z]==')') //ÕÒµ½µÚÒ»¸öÓÒÀ¨ºÅ£¬½«×óÓÒÀ¨ºÅÖеÄ×Ö·û´®È¡³ö¼ÆËã {

buf1.midstr(oristr,lastopen+2,z-lastopen-1);

cout<<\ÔÚ\ÖУ¬ÕÒµ½\Ìá³ö½øbuf3.left(oristr,lastopen);

buf2.right(oristr,len(&strn[0])-z-1); buf1.calculate();

ÐмÆËã\

//È»ºó½«¼ÆËãºóµÄ½á¹ûÓëÔ­ÏÈ×óÓÒÀ¨ºÅÁ½±ßµÄ×Ö·û´®ºÏ²¢£¬Ï൱ÓÚÈ¥µôÒ»¶ÔÀ¨ºÅ

addstrings(&strn[0],addstrings(&duf4[0],buf3.Getstr(),buf1.Getstr()),buf2.Getstr());

oristr.calculate();

cout<<\¼ÆËã½á¹ûΪ£º\

cout<<\Í˳öÂð£¿\\n\¼ÌÐø¼ÆËãÇëÊäÈë1£¬Í˳ö³ÌÐòÇëÊäÈë0\cin>>choice; cin.get();

cout<<\ÏÖÔÚÍ˳öÔËËã!\\n\}

¾Å¡¢³ÌÐò²»×ã:¸¡µãÊýµÄÎó²îÎÊÌ⣬ÉÏÎÄÖÐÌá¼°¹ý£»ÒÔ¼°²»ÄܽøÐиºÊýÔËË㣬ÔøÊÔͼ¶Ô¿Î±¾Ô´³ÌÐò½øÐдËÀà¸Ä½ø£¬µ«×îÖÕÎÞ¹û¡£