C程序設(shè)計(jì)-第7章處理復(fù)雜數(shù)據(jù).ppt_第1頁(yè)
C程序設(shè)計(jì)-第7章處理復(fù)雜數(shù)據(jù).ppt_第2頁(yè)
C程序設(shè)計(jì)-第7章處理復(fù)雜數(shù)據(jù).ppt_第3頁(yè)
C程序設(shè)計(jì)-第7章處理復(fù)雜數(shù)據(jù).ppt_第4頁(yè)
C程序設(shè)計(jì)-第7章處理復(fù)雜數(shù)據(jù).ppt_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2020年8月10日星期一,第7章第1頁(yè)處理復(fù)雜數(shù)據(jù),案例:處理學(xué)生信息管理系統(tǒng)的完整信息,用結(jié)構(gòu)類型表示學(xué)生的完整信息,實(shí)施調(diào)試程序,總結(jié)學(xué)生的實(shí)踐和發(fā)展,2020年8月10日星期一,第2頁(yè)處理學(xué)生信息管理系統(tǒng)的完整信息,在這一章,我們將繼續(xù)完善學(xué)生信息管理系統(tǒng)的案例程序。在前一章中,具體包括:(1)輸入學(xué)生的完整信息,包括:姓名、學(xué)號(hào)、身份證號(hào)、年齡、出生日期和家庭住址;(2)按姓名查詢學(xué)生信息,列出學(xué)生的完整信息;(3)修改學(xué)生信息,包括:姓名、學(xué)號(hào)、身份證號(hào)、年齡、出生日期和家庭地址;(4)刪除指定的學(xué)生信息;(5)列表顯示所有學(xué)生的完整信息。2020年8月10日,星期一,第3頁(yè),用結(jié)

2、構(gòu)表示學(xué)生信息定義結(jié)構(gòu),為了表示復(fù)合數(shù)據(jù),必須先定義復(fù)合結(jié)構(gòu)類型,C語(yǔ)言提供了一個(gè)關(guān)鍵字結(jié)構(gòu)來(lái)定義復(fù)合結(jié)構(gòu)類型。復(fù)合結(jié)構(gòu)類型是C語(yǔ)言基本數(shù)據(jù)類型的擴(kuò)展。定義復(fù)合結(jié)構(gòu)類型后,可以為定義的復(fù)合結(jié)構(gòu)類型定義變量。2020年8月10日星期一,第4頁(yè),為了表示“學(xué)生”,可以定義一個(gè)結(jié)構(gòu)類型:結(jié)構(gòu)學(xué)生字符名稱40;/學(xué)生姓名char sno20/學(xué)生id char sid20/身份證號(hào)碼整數(shù);/年齡字符地址200;/家庭地址;2020年8月10日星期一,第5頁(yè),用結(jié)構(gòu)來(lái)表示學(xué)生信息-定義結(jié)構(gòu)。結(jié)構(gòu)類型定義的一般格式是:結(jié)構(gòu)結(jié)構(gòu)類型名稱成員類型成員名稱;成員類型成員名稱;2020年8月10日星期一,第6頁(yè),

3、注意不要錯(cuò)過(guò)“;”在結(jié)構(gòu)類型定義的“”之后?!俺蓡T類型”可以是C語(yǔ)言的基本數(shù)據(jù)類型或其他定義的結(jié)構(gòu)類型。這也表明結(jié)構(gòu)類型的定義可以嵌套。2020年8月10日星期一,第7頁(yè),用結(jié)構(gòu)來(lái)表示學(xué)生信息定義結(jié)構(gòu),為了更好地表示學(xué)生的基本信息,可以用出生日期來(lái)代替“年齡”。結(jié)構(gòu)日期為年;/年/月;/月/日;/天;星期一,2020年8月10日,第8頁(yè),結(jié)構(gòu)學(xué)生字符名稱40;/學(xué)生姓名char sno20/學(xué)生id char sid20/身份證號(hào)碼結(jié)構(gòu)出生日期;/出生日期char地址200;/家庭地址;星期一,2020年8月10日,第9頁(yè),代表學(xué)生信息-定義結(jié)構(gòu)類型變量。一旦定義了新的結(jié)構(gòu)類型,就可以定義該結(jié)

4、構(gòu)類型的變量。例如,為了表示學(xué)生的信息,可以根據(jù)定義的結(jié)構(gòu)類型學(xué)生定義一個(gè)變量:結(jié)構(gòu)學(xué)生學(xué)生;2020年8月10日星期一,第10頁(yè),變量stu被稱為結(jié)構(gòu)變量。定義結(jié)構(gòu)變量的一般形式如下:結(jié)構(gòu)結(jié)構(gòu)類型名稱變量1,變量2;2020年8月10日,星期一,第11頁(yè),代表學(xué)生信息-定義結(jié)構(gòu)類型變量,您可以使用typedef關(guān)鍵字重新定義學(xué)生結(jié)構(gòu)類型,如下所示:typedef結(jié)構(gòu)年;/年/月;/月/日;/日期;2020年8月10日,星期一,第12頁(yè),typedef結(jié)構(gòu)字符名稱40;/學(xué)生姓名char sno20/學(xué)生id char sid20/身份證號(hào)碼出生日期;/出生日期char地址200;/家庭地址學(xué)

