(完整版)C語(yǔ)言畢業(yè)課程設(shè)計(jì)及任務(wù)書(shū)-學(xué)生信息管理系統(tǒng).doc_第1頁(yè)
(完整版)C語(yǔ)言畢業(yè)課程設(shè)計(jì)及任務(wù)書(shū)-學(xué)生信息管理系統(tǒng).doc_第2頁(yè)
(完整版)C語(yǔ)言畢業(yè)課程設(shè)計(jì)及任務(wù)書(shū)-學(xué)生信息管理系統(tǒng).doc_第3頁(yè)
(完整版)C語(yǔ)言畢業(yè)課程設(shè)計(jì)及任務(wù)書(shū)-學(xué)生信息管理系統(tǒng).doc_第4頁(yè)
(完整版)C語(yǔ)言畢業(yè)課程設(shè)計(jì)及任務(wù)書(shū)-學(xué)生信息管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、內(nèi)蒙古科技大學(xué)本科生課程設(shè)計(jì)說(shuō)明書(shū)題目: C 語(yǔ)言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)學(xué)生姓名:王佳星學(xué)號(hào):專(zhuān)業(yè): 2011- 計(jì)算機(jī)班級(jí):3 班指導(dǎo)教師:余金林內(nèi)蒙古科技大學(xué)課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng)C 語(yǔ)言課程設(shè)計(jì)設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)指導(dǎo)教師余金林時(shí)間一、教學(xué)要求1. 鞏固和加深學(xué)生對(duì) C 語(yǔ)言課程的基本知識(shí)的理解和掌握2. 掌握 C 語(yǔ)言編程和程序調(diào)試的基本技能3. 利用 C 語(yǔ)言進(jìn)行基本的軟件設(shè)計(jì)4. 掌握書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔的能力5. 提高運(yùn)用 C 語(yǔ)言解決實(shí)際問(wèn)題的能力二、設(shè)計(jì)資料及參數(shù)每個(gè)學(xué)生在教師提供的課程設(shè)計(jì)題目中任意選擇一題,獨(dú)立完成,題目選定后不可更換。某班學(xué)生基本信息管理,包括以下

2、功能:從鍵盤(pán)輸入包括學(xué)號(hào)、姓名、性別、出生年月日、籍貫、所在院系、專(zhuān)業(yè)、獎(jiǎng)懲信息等,并將其保存在磁盤(pán)文件里具有進(jìn)行單項(xiàng)查詢(xún)或多項(xiàng)查詢(xún)的功能(即按照給定的關(guān)鍵字姓名等找出滿(mǎn)足條件的紀(jì)錄)具有插入、修改和刪除信息的功能具有輸出文件數(shù)據(jù)信息的功能三、設(shè)計(jì)要求及成果1.分析課程設(shè)計(jì)題目的功能需求(可選用數(shù)組或鏈表實(shí)現(xiàn),可多人(最多3 人)協(xié)作完成一個(gè)題目)2. 寫(xiě)出詳細(xì)設(shè)計(jì)說(shuō)明(至少包括功能實(shí)現(xiàn)分析和模塊流程圖)3. 編寫(xiě)程序代碼,調(diào)試程序使其能正確運(yùn)行(代碼書(shū)寫(xiě)要規(guī)范,標(biāo)示符要見(jiàn)名知意,要有必要的注釋?zhuān)咳酥辽?3 個(gè)函數(shù),每人至少 200 行代碼,不包括注釋和花括號(hào))4. 設(shè)計(jì)完成的軟件要便于操作

3、和使用5. 設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告(請(qǐng)嚴(yán)格按照模板進(jìn)行排版)四、進(jìn)度安排第一天選擇課程設(shè)計(jì)題目,分析課題的要求第二天編程第三天編程及調(diào)試第四天寫(xiě)課程設(shè)計(jì)報(bào)告第五天提交課程設(shè)計(jì)報(bào)告(打印稿及電子稿)五、評(píng)分標(biāo)準(zhǔn)1. 根據(jù)平時(shí)上機(jī)考勤、表現(xiàn)和進(jìn)度,教師將每天點(diǎn)名和檢查2. 根據(jù)課程設(shè)計(jì)完成情況,必須有可運(yùn)行的軟件。3. 根據(jù)課程設(shè)計(jì)報(bào)告的質(zhì)量,如有雷同,則所有雷同的所有人均判為不及格。六、建議參考資料1C 語(yǔ)言程序設(shè)計(jì) ,譚浩強(qiáng),清華大學(xué)出版社2C 語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì),劉振安,機(jī)械工業(yè)出版社目錄內(nèi)蒙古科技大學(xué)課程設(shè)計(jì)任務(wù)書(shū) I第一章需求分析 31.1引言 31.2任務(wù)概述 31.3數(shù)據(jù)描述

