用c語言寫的簡單計算器

来源:http://www.cnblogs.com/yjh123/archive/2016/05/27/5535971.html
-Advertisement-
Play Games

最初版本: #include<stdio.h> int checkPassword(); int add(int x,int y); int sub(int x,int y); int multi(int x,int y); float quo(float x1,float y1); int com ...


最初版本:

#include<stdio.h>

int checkPassword();

int add(int x,int y);

int sub(int x,int y);

int multi(int x,int y);

float quo(float x1,float y1);

int com(int x,int y);

int x,y;

int result;

int select;

float result1;

float x1,y1;

int success,psw;

int a;

int i;

int t;

 

 

void main()

{

         printf("請輸入密碼:\n");

         i=0;

         do{

        

                   scanf("%d",&a);

 

                   if( a!=1234  && i<2)

                            printf("請重新輸入密碼:\n");

                   else

                            i=3;

                   i++;

}while( i<=2);

         if(a==1234)

         {

                            for(t=1;t!=6;t=select)

         {

        

        

 

         printf("+=============================+\n");

         printf("+======計=算=器=主=菜=單======+\n");

         printf("+=============================+\n");

         printf("+==========1、  加法==========+\n");

         printf("+==========2、  減法==========+\n");

         printf("+==========3、  乘法==========+\n");

         printf("+==========4、  除法==========+\n");

         printf("+==========5、  求餘==========+\n");

         printf("+==========6、  退出==========+\n");

         printf("+=============================+\n");

 

 

         printf("請輸入你的選擇:\n");

         scanf("%d",&select);

 

         switch(select)

         {

        

         case 1:

                   printf("請輸入兩個數:\n");

                   scanf("%d%d",&x,&y);

                   result=add(x,y);

                   printf("%d+%d=%d\n",x,y,result);

                   break;

         case 2:

                   printf("請輸入兩個數:\n");

                   scanf("%d%d",&x,&y);

                   result=sub(x,y);

                   printf("%d-%d=%d\n",x,y,result);

                   break;

         case 3:

                   printf("請輸入兩個數:\n");

                   scanf("%d%d",&x,&y);

                   result=multi(x,y);

                   printf("%d*%d=%d\n",x,y,result);

                   break;

         case 4:

                   printf("請輸入兩個數:\n");

                   scanf("%f%f",&x1,&y1);

                   result1=quo(x1,y1);

                   printf("%f/%f=%f\n",x1,y1,result1);

                   break;

         case 5:

                   printf("請輸入兩個數:\n");

                   scanf("%d%d",&x,&y);

                   result=com(x,y);

                   printf("%d/%d=%d\n",x,y,result);

                   break;

         case 6:

                   break;

         default:

                   printf("請輸入1~5之間的數\n");

                   break;

 

 

         }

         }

         }

}

int add(int x,int y)

{

         int sum;

         sum=x+y;

         return sum;

}

int sub(int x,int y)

{

         int sub;

         sub=x-y;

         return sub;

}

int multi(int x,int y)

{

         int multi;

         multi=x*y;

         return multi;

}

float quo(float x,float y)

{

         float quo;

         quo=x/y;

         return quo;

}

int com(int x,int y)

{

         int com;

         com=x%y;

         return com;

}

int checkPassword( int psw)

{

         if(psw==1234)

                   success=1;

         else

                   success=-1;

         return success;

}

 

 

 

 

 

改版後:

 

 

#include<stdio.h>

int yanzheng(int );

void caidan();

void jiafa(int,int);

void jianfa(int,int);

void chengfa(float,float);

void chufa(float,float);

void mo(int,int);

 

void main(){

         int x,m;

         int y;

         float a,b;

         printf("請輸入密碼:\n");

         scanf("%d",&x);

         m=yanzheng(x);

         if(m==1){

                   caidan();

                   //int y;

                   //float a,b;

                   for(;y!=6;){

                   printf("請輸入選項:\n");

                   scanf("%d",&y);

                   if(y>=1 && y<6){

                   printf("請輸入要運算的兩個數:\n");

                   scanf("%f%f",&a,&b);

                   }

 

                   switch(y){

                   case 1 :jiafa(a,b);break;

                   case 2 :jianfa(a,b);break;

                   case 3 :chengfa(a,b);break;

                   case 4 :chufa(a,b);break;

                   case 5 :mo(a,b);break;

                   case 6 :break;

                   default : printf("選項輸入錯誤!請重試\n");break;

                   }

                   }

         }

}

 

 

