c语言英语词典设计案例,C语言课程设计英语词典排系统.doc
C語言課程設計
院系:
姓名:
學號:
班號:
指導教師:
日期:2010年9月
第一部分
1.設計題目:
一種簡單份的英文詞典排版系統
2實踐目的通過進行計算機實踐,更加系統地理解和掌握C語言的基本概念、語言特點和編程技巧。利用系統提供的標準函數和自定義函數進行程序設計,培養利用C語言設計綜合程序的能力。
2詳細設計
按照上面的整體思路,分別設計各個模塊。
單詞錄入模塊要完成輸入單詞,檢查是否重復,排序操作。是設計程序的核心部分,對于檢查是否重復,以及排序兩個主要方面,我在設計中采用了兩個結構體。
文件存儲模塊把存放單詞的詞組中的數據寫入文件,這個模塊還需具有天將新單詞的功能。
單詞瀏覽模塊完成英文詞典的輸出,即文件的輸出操作。將文件儲存模塊的內容輸出。
[流程圖]
No yes
no
主函數一般設計的簡潔,只提供輸入,輸出,功能處理和輸出部分的函數使用。其中各功能模塊選擇菜單方式。
以下是主要的設計程序:
[程序]
#define N 1000
char dic[N][20];
void main()
{
Cheak();
sort();
Work();
}
} 該程序以菜單的形式簡要反映了主要的設計思路。包含了幾個主要模塊的核心部分。
3各功能模塊設計
單詞錄入
單詞可是字符型,輸入時可采用字符型數組;
這是一個重要的模塊,包含設計的幾個重要部分, 這個模塊包含著幾個功能,輸入單詞,檢查單詞,刪除重復的單詞,并且對單詞進行排序,比較復雜。
流程圖如下:
由于需要檢查是否有多于的單詞,而且還要對單詞進行排序,所以這個模塊需要采用結構體。
(1)
對單詞進行排序
判斷條件
以下的是程序:
void Write( int r )
{
int i;
p = fopen( "Data.txt", "w" );
for( i = 0; i < r; i++ )
{
fprintf( p, "%s\n", dic[i] );
}
fclose(p);
nt sort( )
{
int i, j, flag = 1, r;
char s[20];
r = Read();
for( i = 1; i < r && flag == 1; i++ )
{
flag = 0;
for( j = 0; j < r-i; j++ )
{
if( strcmp( dic[j], dic[j+1] ) > 0 )
{
flag = 1;
strcpy( s, dic[j] );
strcpy( dic[j], dic[j+1] );
strcpy( dic[j+1], s );
}
}
}
Write( r );
return 0;
}
} 這個結構體采用了strcmp函數,對單詞進行比較,從而完成排序。
(2)
檢查刪除重復的單詞
這個模塊的流程圖如下:
條件
以下是這個結構體的設計程序:
clear();
for( i = 0; i < r; i++ )
{
if( strcmp( d, dic[i] ) == 0 )
{
printf( "the word %s has already existed\n",d );
flag = 1;
break;
}
}
if( flag == 0 )
{
printf( "the wor
總結
以上是生活随笔為你收集整理的c语言英语词典设计案例,C语言课程设计英语词典排系统.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启动计算机的程序方法单击,启动Windo
- 下一篇: 【物流智能分拣系统】物流智能自动分拣系统