4、31.4功能需求 31.5性能需求 3第二章概要設(shè)計(jì) 42.1總體設(shè)計(jì) 42.2數(shù)據(jù)類(lèi)型設(shè)計(jì)(或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)) 62.3接口設(shè)計(jì) 函數(shù)聲明 62.4運(yùn)行界面設(shè)計(jì) 6第三章詳細(xì)設(shè)計(jì) 83.1輸入模塊設(shè)計(jì) 83.2輸出模塊設(shè)計(jì) 83.3查找模塊設(shè)計(jì) 93.4保存及讀取模塊設(shè)計(jì) 10第四章測(cè)試分析 114.1測(cè)試程序執(zhí)行情況 11第五章課程設(shè)計(jì)總結(jié) 14附錄:程序代碼 15參考文獻(xiàn) 26致謝 26第一章需求分析1.1引言學(xué)生基本信息管理系統(tǒng)1.2任務(wù)概述1.建立學(xué)生信息,信息至少包含學(xué)生姓名,學(xué)號(hào),性別,年齡,出生日期,家庭地址,e-mail ,電話(huà)地址等;2.能夠提供新建、瀏覽、查找、修改和刪除通

5、訊錄信息的功能;3.能夠提供安不同方式查詢(xún)的功能;如按姓名或電話(huà)等查詢(xún);1.3數(shù)據(jù)描述struct studentchar NO20;char name20;intage;char sex3;*F 表示性別男,M 表示性別女 *char birthday10;char address30;char phone20;char e_mail20;struct student *next;下個(gè)結(jié)點(diǎn);1.4功能需求1、輸入功能:一次可以完成自定義學(xué)生人數(shù)的學(xué)生信息記錄的輸入。2、刪除功能:對(duì)指定學(xué)生的信息進(jìn)行刪除。3、修改功能:對(duì)指定學(xué)生的信息進(jìn)行修改。4、查詢(xún)功能:選擇某種方式并輸入該信息查詢(xún)符合條

6、件的學(xué)生信息。5 排序功能:以英語(yǔ)課程的分?jǐn)?shù)為依據(jù)對(duì)學(xué)生信息進(jìn)行排序。6 顯示功能:將以上功能操作后的學(xué)生信息顯示出來(lái)。7 退出主菜單。1.5性能需求1、輸入功能:一次可以完成自定義學(xué)生人數(shù)的學(xué)生信息記錄的輸入。2、刪除功能:對(duì)指定學(xué)生的信息進(jìn)行刪除。3、修改功能:對(duì)指定學(xué)生的信息進(jìn)行修改。4、查詢(xún)功能:選擇某種方式并輸入該信息查詢(xún)符合條件的學(xué)生信息。5 排序功能:以英語(yǔ)課程的分?jǐn)?shù)為依據(jù)對(duì)學(xué)生信息進(jìn)行排序。6 顯示功能:將以上功能操作后的學(xué)生信息顯示出來(lái)。7 退出主菜單。第二章概要設(shè)計(jì)2.1總體設(shè)計(jì)總體結(jié)構(gòu)我們采取模塊化方式進(jìn)行程序設(shè)計(jì),要求程序的功能設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及整體結(jié)構(gòu)設(shè)計(jì)合理。也可

7、根據(jù)自己對(duì)題目的理解增加新的功能模塊。系統(tǒng)以菜單界面方式(至少采用文本菜單界面,如能采用圖形菜單界面更好)工作,運(yùn)行界面友好,演示程序以用戶(hù)和計(jì)算機(jī)的對(duì)話(huà)方式進(jìn)行2.2數(shù)據(jù)類(lèi)型設(shè)計(jì)(或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))struct studentchar NO20;char name20;intage;char sex3;*F 表示性別男,M 表示性別女 *char birthday10;char address30;char phone20;char e_mail20;struct student *next;下個(gè)結(jié)點(diǎn);2.3接口設(shè)計(jì)函數(shù)聲明表 2.1:函數(shù)列表函數(shù)名voidshow_menu();void m