5、生;定義后,可以直接用日期和學(xué)生表示結(jié)構(gòu)類型。2020年8月10日,星期一,第13頁(yè),代表學(xué)生信息-定義結(jié)構(gòu)類型變量,您可以在定義結(jié)構(gòu)類型的同時(shí)定義結(jié)構(gòu)變量:類型定義結(jié)構(gòu)年;/年/月;/月/日;/日期;星期一,2020年8月10日,第14頁(yè),結(jié)構(gòu)學(xué)生字符名稱40;/學(xué)生姓名char sno20/學(xué)生id char sid20/身份證號(hào)碼出生日期;/出生日期char地址200;/家庭地址stu(1)結(jié)構(gòu)類型可以定義有或沒(méi)有typedef,并且它們可以同時(shí)存在;(2)如果結(jié)構(gòu)變量與結(jié)構(gòu)類型同時(shí)定義,則不能使用typedef關(guān)鍵字。2020年8月10日星期一,第15頁(yè)指出學(xué)生可以獲得結(jié)構(gòu)變量成員的信

6、息。對(duì)結(jié)構(gòu)變量的訪問(wèn)被分解為對(duì)結(jié)構(gòu)變量的各種成員的訪問(wèn)。訪問(wèn)結(jié)構(gòu)變量成員的一般形式是:結(jié)構(gòu)變量名稱。會(huì)員姓名,2020年8月10日,星期一,第16頁(yè),復(fù)印件(學(xué)生姓名,張三);strcpy(stu.sno,2010060501);strcpy(stu.sid;學(xué)生出生年份=1990年;學(xué)生出生月份=10;學(xué)生出生日=12;2020年8月10日,星期一,第17頁(yè),抄送(學(xué)生地址:廣東省廣州市天河區(qū)天河北路123號(hào));打印(學(xué)生基本信息:姓名=%s,學(xué)號(hào)=%s,出生日期=%d-%d,家庭地址=% sn,學(xué)生姓名,學(xué)生編號(hào),學(xué)生樣本號(hào),學(xué)生出生年份,學(xué)生出生日

7、期。2020年8月10日星期一,第18頁(yè)代表學(xué)生信息-訪問(wèn)結(jié)構(gòu)變量成員。在定義結(jié)構(gòu)變量時(shí),還可以初始化結(jié)果變量。學(xué)生:張三,1990年10月至12月,廣東省廣州市天河區(qū)天河北路123號(hào),2010060501,4102031990101245;在2020年8月10日,星期一,第19頁(yè),要在定義結(jié)構(gòu)變量時(shí)初始化它,只需在結(jié)構(gòu)變量的后面添加一個(gè)賦值運(yùn)算符,并在定義結(jié)構(gòu)類型時(shí)按順序列出與成員對(duì)應(yīng)的值,用逗號(hào)分隔并用一對(duì)“.”括起來(lái)。在賦值運(yùn)算符之后,包含在“”中的值必須與結(jié)構(gòu)變量成員的數(shù)量和類型相同。2020年8月10日,星期一,第20頁(yè),指示學(xué)生信息-結(jié)構(gòu)類型為參數(shù),int顯示學(xué)生(學(xué)生學(xué)生)打印(

8、學(xué)生基本信息:姓名=%s,學(xué)生id=%s,出生日期=%d-%d,家庭地址=% sn,學(xué)生姓名,學(xué)生編號(hào),學(xué)生出生年份,學(xué)生出生日期)。返回0;2020年8月10日,星期一,第21頁(yè),學(xué)生:張三,20100605011990年10月12日,廣東省廣州市天河區(qū)天河北路123號(hào);顯示學(xué)生(stu);2020年8月10日星期一,第22頁(yè),案例實(shí)現(xiàn)程序重構(gòu),C源文件包括兩種類型:帶擴(kuò)展名的源文件。c和帶擴(kuò)展名的頭文件。它們被稱為工程源文件。其中,有一些C語(yǔ)句代碼,包括預(yù)處理指令、函數(shù)定義等。主要放在帶有擴(kuò)展名的源文件中。帶擴(kuò)展名的頭文件。h,也稱為include文

9、件,主要包含一些結(jié)構(gòu)類型定義、函數(shù)描述、常量定義等。在c語(yǔ)言中,許多頭文件都帶有。h擴(kuò)展包括在內(nèi)。2020年8月10日,星期一,第23頁(yè),案例實(shí)現(xiàn)程序重構(gòu),年內(nèi)添加學(xué)生頭文件類型定義結(jié)構(gòu);/年/月;/月/日;/日期;typedef結(jié)構(gòu)字符名稱40;/學(xué)生姓名char sno20/學(xué)生id char sid20/身份證號(hào)碼出生日期;/出生日期char地址200;/家庭地址學(xué)生;2020年8月10日星期一,第24頁(yè),案例實(shí)現(xiàn)程序重構(gòu),添加函數(shù). h頭文件/函數(shù)描述int insert();/*本功能新增學(xué)生信息*/int查詢();int update();int delete();int list

10、();int save();int load();2020年8月10日,星期一,第25頁(yè),重構(gòu)案例實(shí)現(xiàn)程序,要將每個(gè)函數(shù)放入函數(shù). c文件,以下#include預(yù)處理指令應(yīng)添加到函數(shù). c源文件開(kāi)頭的預(yù)處理指令部分:#include #include Student.h“添加必要的頭文件# include student . h # include student . h”具體文件代碼請(qǐng)參考教科書。2020年8月10日星期一,第26頁(yè),該案例實(shí)現(xiàn)了改進(jìn)程序功能的修改功能,int insert()if(current=50)printf(抱歉,因?yàn)閷W(xué)生人數(shù)已滿,不能添加新的學(xué)生信息);返回1;Printf(請(qǐng)輸入學(xué)生姓名):scanf(%s,stu current . name);Printf(請(qǐng)輸入學(xué)生id:);scanf(%s,stu current . SnO);2020年8月10日,星期一,第27頁(yè),打印(請(qǐng)輸入學(xué)號(hào):);scanf(%s,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論