int yanzheng(int x){

         int i,m;

         for(i=1,m=0;i<3;i++){

                   if(x==1234){

                            m=1;

                            break;

                   }

                   printf("請重新出入密碼:");

                   scanf("%d",&x);

                  

         }

         return m;

}

 

void caidan(){

         printf("+=============================+\n");

         printf("+======計=算=器=主=菜=單======+\n");

         printf("+=============================+\n");

         printf("+==========1、  加法==========+\n");

         printf("+==========2、  減法==========+\n");

         printf("+==========3、  乘法==========+\n");

         printf("+==========4、  除法==========+\n");

         printf("+==========5、  求餘==========+\n");

         printf("+==========6、  退出==========+\n");

         printf("+=============================+\n");

}

 

void jiafa(int x,int y){

         int sum;

         sum=x+y;

         printf("%d\n", sum);

}

 

void jianfa(int x,int y){

         int cha;

         cha=x-y;

         printf("%d\n", cha);

}

 

void chengfa(float x,float y){

         float ji;

         ji=x*y;

         printf("%f\n", ji);

}

 

void chufa(float x,float y){

         float shang;

         shang=x/y;

         printf("%f\n", shang);

}

 

void mo(int x,int y){

         int mo;

         mo=x%y;

         printf("%d\n", mo);

}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Python執行某一類的時候,相當於執行__init__ 方法 例如:list() list __init__ set 是一個無序且不重覆的元素集合,可看做數學中的集合 用法: 1.創建集合 s = set() 創建空集合 s = set([11,22,33]) s = set('asdfghh') ...
  • 現階段php如果要操作mysql資料庫 php給我們提供了3套庫 1、mysql擴展庫 面向過程操作 2、mysqli擴展庫 面向對象操作和麵向過程操作並存 安全性和效率高於mysql擴展庫 3、PDO擴展庫 面向對象操作 今天這篇博文主要要談談mysql擴展庫和mysqli擴展庫 主要是記錄了著2 ...
  • ha_proxy配置文件修改程式ha_file 為存儲配置信息的文件。運行的時候對該文件進行操作。1.查詢信息:用戶輸入功能變數名稱,獲得功能變數名稱相關信息2.修改配置文件:用戶輸入的格式應該為 {"backend": "test.oldboy.org","record":{"server": "100.1.7. ...
  • 這是一個表單的時代。。。 我們在瀏覽器中編輯自己的信息,會遇到上傳頭像;在文庫中,我們會上傳文檔......到處存在“上傳”這個詞。 php是最好的語言(其他語言的程式猿們不要打我...)。php在處理交互方面有天然的優勢,自然有強大的函數來處理上傳文件。 和提交一般的數據一樣,上傳文件也需要表單。 ...
  • java為我們提供了一個集合的工具類,方便我們對集合進行操作,裡面的方法都是靜態方法。 Collections.sort()方法,參數:List<T>集合對象,這個對象帶著泛型,是為了保證集合中的元素具備可比較性,因此這個返回值的泛型就會特殊點, <T extends Comparable <? s ...
  • 選自Mr.kuang http://www.cnblogs.com/kuangbin/archive/2012/08/14/2638803.html /* * pku3461(Oulipo), hdu1711(Number Sequence) * 這個模板 字元串是從0開始的 * Next數組是從1... ...
  • 布爾類型其實可以算是一種特殊的數字,下麵是 help() 函數得到的幫助信息: Help on class bool in module __builtin__: class bool(int) | bool(x) -> bool | | Returns True when the argument ...
  • 1.什麼是Servlet? Servlet(Servlet Applet),全程Java Servlet,是用Java編寫的伺服器端程式,其主要功能在於互動式地瀏覽和修改數據,生成動態WEB內容。俠義的servlet是指Java語言實現的一個介面,廣義的servlet是指任何實現了這個servlet ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...