8、enu();voidcreat_stu();voidinsert_stu();voidprint_stu();voidsearch_NO();voidsearch_name();voidarrage_stu();void del_stu();voidrevise_stu();void save();函數(shù)格式即函數(shù)首部voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoid函數(shù)功能顯示菜單執(zhí)行菜單建立鏈表學(xué)生信息錄入學(xué)生信息瀏覽以學(xué)號(hào)方式查詢(xún)信息以姓名方式查詢(xún)信息排序刪除學(xué)生信息修改學(xué)生信息保存信息2.4運(yùn)行界面設(shè)計(jì)主菜單模塊采用 switch()函數(shù)從鍵盤(pán)選擇相

9、應(yīng)菜單的對(duì)應(yīng)功能。switch(c)getchar();case 1:insert_stu();break;學(xué)生信息錄入case 2:print_stu();break;學(xué)生信息瀏覽case 3:search_NO(); break;以學(xué)號(hào)方式查詢(xún)信息case 4:search_name(); break;以姓名方式查詢(xún)信息case 5:del_stu(); break;刪除學(xué)生信息case 6:revise_stu(); break;修改學(xué)生信息case 7:arrage_stu();break;保存信息case 0:exit(0);退出第三章詳細(xì)設(shè)計(jì)3.1輸入模塊設(shè)計(jì)數(shù)據(jù)插入模塊采用 sc

10、anf( )函數(shù)輸入新聯(lián)系人信息插入至結(jié)構(gòu)數(shù)組中。PF(tt輸入學(xué)生學(xué)號(hào):t);scanf(%s,p1-NO);學(xué)號(hào)PF(tt輸入學(xué)生姓名:t);scanf(%s,p1-name);姓名PF(tt輸入學(xué)生年齡:t);scanf(%d,&p1-age);年齡PF(tt輸入學(xué)生性別:t);scanf(%s,p1-sex);性別PF(tt輸入學(xué)生出生年月:t);scanf(%s,p1-birthday);出生年月PF(tt輸入學(xué)生地址:t);scanf(%s,p1-address);地址PF(tt輸入學(xué)生電話(huà):t);scanf(%s,p1-phone);電話(huà)PF(tt輸入學(xué)生E-mail:t);sc

11、anf(%s,p1-e_mail);E-mailn+;3.2輸出模塊設(shè)計(jì)數(shù)據(jù)瀏覽模塊采用分屏顯示,每屏3 條記錄。用fread 或 fscanf 讀文件,輸出結(jié)果。for(p=);PF(tt學(xué)生學(xué)號(hào) :t%sn,p-NO);PF(tt學(xué)生姓名 :t%sn,p-name);PF(tt學(xué)生年齡 :t%dn,p-age);PF(tt學(xué)生性別 :t%sn,p-sex);PF(tt學(xué)生出生年月:t%sn,p-birthday);PF(tt學(xué)生地址 :t%sn,p-address);PF(tt學(xué)生電話(huà) :t%sn,p-phone);PF(tt學(xué)生 E-mail:t%sn,p-e_mail);PF(n);輸

12、出信息3.3查找模塊設(shè)計(jì)1) 按姓名查找模塊通過(guò)鍵盤(pán)輸入要查找的學(xué)生姓名,然后與結(jié)構(gòu)數(shù)組中的姓名信息逐一比對(duì),找出學(xué)生信息并輸出void search_name()學(xué)生姓名信息查找STU *p=NULL;char name20;if();return;PF( 輸入學(xué)生姓名:);scanf(%s,name);for(p=);return;PF( 請(qǐng)輸入學(xué)生學(xué)號(hào):);scanf(%s,NO);for(p=);STU *p=NULL;FILE *fp;char *filename=fname.txt;if(fp=fopen(fname.txt,w)=NULL)出錯(cuò)檢測(cè)printf(n打不開(kāi)文件!n)

