查看單個文章
舊 2007-12-05, 02:21 PM   #2 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9734小時 | 升級還需:63小時級別:96 | 在線時長:9734小時 | 升級還需:63小時級別:96 | 在線時長:9734小時 | 升級還需:63小時級別:96 | 在線時長:9734小時 | 升級還需:63小時級別:96 | 在線時長:9734小時 | 升級還需:63小時級別:96 | 在線時長:9734小時 | 升級還需:63小時
註冊日期: 2002-12-07
文章: 13277
精華: 0
現金: 26305 金幣
資產: 3024115 金幣
預設



一個讀檔示範
從 test.txt 讀出兩個字串
並轉成數值變數後作乘法運算
語法:
#include <iostream>
#include <fstream>

using namespace std;

ifstream infile;  //宣告一個file物件
//也可試試 File infile;

void read_line(char string[]) {
  int i=0;

  do {
    string[i] = (char)infile.get();
    i++;
  } while ((string[i-1] != '\n') && infile.good());
  string[i-1] = '\0';
}

//接著是 main主體
int main () {
  char b1[255];//*b1; //宣告b1字串
  char b2[255];//*b2; //宣告b2字串
  char ch[]={'0','\0'}, temp[255];
  int i;
  
  //開啟 test.txt 檔案 : void open ( const char * filename, openmode mode = in );
  infile.open("test.txt");
  //讀第一行到字串b1中
  read_line(b1);

  //讀第二行到字串b2中
  read_line(b2);

  //輸入取第幾個字元當乘數
  printf("被乘數是[ %s ],請從[ %s ]選第n個數當乘數:", b1, b2);
  scanf("%s", temp);
  ch[0] = b2[atol(temp)-1]; //atol是將字串轉成 long型態
  //輸出結果
  printf("%s * %s = %ld \n", b1, ch, atol(b1)*atol(ch));
  
  infile.close(); //關閉檔案
  system("PAUSE");
  return 0; //main 是一個函式要傳出一個值
}
test.txt 的內容是
語法:
12345
345
執行結果
語法:
被乘數是[ 12345 ],請從[ 345 ]選第n個數當乘數:2
12345 * 4 = 49380
請按任意鍵繼續 . . .
以上選用 345的第二個字元 "4" 當乘數
得到積為 49380

至於什麼 "矩陣相乘"
怎麼乘早忘了
所以 以上請自行修改應用
mini 目前離線  
送花文章: 2003, 收花文章: 7966 篇, 收花: 26761 次
回覆時引用此帖