|
|
想学C++ 于是在图书馆找到一本教材救开始看了。 边看边敲 突然发现一个例子运行老是 ACCESS VIOLATION。。。 偶也不清楚什么原因!单步调试 总是这里的问题, 开始以为是偶的问题可是测试一下其他的使用strtok的程序并没有问题。。。。。
高手帮忙指点一下到底错哪了?????????????哎。。。
- #include<iostream.h>
- #include<math.h>
- #include<string.h>
- const double ANG_TO_RAD = 0.0174532925;
- class trig_angle
- {
- double angle;
- double ang_sine;
- public :
- void sine_value( double );
- void sine_value( char * );
- };
- void trig_angle::sine_value( double degrees )
- {
- angle = degrees;
- ang_sine = sin( angle * ANG_TO_RAD );
- cout << "For an angle of " << angle << "\n";
- cout << "The sine is " << ang_sine << "\n";
- }
- void trig_angle::sine_value( char * dat )
- {
- char * deg;
- char * min;
- char * sec;
- deg = strtok( dat, "," );
- min = strtok( NULL, "," );
- sec = strtok( NULL, "," );
- angle = atof( deg ) + ( atof( min ) / 60.0 ) + ( atof( sec ) / 360.0 );
- ang_sine = sin( angle * ANG_TO_RAD );
- cout << "For an angle of " << angle << "\n";
- cout << "The sine is " << ang_sine << "\n";
- }
- int main( void )
- {
- trig_angle value;
- value.sine_value( 45.0 );
- value.sine_value( "45,55,44," );
- value.sine_value( 60.45 );
- return 0;
- }
复制代码 [em10] |
|