13、;return;if();return;elsep=,p-NO,p-name,p-age,p-sex,p-birthday,p-address,p-phone,p-e_mail);存入文件p=p-next;printf( 保存完畢 fclose(fp);!n);第四章測(cè)試分析4.1測(cè)試程序執(zhí)行情況主菜單輸入學(xué)生信息學(xué)生信息瀏覽按學(xué)號(hào)查找學(xué)生信息按姓名查找學(xué)生信息修改學(xué)生信息第五章課程設(shè)計(jì)總結(jié)在我上機(jī)調(diào)試程序的過(guò)程中,我遇到了很多的問(wèn)題,說(shuō)實(shí)話(huà)這次課程設(shè)計(jì)自己沒(méi)有出多大的力,大部分都是借鑒同學(xué)的設(shè)計(jì)成果,自己設(shè)計(jì)是總是覺(jué)得沒(méi)有頭緒,無(wú)從下手。看到同學(xué)認(rèn)真看程序的樣子,還有修改程序時(shí)的熟練,我很羨

14、慕他,我想,我也要將C+學(xué)好,在將來(lái)能為我的就業(yè)加分。在這期末考試前期,學(xué)院給我們安排的課程設(shè)計(jì)周,總讓我們覺(jué)的有些為難我們,這樣一個(gè)復(fù)雜困難而又繁瑣的作業(yè),似乎弄得我們既沒(méi)有時(shí)間也沒(méi)有心情復(fù)習(xí),我曾一度地抱怨過(guò)學(xué)院,在完成它之后,我發(fā)現(xiàn)我錯(cuò)了,課程設(shè)計(jì)不僅讓我們鞏固了所學(xué)的知識(shí),還使得我們學(xué)習(xí)到了更多平時(shí)所忽略的,最重要的是,它磨礪了我們,讓我們?cè)诖髮W(xué)的下一個(gè)階段能更好的成長(zhǎng)。附錄:程序代碼#include NO,p1-name,&p1-age,p1-sex,p1-birthday,p1-address,p1-phone,p1-e_mail);p1-next=NULL;創(chuàng)建節(jié)點(diǎn)完if(+;p

15、2-next=NULL;fclose(fp);執(zhí)行菜單void menu()int c;show_menu();while(1)scanf(%d,&c);switch(c)getchar();case 1:insert_stu();break;case 2:print_stu();break;case 3:search_NO(); break;case 4:search_name(); break;case 5:del_stu(); break;case 6:revise_stu(); break;case 7:arrage_stu();break;case 0:exit(0);執(zhí)行菜單選項(xiàng)s

