前天在幫學弟寫程式,寫一個計算機程式,題目如下:
寫一程式模擬簡單的計算機 每個資料列含下列的運算子中的一個及其右運算元
假設左運算元存在累加器中(初值為0) 需要函式scan_data 有2個輸出參數回傳
從資料列讀入的運算子元和右運算元 亦需函式do_next_op 執行運算子的功能
此函式有2個輸入參數(運算子和運算元) 及一個輸入/輸出參數(累加器) 有效運算子有
+
- 減
* 乘
/ 除
^ 次方
q 結束
此計算器在每次運算後要顯示累加器之值 一個執行範例如下
+5.0
result so far is 5.0
^2
result so far is 25.0
/2.0
result so far is 12.5
q0
final ressult is 12.5
上面是我學弟的題目,不過他有傳一份他朋友的作業給我看,我本身不太喜歡用 scanf,我比較喜歡用 fgets,但是後來遇到要切割文字的問題,也就是 C 語言沒有 substr 取字串的函式,所以利用底下來實做:
Read Full Post »
常常在寫 C 語言,有時候想判斷輸入的是否為數字,如果不是的話,要重新輸入,所以寫一下怎麼判斷的,ptt提供了下面很多函式
isalnum ctype.h 測試某一整數值是否為'A'-'Z','a'-'z','0'-'9'等文數字之一。
isalpha ctype.h 測試某一整數值是否為'A'-'Z','a'-'z',等字母之一。
isascii ctype.h 如果ch的值判於0-127,則傳回非零整數(0x00-0x7F)。
iscntrl ctype.h 如果ch是一刪除字元或一般控制字元,則傳回非零整數(0x7F或0x00-0x1F)。
isdigit ctype.h 如果ch是一數字,則傳回非零整數。
isgraph ctype.h 如果ch是為可列印字元,則傳回非零整數。
islower ctype.h ch若為小寫字母,則傳回非零整數。
isprint [...]
Read Full Post »
最近在寫 BCB 的時候遇到的,不過忘記之前怎麼寫的,所以又上去找了一下,發現可以利用 sizeof 這個函式,來計算陣列的個數,我去查了一下 BCB 的 manual,裡面寫的還蠻詳細的,如下
Example for sizeof operator
/* USE THE sizeof OPERATOR TO GET SIZES OF DIFFERENT DATA TYPES. */
#include <stdio.h>
struct st {
char *name;
int age;
double height;
};
struct st St_Array[]= { /* AN ARRAY OF structs */
{ "Jr.", 4, 34.20 }, /* St_Array[0] */
{ "Suzie", 23, 69.75 [...]
Read Full Post »
Posted in BCB[Borland C/C++ Builder], sql on Jan 18th, 2008
這兩天開始玩 BCB 的這東西,其實我原本就有打算要學一套視窗軟體,畢竟好像還不錯,可以寫寫軟體,所以就拿了 BCB 來學習。
剛開始想說寫個要跟 MSSQL 資料庫的統計圖,發現 BCB 並不支援 MSSQL,解決方式,當然就是拿 Delphi 的元件
利用 Delphi 7 的 MSSQL Driver Update 內的「dbexpmss.dll」 Copy 到「 $(BCB)\BIN 」
然後在設定 dbxconnections.ini
[MSSQL]
GetDriverFunc=getSQLDriverMSSQL
LibraryName=dbexpmss.dll
VendorLib=oledb
HostName=ServerName
DataBase=Database Name
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
MSSQL TransIsolation=ReadCommited
OS Authentication=False
然後再來是 MySQL5,原本的 BCB 並不支援 MSQL5 所以自己另外找了文
http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html
Read Full Post »