跟踪显示,每次RAND函数都自动生成为18467,且程序没有错误?

//温度单位转换程序
#include<iostream>
using namespace std;
int main()
{
char cina,cinb;
double mainA,mainB;
int floatA;
cout << "欢迎使用温度单位转化器。";
int tips=(rand()%9+1);
cout <<endl<<"今日小贴士:"; 
switch(tips)
{
case 1:
cout << "摄氏度是目前世界使用比较广泛的一种温标,它是18世纪瑞典天文学家安德斯·摄尔修斯(Anders Celsius,1701-1744)提出来的。"<<endl
<< "1954年的第十届国际度量衡大会特别将此温标命名为“摄氏温标”,以表彰摄氏的贡献。";
break;
case 2:
cout << "摄氏度:在标准大气压下,定义为水的冰点为0℃,沸点为100℃。"; 
break;
case 3:
cout << "华氏度是以其发明者德国人Gabriel D. Fahrenheit(华伦海特1681—1736)命名的,是经验温标之一。在美国的日常生活中,多采用这种温标。";
break;
case 4:
cout << "华氏度:在大气压为1.01X10^5Pa时,定义为水的冰点为32℉,沸点为212℉。" ;
break;
case 5:
cout << "开尔文是威廉·汤姆逊(William Thomson)发明的,是一种绝对温标。"<<endl
<<"因他在科学上的成就和对大西洋电缆工程的贡献,获英女皇授予开尔文勋爵衔,所以后世称他为开尔文。 ";
break;
case 6:
cout << "开尔文:在标准大气压下,以绝对零度为0K,水的冰点为273.15K,沸点为373.15K。"; 
break;
case 7:
cout << "摄氏度 =(华氏度 - 32) ÷1.8"<<endl
<< "华氏度=摄氏度×1.8+32"; 
break;
case 8:
cout << "摄氏度=开尔文-273.15"<<endl
<< "开尔文=摄氏度+273.15"; 
break;
case 9:
cout << "华氏度=开尔文×1.8-523.67"<<endl
<< "开尔文=(华氏度+523.67)÷1.8";
break;
default:
cout << "对不起,加载失败。";} 
do{
cout <<endl<< "开始计算" <<endl<< "请输入需要的精度(小数位数,不能小于0)";
cin >> floatA;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(floatA);
}while (floatA<0);
cout << "请输入需要转化的温度单位"<<endl<<"摄氏度为C,华氏度为F,开尔文为K。";
cin >>cina;
cout <<"请输入转化后的单位。";
cin >>cinb;
do{
cout << "请输入需要转化的温度值:";
cin >> mainA;
if(((cina=='C')||(cina=='c'))&&((cinb=='F')||(cinb=='f')))
{mainB=mainA*1.8+32;
cout << mainA << "℃"<<"="<< mainB << "℉"<<endl;
}
哦,有点长了,之后的就删了

守候你守候我
浏览 99回答 1
1回答

明月笑刀无情

加个头文件 《ctime》《cstdlib》在main()函数的开头一句 srand((unsigned)time(0));
打开App,查看更多内容
随时随地看视频慕课网APP