最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【存檔】大一C語言實(shí)訓(xùn)

2023-02-28 12:58 作者:南方詩語  | 我要投稿

學(xué)生信息管理系統(tǒng)實(shí)訓(xùn)指導(dǎo)

一、程序功能


??在學(xué)校中,經(jīng)常會因?yàn)楦鞣N各樣的活動(dòng)用到學(xué)生的信息。本程序便是為了更方便的查詢和管理學(xué)生信息。其基本功能模塊如下圖:

主界面如下圖所示:

?


二、程序設(shè)計(jì)目的

1.重點(diǎn)掌握數(shù)組的應(yīng)用

2.重點(diǎn)掌握結(jié)構(gòu)體的應(yīng)用

3.重點(diǎn)掌握文件讀寫功能

4.重點(diǎn)掌握自定義函數(shù)等知識

?

三、設(shè)計(jì)思路

程序設(shè)計(jì)一般由兩部分組成:數(shù)據(jù)結(jié)構(gòu)+算法,合理地選擇和實(shí)現(xiàn)一個(gè)數(shù)據(jù)結(jié)構(gòu)和處理這些數(shù)據(jù)結(jié)構(gòu)具有同樣的重要性。

1.數(shù)據(jù)結(jié)構(gòu)

? 數(shù)組是程序中最常用的結(jié)構(gòu)數(shù)據(jù)類型,用來描述由固定數(shù)目的同一類型的元素組成的數(shù)據(jù)結(jié)構(gòu)。使用靜態(tài)數(shù)組需要預(yù)先估計(jì)空間的大小,所以先預(yù)定義一個(gè)常數(shù)N,表示學(xué)生人數(shù)上限(即最多錄入幾個(gè)學(xué)生的信息)。

#define N 2000

//定義學(xué)生信息結(jié)構(gòu)體

typedef struct student {

? int num;//學(xué)號

? char name[20];//姓名

? char sex[2];//性別

int age;//年齡

? char Class[20];//班級

? char home1[10];//家庭住址【省】

? char home2[10];//家庭住址【市】

? char phone[11];//電話號碼

? } St;

St S[N];//定義全局變量存放學(xué)生信息

int L = 0; //定義全局變量存放已錄入學(xué)生人數(shù)

?

1該數(shù)組最多可以保存2000個(gè)學(xué)生的信息,該2000個(gè)學(xué)生的信息存放到數(shù)組S中,錄入學(xué)生的總數(shù)存放到變量L中。

2 本程序需要information.txtnumber.txt兩個(gè)文件。information.txt文件保存學(xué)生的信息(即數(shù)組S中的數(shù)據(jù)保存到information.txt文件中),number.txt文件保存錄入學(xué)生的個(gè)數(shù)(即變量L中的數(shù)據(jù)保存到number.txt文件中)。

3)數(shù)組S和變量L為全局變量,可供所有的模塊使用,所以所設(shè)計(jì)的函數(shù)都不帶參數(shù)。?

?

2.函數(shù)設(shè)計(jì)

1Menu函數(shù)

函數(shù)原型:void Menu();

? 功能:顯示菜單。

?

2、IntputS函數(shù)

? 函數(shù)原型:void IntputS ();

? 功能:錄入學(xué)生信息。

3、ShowS函數(shù)

? 函數(shù)原型:void ShowS();

? 功能:顯示學(xué)生信息。

?

4SearchS函數(shù)

? 函數(shù)原型:void SearchS();

? 功能:查找某一學(xué)生信息。

?

5ScreenS函數(shù)

? 函數(shù)原型:void ScreenS();

? 功能:分類篩選學(xué)生信息。

?

6、SortS函數(shù)

? 函數(shù)原型:void SortS();

? 功能:按年齡排列學(xué)生信息。

?

7SearchS函數(shù)

? 函數(shù)原型:void SearchS();

? 功能:查找某一學(xué)生信息。

8、AddS函數(shù)

? 函數(shù)原型:void AddS();

? 功能:增加某一學(xué)生信息。

9、DeleteS函數(shù)

? 函數(shù)原型:void DeleteS();

? 功能:刪除某一學(xué)生信息。

?

10、ChangeS函數(shù)

? 函數(shù)原型:void ChangeS();

? 功能:修改某一學(xué)生信息。

?

11FileToMemoryL函數(shù)

? 函數(shù)原型:void FileToMemoryL();

? 功能:將文件L里的信息寫入到內(nèi)存中。

?

12、FileToMemoryS函數(shù)

? 函數(shù)原型:void FileToMemoryS();

