鱼C论坛

 找回密码
 立即注册
查看: 1564|回复: 2

[作品展示] 自己做的计算器 初学需要一个老师

[复制链接]
发表于 2023-4-2 17:37:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<iostream>
  2. #include<stdlib.h>
  3. #include<ctime>
  4. #include<stdio.h>
  5. #include<Windows.h>
  6. #include<iomanip>
  7. #define pi_ 3.1415926535898
  8. using namespace std;
  9. float add(float jia1, float jia2)//加法函数
  10. {
  11.         float jiaguo = jia1 + jia2;
  12.         return jiaguo;
  13. }
  14. float subtract(float jian1, float jian2)//减法函数
  15. {
  16.         float jianguo = jian1 - jian2;
  17.         return jianguo;
  18. }
  19. float ride(float cheng1, float cheng2)//乘法函数
  20. {
  21.         float jianguo = cheng1 * cheng2;
  22.         return jianguo;
  23. }
  24. float getridof(float chu1, float chu2)//除法函数
  25. {
  26.         float jianguo = chu1 / chu2;
  27.         return jianguo;
  28. }
  29. int main()
  30. {
  31.         time_t begin, end;
  32.         double ret;
  33.         begin = clock();
  34.         long float jieguo = 0, jieguo1 = 0, jieguo2 = 0,jieguo3 = 0,chufa1 = 1, chufa2 = 1, jiafa1 = 0, jiafa2 = 0, jianfa1 = 0, jianfa2 = 0, chengfa1 = 0, chengfa2 = 0,radius = 0,area = 0;
  35.         long int chengchuxuanze1 = 0, jieshuyu = 0,zhi = 0,jiao = 0,ji = 0,tu = 0;
  36.         int xuanshizi = 0;
  37.     int xuanze = 0;
  38.         cout << "欢迎使用此程序\n输入1为新版使用函数计算器 可以计算小数且更快的计算速度\n输入2为第一版计算器使用运算法计算器" << endl;
  39.         cin >> xuanze;
  40.         system("cls");
  41.         switch (xuanze)
  42.         {
  43.         case 1:
  44.                 L01:cout << "----------------计算器----------------------\t" << endl;
  45.                 cout << "请输入运算的类型:\n1,加法\t最大支持8字节数据\n2,减法\t最大支持8字节数据\n3,乘除\t最大支持8字节数据\n4,九  九  乘  法  表\n5,鸡兔同笼题运算\t最大支持8字节数据\n6,圆面积计算\t最大支持8字节数据" << endl;
  46.                 cout << "----------输入运算类型前的数字--------------\t" << endl;
  47.                 cin >> xuanshizi;//用户输入选择
  48.                 system("cls");
  49.                 switch (xuanshizi)
  50.                 {
  51.                 case 1://加
  52.                         cout << "--------------------加法--------------------\t" << endl;
  53.                         cout << "请输入第一个数字:" << endl;
  54.                         cin >> jiafa1;
  55.                         cout << "您输入的数字为:" << jiafa1 << endl;
  56.                         cout << "--------------------------------------------\t" << endl;
  57.             cout << "请输入第二个数字:" << endl;
  58.                         cin >> jiafa2;
  59.                         cout << "您输入的数字为:" << jiafa2 << endl;
  60.                         jieguo1 = add(jiafa1, jiafa2);//运算结果
  61.                         cout << "--------------------------------------------\t" << endl;
  62.                         cout << jiafa1 << " 加 " << jiafa2 << " 等于 " << setprecision(10) << jieguo1 << endl;
  63.                         cout << "-----------------运算完成-------------------\t" << endl;
  64.                         break;//结束分支,不加否则继续执行
  65.                 case 2://减
  66.                         cout << "--------------------减法--------------------\t" << endl;
  67.                         cout << "请输入第一个数字:" << endl;
  68.                         cin >> jianfa1;
  69.                         cout << "您输入的数字为:" << jianfa1 << endl;
  70.                         cout << "--------------------------------------------\t" << endl;
  71.                         cout << "请输入第二个数字:" << endl;
  72.                         cin >> jianfa2;
  73.                         cout << "您输入的数字为:" << jianfa2 << endl;
  74.                         jieguo = subtract(jianfa1, jianfa2);    //运算结果
  75.                         cout << "--------------------------------------------\t" << endl;
  76.                         cout << jianfa1 << " 减 " << jianfa2 << " 等于 " << setprecision(10) << jieguo << endl;
  77.                         cout << "-----------------运算完成-------------------\t" << endl;
  78.                         break;//结束分支,不加否则继续执行
  79.                 case 4://乘法口诀表
  80.                         cout << "-----------------乘法口诀表-----------------\t" << endl;
  81.                         for (int n9 = 1; n9 <= 9; n9++)
  82.                         {
  83.                                 for (int m9 = 1; m9 <= n9; m9++)
  84.                                 {
  85.                                         cout << m9 << "*" << n9 << "=" << m9 * n9 << "\t";
  86.                                 }
  87.                                 cout << endl;
  88.                                 }
  89.                         cout << "--------------------------------------------\t" << endl;
  90.                         break;
  91.                 case 5://鸡兔同笼
  92.                         cout << "-----------------鸡兔同笼题-----------------\t" << endl;
  93.                         cout << "鸡和兔一共有多少只" << endl;
  94.                         cin >> zhi;
  95.                         cout << "鸡和兔一共有多少脚" << endl;
  96.                         cin >> jiao;
  97.                         tu = (jiao - (2 * zhi));
  98.                         tu = tu / 2;
  99.                         ji = zhi - tu;
  100.                         cout << "鸡有:" << ji << "只\n" << "兔有:" << tu << "只" << endl;
  101.                         cout << "-----------------运算完成-------------------\t" << endl;
  102.                         break;
  103.                 case 6:
  104.                         cout << "-----------------圆面积计算-----------------\t" << endl;
  105.                         cout << "请输入圆的半径:" << endl;
  106.                         cin >> radius;
  107.                         area = radius * radius * pi_;
  108.                         cout << "圆的半径是:" << setprecision(15) << radius << "圆的面积是:" << area << endl;
  109.                         cout << "-----------------运算完成-------------------\t" << endl;
  110.                         break;
  111.                 case 3://乘除选择
  112.                         cout << "------------------乘除选择------------------\t" << endl;
  113.                         cout << "乘法还是除法?" << endl;
  114.                         cout << "1,乘法" << endl;
  115.                         cout << "2,除法" << endl;
  116.                         cout << "--------------------------------------------\t" << endl;
  117.                         cin >> chengchuxuanze1;
  118.                         system("cls");//清空上面内容

  119.                         switch (chengchuxuanze1)
  120.                         {
  121.                         case 1://乘
  122.                                 cout << "------------------乘法----------------------\t" << endl;
  123.                                 cout << "请输入第一个数字:" << endl;
  124.                                 cin >> chengfa1;
  125.                                 cout << "您输入的数字为:" << chengfa1 << endl;
  126.                                 cout << "--------------------------------------------\t" << endl;
  127.                                 cout << "请输入第二个数字:" << endl;
  128.                                 cin >> chengfa2;
  129.                                 cout << "您输入的数字为:" << chengfa2 << endl;
  130.                                 jieguo2 = ride(chengfa1,chengfa2);//运算结果
  131.                                 cout << "--------------------------------------------\t" << endl;
  132.                                 cout << chengfa1 << " 乘 " << chengfa2 << " 等于 " << setprecision(10) << jieguo2 << endl;
  133.                                 cout << "-----------------运算完成-------------------\t" << endl;
  134.                                 break;//结束分支,不加否则继续执行

  135.                         case 2://除
  136.                                 cout << "--------------------除法--------------------\t" << endl;
  137.                                 cout << "请输入第一个数字:" << endl;
  138.                                 cin >> chufa1;
  139.                                 cout << "您输入的数字为:" << chufa1 << endl;
  140.                         L02:cout << "--------------------------------------------\t" << endl;
  141.                                 cout << "请输入第二个数字:" << endl;
  142.                                 cin >> chufa2;
  143.                                 cout << "您输入的数字为:" << chufa2 << endl;
  144.                                 cout << "--------------------------------------------\t" << endl;
  145.                                 if (chufa2>0)
  146.                                 {
  147.                                         jieguo3 = getridof(chufa1,chufa2);//运算结果
  148.                                         cout << chufa1 << " 除 " << chufa2 << " 等于 " << setprecision(10) << jieguo3 << endl;
  149.                                         cout << "-----------------运算完成-------------------\t" << endl;
  150.                                         break;//结束分支,不加否则继续执行
  151.                                 }
  152.                                 else
  153.                                 {
  154.                                         cout << "第二个数字不能小于等于0!" << endl;
  155.                                         goto L02;
  156.                                 }
  157.                                 break;
  158.                         default:
  159.                                 break;
  160.                         }
  161.                 default:
  162.                         break;
  163.                 }
  164.                 cout << "1,重新开始 2,退出程序" << endl;//选择继续运行还是退出
  165.                 cin >> jieshuyu;
  166.                 switch (jieshuyu)
  167.                 {
  168.                 case 1:
  169.                         system("cls");//清空并重新运行l1内容
  170.                         goto L01;
  171.                 case 2:
  172.                         cout << "-----------------回车退出-------------------\t" << endl;
  173.                         end = clock();
  174.                         ret = double(end - begin) / CLOCKS_PER_SEC;
  175.                         cout << endl;
  176.                         cout << "程序运行时间: " << ret << "秒" << endl;
  177.                         system("pause");//退出程序
  178.                 default:
  179.                         break;
  180.                
  181.                 }
  182.         case 2:        L1:cout << "----------------计算器----------------------\t" << endl;
  183.                 cout << "请输入运算的类型:\n1,加法 最大支持-+2147483647\n2,减法 最大支持-+2147483647\n3,乘除 最大支持-+2147483647\n4,九  九  乘  法  表\n5,鸡兔同笼题运算\n6,圆面积计算" << endl;
  184.                 cout << "----------输入运算类型前的数字--------------\t" << endl;
  185.                 int select = 0;//创建变量选择
  186.                 int chengchu = 0;//乘除的变量选择
  187.                 int jieshu = 0;
  188.                 cin >> select;//用户输入选择
  189.                 int d = 0, e = 0, f = 0, a = 0, b = 0, c = 0, g = 0, h = 0, i = 0;//加减乘
  190.                 float l = 0, k = 1, n = 1;//除
  191.                 system("cls");
  192.                 switch (select)
  193.                 {
  194.                 case 1://加
  195.                         cout << "--------------------加法--------------------\t" << endl;
  196.                         cout << "请输入第一个数字:" << endl;
  197.                         cin >> d;
  198.                         cout << "您输入的数字为:" << d << endl;
  199.                         cout << "--------------------------------------------\t" << endl;

  200.                         cout << "请输入第二个数字:" << endl;
  201.                         cin >> e;
  202.                         cout << "您输入的数字为:" << e << endl;
  203.                         f = d + e;//运算结果
  204.                         cout << "--------------------------------------------\t" << endl;
  205.                         cout << d << " 加 " << e << " 等于 " << f << setprecision(10) << endl;
  206.                         cout << "-----------------运算完成-------------------\t" << endl;
  207.                         break;//结束分支,不加否则继续执行

  208.                 case 2://减
  209.                         cout << "--------------------减法--------------------\t" << endl;
  210.                         cout << "请输入第一个数字:" << endl;
  211.                         cin >> a;
  212.                         cout << "您输入的数字为:" << a << endl;
  213.                         cout << "--------------------------------------------\t" << endl;
  214.                         cout << "请输入第二个数字:" << endl;
  215.                         cin >> b;
  216.                         cout << "您输入的数字为:" << b << endl;
  217.                         c = a - b;//运算结果
  218.                         cout << "--------------------------------------------\t" << endl;
  219.                         cout << a << " 减 " << b << " 等于 " << c << setprecision(10) << endl;
  220.                         cout << "-----------------运算完成-------------------\t" << endl;
  221.                         break;//结束分支,不加否则继续执行
  222.                 case 4://乘法口诀表
  223.                         cout << "-----------------乘法口诀表-----------------\t" << endl;
  224.                         for (int n9 = 1; n9 <= 9; n9++)
  225.                         {
  226.                                 for (int m9 = 1; m9 <= n9; m9++)
  227.                                 {
  228.                                         cout << m9 << "*" << n9 << "=" << m9 * n9 << "\t";
  229.                                 }
  230.                                 cout << endl;
  231.                         }
  232.                         cout << "--------------------------------------------\t" << endl;
  233.                         break;
  234.                 case 5://鸡兔同笼
  235.                         cout << "-----------------鸡兔同笼题-----------------\t" << endl;
  236.                         cout << "鸡和兔一共有多少只" << endl;
  237.                         cin >> zhi;
  238.                         cout << "鸡和兔一共有多少脚" << endl;
  239.                         cin >> jiao;
  240.                         tu = (jiao - (2 * zhi));
  241.                         tu = tu / 2;
  242.                         ji = zhi - tu;
  243.                         cout << "鸡有:" << ji << "只\n" << "兔有:" << tu << "只" << endl;
  244.                         cout << "-----------------运算完成-------------------\t" << endl;
  245.                         break;
  246.                 case 6:
  247.                         cout << "-----------------圆面积计算-----------------\t" << endl;
  248.                         cout << "请输入圆的半径:" << endl;
  249.                         cin >> radius;
  250.                         area = radius * radius * pi_;
  251.                         cout << "圆的半径是:" << setprecision(15) << radius << "圆的面积是:" << area << endl;
  252.                         cout << "-----------------运算完成-------------------\t" << endl;
  253.                         break;
  254.                 case 3://乘除选择
  255.                         cout << "------------------乘除选择------------------\t" << endl;
  256.                         cout << "乘法还是除法?" << endl;
  257.                         cout << "1,乘法" << endl;
  258.                         cout << "2,除法" << endl;
  259.                         cout << "--------------------------------------------\t" << endl;
  260.                         cin >> chengchu;
  261.                         system("cls");//清空上面内容

  262.                         switch (chengchu)
  263.                         {
  264.                         case 1://乘
  265.                                 cout << "------------------乘法----------------------\t" << endl;
  266.                                 cout << "请输入第一个数字:" << endl;
  267.                                 cin >> g;
  268.                                 cout << "您输入的数字为:" << g << endl;
  269.                                 cout << "--------------------------------------------\t" << endl;
  270.                                 cout << "请输入第二个数字:" << endl;
  271.                                 cin >> h;
  272.                                 cout << "您输入的数字为:" << h << endl;
  273.                                 i = g * h;//运算结果
  274.                                 cout << "--------------------------------------------\t" << endl;
  275.                                 cout << g << " 乘 " << h << " 等于 " << i << setprecision(10) << endl;
  276.                                 cout << "-----------------运算完成-------------------\t" << endl;
  277.                                 break;//结束分支,不加否则继续执行

  278.                         case 2://除
  279.                                 cout << "--------------------除法--------------------\t" << endl;
  280.                                 cout << "请输入第一个数字:" << endl;
  281.                                 cin >> k;
  282.                                 cout << "您输入的数字为:" << k << endl;
  283.                         L2:cout << "--------------------------------------------\t" << endl;
  284.                                 cout << "请输入第二个数字:" << endl;
  285.                                 cin >> n;
  286.                                 cout << "您输入的数字为:" << n << endl;
  287.                                 cout << "--------------------------------------------\t" << endl;
  288.                                 if (n)
  289.                                 {
  290.                                         l = k / n;//运算结果
  291.                                         cout << k << " 除 " << n << " 等于 " << setprecision(10) << l << endl;
  292.                                         cout << "-----------------运算完成-------------------\t" << endl;
  293.                                         break;//结束分支,不加否则继续执行
  294.                                 }
  295.                                 else
  296.                                 {
  297.                                         cout << "第二个数字不能小于等于0!" << endl;
  298.                                         goto L2;
  299.                                 }
  300.                                 break;
  301.                         default:
  302.                                 break;
  303.                         }
  304.                 default:
  305.                         break;
  306.                 }
  307.                 cout << "1,重新开始 2,退出程序" << endl;//选择继续运行还是退出
  308.                 cin >> jieshu;
  309.                 switch (jieshu)
  310.                 {
  311.                 case 1:
  312.                         system("cls");//清空并重新运行l1内容
  313.                         goto L1;
  314.                 case 2:
  315.                         cout << "-----------------回车退出-------------------\t" << endl;
  316.                         end = clock();
  317.                         ret = double(end - begin) / CLOCKS_PER_SEC;
  318.                         cout << endl;
  319.                         cout << "程序运行时间: " << setprecision(10) << ret << "秒" << endl;
  320.                         system("pause");//退出程序
  321.                 default:
  322.                         break;
  323.                 }
  324.         }
  325. }

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-4-3 07:04:35 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-4-19 17:50:17 | 显示全部楼层
1



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 16:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表