C語言程式設計-漢字點陣

wyfem發表於2021-09-09

課程設計題目及要求:漢字點陣

編寫程式,根據使用者的中文輸入,在螢幕上輸出相應的漢字點陣(使用者一次輸入一個漢字),如圖 17.1 所示。要求程式能以正常、斜體、加寬、加高四種不同的方式顯示漢字點陣,並能設定漢字點陣的字元圖案。

第一部分:引言

進行課程設計:

1.重點掌握選擇結構程式設計,迴圈結構設計。

2.進一步掌握自定義函式及其呼叫。

3.掌握簡單的檔案操作。

4.養成良好的程式設計習慣。

5.進一步學習C語言的標準庫和函式的使用方法。

6.學習較長程式的程式設計。

實踐依據:

1.點陣漢字原理使得計算機可以顯示超過6000個的漢字,且程式簡單,速度快執行良好,為計算機的使用者提供了許多便利。

2.可以在LED點陣螢幕上應用。

創新點:可以列印出字摸資訊,更換列印出的漢字的背景。

實踐意義:

透過計算機列印出點陣漢字,可以在LED螢幕上顯示,為傳播資訊提供了極大地便利。

本次課程設計是在理論學習和基礎實驗的基礎上,學習開發規模較大的程式,運用已掌握應用選擇結構來解決實際問題。本次任務是設計一個能夠實現以正常、斜體、加寬、加高四種不同的方式顯示漢字點陣,並能設定漢字點陣的字元圖案的程式。透過本次課程設計不僅可以加深對所學知識的理解,學到課內知識的擴充套件,也提高了把知識應用到實踐中的能力。

第二部分:系統功能和原始資料

(1)原始資料:

輸入一個漢字:語

輸出:

圖片描述

圖片描述

圖片描述

圖片描述

(2)系統功能:編寫程式,根據使用者的中文輸入,在螢幕上輸出相應的漢字點陣(使用者一次輸入一個漢字)。程式能以正常、斜體、加寬、加高四種不同的方式顯示漢字點陣,並能顯示漢字點陣的字模資訊,字元圖案和背景圖案。

第三部分:程式總體設計

(1)資料結構:無

(2)模組劃分和層次結構:

模組劃分:

模組分為主函式和子函式兩塊,在主函式中輸入,呼叫所需的子函式行使不同的功能。

層次結構:

使用者未下達退出命令前一直for迴圈,其中巢狀switch case語句。

(3)函式原型清單:

圖片描述

(4)程式總體框架

圖4程式整體框圖

圖片描述

(5)程式組織:

stdio.h: 標準輸入輸出。

stdlib.h:包含數值和文字之間的轉換,記憶體分配,隨機數和其它實用函式的函式原型。

conio.h:其中定義了透過控制檯進行資料輸入和資料輸出的函式,主要是一些使用者透過按鍵盤產生的對應操作,比如getch()函式等等

string.h:c語言裡面關於字元陣列的函式定義的標頭檔案,常用函式有strlen、strcmp,strcpy等等

windows.h:它包含了其他Windows標頭檔案,這些標頭檔案的某些也包含了其他標頭檔案。

第四部分:功能模組函式設計和除錯

(一)功能分析:

將選項巢狀在一個無限迴圈中,除非使用者選擇停止,否者一直迴圈讓使用者選擇所需的功能。

(二)演算法描述:

定義主函式,列印出選項,每個選項呼叫相應的函式,用公式n=((區碼-1)*94L+(位碼-1))*32L算出漢字的區位碼,改變打出字元的多少來實現漢字點陣的斜體,放大和縮小。

(三)程式流程圖:

圖片描述

第五部分:程式清單

原始碼:

圖片描述

第六部分:課程設計總結

對所選題目對應程式的執行情況做詳細分析,總結本次設計所取得的經驗和收穫。如果程式未能全部除錯透過,則應分析其原因。

執行情況:能正確執行各個選項的功能。

經驗收穫:得到了許多課內知識的靈活應用和擴充,學到了計算漢字區位碼的公式,並將其表達出來,隨意填充字元和背景字元,還有游標的移動方法,選擇程式結構設計,能正確呼叫函式,能正確使用陣列等,能將各個選項的應用成功表達出來。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2894/viewspace-2797118/,如需轉載,請註明出處,否則將追究法律責任。

相關文章