1. 程式人生 > >用c語言編寫的可以計算+-*/的計算器

用c語言編寫的可以計算+-*/的計算器

寫了一個計算器程式,想分享給大家;同時寫到最後感覺有點凌亂,希望各位幫忙給優化下,共同提高。這個計算器可以計算輸入的字串,字串中可以含括號,可以是小數,也可以包含負數。此程式被拆分在5個檔案中,我按檔案一一羅列吧:

編寫環境:VC++6.0。

第一個main函式所在檔案:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include<stdio.h>
#include<stdlib.h> #include<ctype.h> int main() { char *s1; int i; double c; double calc(char *s); int brk(char *st); while(1) { s1=(char *)malloc(50);   //為s1分配地址和空間。 scanf("%s",s1);          //輸入並得到s1字串。 i=brk(s1);               //執行所有"()"中的計算式。 c=calc(s1);              
//計算最後的不帶"()"的s1。 printf("%g\n",c);        //輸出最後結果。 printf("--------Press Up/Down Arorw or Begain Next Input:\n");     //提示執行下一次運算。 free(s1);    //釋放s1記憶體空間。 } }

第二個函式檔案:

1 2 3 4

相關推薦

c語言編寫的可以計算+-*/的計算器

寫了一個計算器程式,想分享給大家;同時寫到最後感覺有點凌亂,希望各位幫忙給優化下,共同提高。這個計算器可以計算輸入的字串,字串中可以含括號,可以是小數,也可以包含負數。此程式被拆分在5個檔案中,我按檔案一一羅列吧: 編寫環境:VC++6.0。 第一個m

C語言編寫簡單的計算器

/* Note:Your choice is C IDE */#include "stdio.h"void main(){    double a,b,d;//定義算式數    char c;//定義變數符號    printf("請輸入演算法 如(3+4):");//提示輸

C#語言編寫:數組分析器

find 操作 fin numbers 排序 ole class 數字 輸入 static void Main(string[] args) { #region 創建數組 Console.Write("請輸入數組的

C#語言編寫:集合管理器

list 管理 main 繼續 console reac 提示 回車 read static void Main(string[] args) { List<int> numbers = new List<int>

c#語言編寫水仙花數

sta program for eric eap write 水仙花 ogr ati using System;using System.Collections.Generic;using System.Linq;using System.Text;using System

cp&tar&c語言編寫程序 實現cp命令的效果

none des tdi 文件內容 display 我們 class pan fop 1.cp (拷貝) 已存在文件路徑 要拷貝的文件路徑 實現cp命令的代碼如下: 2 #include <stdio.h>

C語言編寫簡單遊戲——三子棋

      先簡單介紹一下三子棋的規則,方便我們接下來的程式設計和理解。規則如下:   在九宮格棋盤上,只要將自己的三個棋子走成一條線(橫、豎、對角線),對方就算輸了。   規則很簡單,但是我們應

輸入一行字元分別統計出其中英文字母、空格、數字和其他字元的個數。(c++語言編寫程式)【寫的第1篇部落格,很高興

#include<stdio.h> int main() { char ch; //定義ch為字元型變數 int a=0,b=0,c=0,d=0; //定義a,b,c,d為整型變數並賦初值 while(scanf("%c",&ch),ch!=’\n’) //輸入字元直到c

C語言編寫一個輸出最大值的程式

void main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c); if(a>b)max=a;elsemax=b; if(c>max)max=c;printf("max is %d",max);getch

聖誕節,C語言編寫一段程式碼送給你的女神吧

本文只是寫給初學者,其中一些程式碼很隨意,望高手們不要見笑。 許多學習C語言的人,一段時間後,為了更進一步,開始學習C++,然而有關類的一些東西,搞的頭昏腦脹。其實類就是原始碼編好後封裝,別人使用時找到類的介面,類再利用API接下口。說白了,類就是一箇中介,不過編寫MFC類的人掌握了一些微軟

c語言編寫兩個數的交換,三種方法

下面是從函式角度,還有簡單的交換 法去實現兩個數的交換。其中函式用到指標,通過前兩種方法可以深刻的體會到指標變得的含義。 #include <stdio.h> void swap(int *a,int *b) {   int temp;     temp=*a;

C語言編寫一個通訊錄

用C語言編寫通訊錄,功能包含      新增-------查詢-------刪除-------替換-------顯示所有資訊-------清空所有資訊 提示:由於本程式並未引進資料儲存功能,所以在關閉命令框後,所有資料將會消失,希望在使用時多加註意 &nbs

五子棋 (C語言編寫五子棋遊戲)

game.h 檔案 #ifndef __GAME_H__ #define __GAME_H__ enum OPTION { EXIT, PLAY }; #include <stdio.h> #include <stdlib.h> #incl

Cc語言編寫一個猜字遊戲!!!!

首先,編寫一個猜字遊戲需要使用者選擇頁面 其次是,在遊戲過程中如果猜錯就需要重新輸入(即需要用到迴圈結構) 當用戶猜對了,就需要停止程式。(使用break) #define _CRT_SECURE_N

C語言編寫程式:求兩數的最大公約數。

此程式用了3個方法(相減法、窮舉法、輾轉相除法)來求兩數的最大公約數,使用者可自己選擇用哪種演算法。 #include<stdio.h> #include<stdlib.h> int select=1;//select 為是否退出系統的標記 voi

C語言編寫一個隨機點名系統

/*編寫一個隨機點名系統,執行該系統後,按空格鍵可以顯示出一名同學,以前被選中的同學,將不會再次被選中*/ #include<stdio.h> /*stand

c語言編寫求n的k次方函式,迭代和遞迴兩種方法

在c語言中求n的k次方函式。雖然c語言中庫函式中已經存在,但是知道它的程式碼或者實現思想也是很必要的。那麼我們用兩種方式來實現:第一種:迭代法(效率在資料量比較大時要相比遞迴快一點)int power_ineration(int n,int k)//迭代 { int q =

教你C語言編寫"vb"程式

  相信不少人學過C語言,也學過VB。在不少人看來C語言和VB之間最大的區別就是:C程式是黑漆漆DOS視窗,而VB是標準的Windows窗體。其實不然,C語言也是可以寫出“vb”程式的。 請看程式碼: #include <windows.h> LRESULT CA

C 語言編寫 Windows 服務程式的五個步驟

摘要  Windows 服務被設計用於需要在後臺執行的應用程式以及實現沒有使用者互動的任務。為了學習這種控制檯應用程式的基礎知識,C(不是C++)是最佳選擇。本文將建立並實現一個簡單的服務程式,其功能是查詢系統中可用實體記憶體數量,然後將結果寫入一個文字檔案。最後,你可以用所學知識編

C語言編寫猜數字遊戲

在編寫一個猜數字遊戲之前,我們來做一些鋪墊工作: 1.函式鋪墊 (1)rand:該函式是用來產生一個隨機數(每次產生的隨機數相同)。如:rand()%100相當於產生一個0~99之間的隨機數; (2)srand:該函式作用是在呼叫rand函式之前,去設定隨機數 產生器,使得