? 功能:將文件S里的信息寫入到內(nèi)存中。

?

13、MemoryToFileL函數(shù)

? 函數(shù)原型:void MemoryToFileL();

? 功能:將L里的信息寫入到文件中。

14、MemoryToFileS函數(shù)

? 函數(shù)原型:void MemoryToFileS();

? 功能:將S里的信息寫入到文件中。

? 3、流程圖


? (1)主函數(shù)流程圖:

(2)函數(shù)詳細(xì)說明:

?? 1、Menu函數(shù):輸出菜單,無其他操作。

?? 2、FileToMemoryL函數(shù):將 d:\\information.txt 文件錄入到數(shù)組S中。

?? 3、FileToMemoryS函數(shù):將 d:\\number.txt 文件錄入到變量L中。

?? 4、IntputS函數(shù):用戶輸入一個(gè)值,(假設(shè)這個(gè)值是5,意思就是用戶要錄入5個(gè)學(xué)生的信息),然后引導(dǎo)用戶去依次輸入學(xué)生的信息,將用戶輸入的信息錄入到數(shù)組S中。需要注意的是,不一定是從S[0]開始錄入,應(yīng)當(dāng)是S[L],并且L的值應(yīng)當(dāng)隨著人數(shù)的增加而增加。

?? 5、ShowS函數(shù):輸出數(shù)組S中的信息即可。需要注意的是,一直輸出到S[L-1],而不是將S全部輸出。

?? 6、SearchS函數(shù):讓用戶選擇性輸入姓名或者學(xué)號,然后利用strcmp函數(shù)和for語句遍歷數(shù)組S并進(jìn)行對比找出這名學(xué)生,并輸出其信息,如果不存在此學(xué)生,那么輸出“不存在此學(xué)生”。

7、ScreenS函數(shù):根據(jù)提示,引導(dǎo)用戶去選擇按照“省”、“市”、“性別”、“年齡”進(jìn)行篩選分類。當(dāng)用戶選擇后,使用strcmp函數(shù)和for語句遍歷數(shù)組S去尋找對應(yīng)的信息,并且輸出。

?

8、SortS函數(shù):讓用戶選擇是降序還是升序,然后使用冒泡排序進(jìn)行排序并且輸出。

?? 9、AddS函數(shù): 相當(dāng)于IntputS函數(shù)的簡化版,直接提示用戶依次輸入需要增加的學(xué)生的信息,然后將用戶輸入的信息錄入到S[L]中。并且在錄入完畢后應(yīng)在函數(shù)末尾加上一條語句:L++;。

10、DeleteS函數(shù):讓用戶選擇性輸入姓名或者學(xué)號,然后通過strcmp函數(shù)和for語句遍歷數(shù)組S去尋找這名學(xué)生,如果學(xué)生存在,那么將此學(xué)生信息刪除,如果不存在,那么輸出“不存在此學(xué)生”。函數(shù)的末尾加上一條語句:L--;。(具體刪除方法可能不止一種,我的建議是將此學(xué)生的數(shù)據(jù)與后一名學(xué)生的數(shù)據(jù)進(jìn)行更換,重復(fù)操作,直到此學(xué)生的數(shù)據(jù)進(jìn)入S[L-1])

11、ChangeS函數(shù):讓用戶選擇性輸入姓名或者學(xué)號,然后通過strcmp函數(shù)和for語句遍歷數(shù)組S去尋找這名學(xué)生,如果學(xué)生存在,那么引導(dǎo)用戶去進(jìn)行信息的修改,如果學(xué)生不存在,輸出“不存在此學(xué)生”。

12、MemoryToFileL函數(shù):將L中的數(shù)據(jù)寫入到 d:\\number.txt 文件中。

13、MemoryToFileS函數(shù):將數(shù)組S中的數(shù)據(jù)寫入到d:\\information.txt文件中。

????


【存檔】大一C語言實(shí)訓(xùn)的評論 (共 條)

分享到微博請遵守國家法律
九龙县| 藁城市| 凌源市| 定陶县| 文成县| 潼南县| 深圳市| 宜阳县| 临安市| 惠州市| 新闻| 清丰县| 台前县| 石阡县| 瓦房店市| 贵南县| 疏勒县| 夏津县| 藁城市| 托里县| 休宁县| 建瓯市| 平罗县| 光山县| 牟定县| 满洲里市| 卫辉市| 琼中| 普安县| 潜山县| 怀来县| 白玉县| 南投市| 光泽县| 突泉县| 河间市| 鱼台县| 屏南县| 马鞍山市| 祁连县| 常宁市|