turbo我的C++代码不起作用
turbo My Code of C++ is not Working
我是C++编程的学生,我试图在C++中创建一个年龄计算器,但我在将一个变量与另一个变量相乘时遇到了困难这是代码:
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int birthmonth,birthyear,birthdate;
int currentmonth,currentyear,currentdate;
int year,month,weeks,cal,calx,days,hours;
cout<<"Hassan's Age Calculatornn";
cout<<"Enter Your Birth Year(i.e:1996):";
cin>>birthyear;
cout<<"nEnter Your Birth Month(i.e:10):";
cin>>birthmonth;
cout<<"nEnter date of Birth(i.e:27):";
cin>>birthdate;
cout<<"nEnter The Current Month(i.e:7):";
cin>>currentmonth;
cout<<"nEnter The Current Year(i.e:2013):";
cin>>currentyear;
cout<<"nEnter Current Date(i.e:24):";
cin>>currentdate;
year=currentyear-birthyear;
month=year*12;
weeks=month*4.34;
cal=(year*365.242)+currentdate;
calx=cal+30.43;
days=calx-birthdate;
hours=days*24;
cout<<"nnttYour Age is "<<year<< " in Years" ;
cout<<"nnttYour Age is "<<month<< " in Months" ;
cout<<"nnttYour Age is "<<weeks<<" in weeks";
cout<<"nnttYour Age is "<<days<<" in days";
cout<<"nnttYour Age is "<<hours<<" in hours";
getch();
}
看到变量名称hours它不起作用,它显示18640,但通过将变量的答案(天)乘以24,它应该是149712,在控制台屏幕上,天的答案是6238。我正在使用turbo C 4.0++,我需要帮助我做错了什么。
看起来您的史前编译器有16位int
类型。149712太大,无法容纳16位,因此计算溢出并给出错误的值。您应该:
- 如果您需要一个保证足够大的类型来表示多达几十亿的数字,请使用
long
或int32_t
;或者可能是float
或double
,因为您正在进行浮点运算 - 使用现代编译器。在该编译器的生命周期中,该语言和标准库进行了两次重大更新,您正在编写的语言几乎无法识别为C++
相关文章:
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 为什么这段代码不起作用,我该如何解决?
- 为什么这些完全相似的代码不起作用?
- 我不明白为什么我的代码不起作用并且需要更长的时间来运行
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 代码在Visual Studio 2017中不起作用,但在VS代码中工作
- std::string == 运算符在代码中不起作用
- C++ 多态性在代码::块 17.12 中不起作用
- 为什么 pop_back() 在此代码中不起作用?
- 注释一行使代码工作,而没有它,代码不起作用
- C++ 程序在代码块 IDE 中不起作用
- 代码编译但不起作用!cmd窗口只是理想和理想,但什么也没发生
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- 在 directx11 代码中更改全屏模式下的刷新率不起作用
- 为什么给定的代码不适用于所有测试用例?为什么当输入为 7786 时它不起作用?
- cpp / c ++中的grpc客户端代码,元数据x-api-key/x-goog-api-key不起作用,给了我语音A
- C ++函数重新定义(代码不起作用 - 逻辑错误)
- 试图找到一个数字的平方根,但代码不起作用。C++