16、how_menu();顯示菜單void show_menu()PF(n);PF(n 菜單 n);PF(tt 1.輸 入 學(xué) 生 信 息 n);PF(tt 2.瀏 覽 學(xué) 生 信 息 n);PF(tt 3.以學(xué)號(hào)方式查詢(xún)信息n);PF(tt 4.以姓名方式查詢(xún)信息n);PF(tt 5.刪 除學(xué) 生 信 息 n);PF(tt 6.修 改學(xué) 生 信 息 n);PF(tt 7排序 n);PF(tt 0.退出 n);PF( n);PF(n 請(qǐng)選擇 n);學(xué)生信息錄入void insert_stu()學(xué)生信息錄入n=0;STU *p1=NULL,*p2=NULL;p1=(STU *)malloc(size

17、of(STU);PF(n 錄入學(xué)生信息n);錄入學(xué)生信息PF(tt輸入學(xué)生學(xué)號(hào):t);scanf(%s,p1-NO);學(xué)號(hào)PF(tt輸入學(xué)生姓名:t);scanf(%s,p1-name);姓名PF(tt輸入學(xué)生年齡:t);scanf(%d,&p1-age);年齡PF(tt輸入學(xué)生性別:t);scanf(%s,p1-sex);性別PF(tt輸入學(xué)生出生年月:t);scanf(%s,p1-birthday);出生年月PF(tt輸入學(xué)生地址:t);scanf(%s,p1-address);地址PF(tt輸入學(xué)生電話(huà):t);scanf(%s,p1-phone);電話(huà)PF(tt輸入學(xué)生E-mail:t)

18、;scanf(%s,p1-e_mail);E-mailn+;if();return;for(p=);PF(tt學(xué)生學(xué)號(hào) :t%sn,p-NO);PF(tt學(xué)生姓名 :t%sn,p-name);PF(tt學(xué)生年齡 :t%dn,p-age);PF(tt學(xué)生性別 :t%sn,p-sex);PF(tt學(xué)生出生年月:t%sn,p-birthday);PF(tt學(xué)生地址 :t%sn,p-address);PF(tt學(xué)生電話(huà) :t%sn,p-phone);PF(tt學(xué)生 E-mail:t%sn,p-e_mail);PF(n);輸出信息學(xué)生姓名信息查找void search_name()學(xué)生姓名信息查找STU

19、 *p=NULL;char name20;if();return;PF(輸入學(xué)生姓名:);scanf(%s,name);for(p=);PF(tt學(xué)生學(xué)號(hào) :t%sn,p-NO);PF(tt學(xué)生姓名 :t%sn,p-name);PF(tt學(xué)生年齡 :t%dn,p-age);PF(tt學(xué)生性別 :t%sn,p-sex);PF(tt學(xué)生出生年月:t%sn,p-birthday);PF(tt學(xué)生地址 :t%sn,p-address);PF(tt學(xué)生電話(huà) :t%sn,p-phone);PF(tt學(xué)生 E-mail:t%sn,p-e_mail);PF(n);i=1;輸出信息if(!i)PF( 無(wú)該生信息

20、!請(qǐng)查證:); 沒(méi)找到信息時(shí)的處理學(xué)生學(xué)號(hào)信息查找void search_NO()學(xué)生學(xué)號(hào)信息查找STU *p=NULL;char NO20;if();return;PF( 請(qǐng)輸入學(xué)生學(xué)號(hào)scanf(%s,NO);for(p=);:);PF(tt學(xué)生學(xué)號(hào) :t%sn,p-NO);PF(tt學(xué)生姓名 :t%sn,p-name);PF(tt學(xué)生年齡 :t%dn,p-age);PF(tt學(xué)生性別 :t%sn,p-sex);PF(tt學(xué)生出生年月:t%sn,p-birthday);PF(tt學(xué)生地址 :t%sn,p-address);PF(tt學(xué)生電話(huà) :t%sn,p-phone);PF(tt學(xué)生 E

21、-mail:t%sn,p-e_mail);PF(n);i=1;輸出信息if(!i)PF( 無(wú)該生信息!請(qǐng)查證:); 沒(méi)找到信息時(shí)的處理修改學(xué)生信息void revise_stu()STU *p=NULL;if();return;char NO20;PF( 請(qǐng)輸入學(xué)生的學(xué)號(hào):t);scanf(%s,NO);for(p=);PF(tt學(xué)生學(xué)號(hào) :t%sn,p-NO);PF(tt學(xué)生姓名 :t%sn,p-name);PF(tt學(xué)生年齡 :t%dn,p-age);PF(tt學(xué)生性別 :t%sn,p-sex);PF(tt學(xué)生出生年月:t%sn,p-birthday);PF(tt學(xué)生地址 :t%sn,p-

22、address);PF(tt學(xué)生電話(huà) :t%sn,p-phone);PF(tt學(xué)生 E-mail:t%sn,p-e_mail);PF(n);輸出要修改信息i=1;PF( 修改學(xué)號(hào)為%s 的學(xué)生n,NO);strcpy(p-NO,NO);PF(tt輸入修改學(xué)生姓名:t);scanf(%s,p-name);PF(tt輸入修改學(xué)生年齡:t);scanf(%d,&p-age);PF(tt輸入修改學(xué)生性別:t);scanf(%s,p-sex);PF(tt輸入修改學(xué)生出生年月:t);scanf(%s,p-birthday);PF(tt輸入修改學(xué)生地址:t);scanf(%s,p-address);PF(t

23、t輸入修改學(xué)生電話(huà):t);scanf(%s,p-phone);PF(tt輸入修改學(xué)生E-mail:t);scanf(%s,p-e_mail);PF(n);輸入修改信息save();if(!i)PF( 無(wú)該生信息!請(qǐng)查證:);* 沒(méi)找到信息時(shí)的處理*刪除學(xué)生信息void del_stu()STU *p=NULL;if();return;elsechar NO20;PF( 請(qǐng)輸入學(xué)生的學(xué)號(hào):t);scanf(%s,NO);for(p=);PF(tt學(xué)生學(xué)號(hào) :t%sn,p-next-NO);PF(tt學(xué)生姓名 :t%sn,p-next-name);PF(tt學(xué)生年齡 :t%dn,p-next-age);PF(tt學(xué)生性別 :t

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論