題目: 數制轉換
班級:***
姓名: ***
學號:200707041
指導教師: **
完成日期:2009 年 4 月 18 日
一、 需求分析
1、程式所實現的功能;
程式通過對棧的應用,實現了將乙個十進位制整數向r進製數的轉換。
2、程式的輸入,包含輸入的資料格式和說明;
程式執行時,輸入任意十進位制整數。對於轉換進製r的值則應為:10、2、8、 16。
3、程式的輸出,程式輸出的形式;
輸出為轉換成的r進製整數。
二、設計內容
1、說明本程式中所有用到的資料及其資料結構的定義及其基本操作的定義;
1)定義棧的順序儲存結構
typedef struct
sqstack;//棧的順序儲存表示
2)棧的初始化int initstack(sqstack &s)
3)判斷乙個棧是否為空int stackempty(sqstack &s)
4)入棧操作 int push(sqstack &s,int e)
5)出棧操作 int pop(sqstack &s,int &e)
6)數制轉換函式 void conversion(sqstack &s,int r,int n,int &e)
7)判斷是否輸入正確 int ninputlegality() int rinputlegality()
8)主函式 void main()
2、給出注釋詳細的源程式,及其設計思想的描述;
#include<>
#include<>
#include<>
#define stack_init_size 1000
#define stackincrement 10
#define true 1
#define false 0
#define ok 1
#define error 0
#define overflow 0
typedef struct
sqstack;//棧的順序儲存表示
int n;//定義全域性變數n,表示將要轉換為r進製的十進位制數
int r;//定義全域性變數r,表示進製數r
int initstack(sqstack &s)
//棧的初始化
int stackempty(sqstack &s)
//判斷棧是否為空
int push(sqstack &s,int e)
*return ok;
}//進棧操作
int pop(sqstack &s,int &e)
//出棧操作
void conversion(sqstack &s,int r,int n,int &e)
while(!stackempty(s))
printf("\n");
}//數制轉換函式
int ninputlegality()
}//判斷十進位制數n輸入是否合法
int rinputlegality()
}//判斷進製數r輸入是否合法
void main()
//主函式
3、畫出函式之間的呼叫關係圖;
3、測試結果
列出你的測試結果,包括輸入和輸出。注意測試資料應該完整和嚴格,至少給出2組測試結果(含合法資料與非法資料)。
第一組:合法輸入,輸入十進位制45,將45轉換為16進製制數
四、附錄
列出源程式的檔名清單。並將帶注釋的源程式及可執行檔案,形成壓縮檔案。
資料結構實驗報告
實驗報告 實驗課程 資料結構 實驗專案實驗 專業 電腦科學與技術 姓名於凡 學號 10703070328 指導教師汪林林 實驗時間 2008 12 7 重慶工學院計算機學院 實驗一線性表 1.實驗要求 掌握資料結構中線性表的基本概念。熟練掌握線性表的基本操作 建立 插入 刪除 查詢 輸出 求長度及合...
資料結構實驗報告
實驗一線性表的基本操作 1 實驗目的2 2 實驗環境2 3 實驗內容,主要 除錯與執行 2 4 總結14 實驗二棧的基本操作 1 實驗目的15 2 實驗環境15 3 實驗內容,主要 除錯與執行 15 4 總結18 實驗三赫夫曼樹 1 實驗目的18 2 實驗環境18 3 實驗內容,主要 除錯與執行 1...
資料結構實驗報告
實驗題目 計算機與通訊工程學院 2014 實驗一線性表的應用 實驗目的 1 掌握線性表的邏輯結構定義 2 掌握線性表的兩種儲存結構 順序和鏈式 3 掌握順序表和煉表的定義及基本操作 實驗內容 通過程式設計完成具有一定實際意義的課題,加深對線性表應用的理解和掌握。參考題目如下所示。學生可在完成以下題目...