課程設計報告
課程名稱 c語言程式設計
課題名稱學生資訊管理系統
專業電氣工程及其自動化
班級 1086班
小組成員周鐵 201013010632
指導教師
2023年 6 月 20 日
一、需求分析 1
①.總體功能設計 1
②.各模組功能設計 1
二、總體模組功能框圖 2
三、總流程圖及各模組流程圖 2
四、各模組主要功能的實現 5
.顯示模組 5
.追加模組 6
.查詢模組 6
.刪除模組 6
.修改模組 6
.排序模組 6
五、程式除錯 7
.顯示程式 7
.追加程式 8
.查詢程式 10
.刪除程式 13
.修改程式 14
.排序程式 17
五、總結與心得體會 19
六、附件 20
.源程式 20
.注釋 30
一、需求分析:
ⅰ.總體功能設計:
學生資訊管理系統存放了每個學生的學號、姓名、性別、年齡、出生年月日、位址、**號碼、e-mail資訊地資料庫。每個人的資訊定義在乙個結構體變數中。其結構如下:
系統通過顯示程式、追加程式、查詢程式、刪除程式、修改程式、排序程式來實現學生資訊管理系統的顯示功能、追加功能、查詢功能、刪除功能、修改功能、排序功能。各個功能的呼叫通過主函式中的switch語句來實現。
ⅱ.各模組功能:
ⅰ.顯示模組:
通過設計乙個模組,來實現學生資訊的顯示。以便於瀏覽學生的資訊。
ⅱ.追加模組:
通過設計乙個模組,當要加入新的學生的資訊的時候,來實現新學生資訊的加入。
.查詢模組:
通過設計乙個模組,這個模組可以按學生的學號、姓名來查詢學生所有的資訊,並顯示學生的所有資訊,以便查詢者閱讀。
.刪除模組:
通過設計乙個模組,當輸入乙個學生的學號或者姓名的時候,可以通過這個模組,將輸入學號或者姓名的學生的所有資訊從資料庫中刪除出去。以後,這個學生的資訊將不再會出現再資料庫中。
.修改模組:
通過設計乙個模組,當某個人的資訊發生變化的時候,可以通過修改模組來進行修改。修改模組時一具有多級子選單的摸塊。使用十分的方便、靈活。
.排序模組:
通過設計乙個模組,來實現資料庫的資訊按某項成員名的伸序或者降序排列。這個模組提供了按學號、姓名、年齡三種方式來實現排序,使瀏覽者一目了然。
二.總體模組框圖:
三、總流程圖及各模組流程圖
ⅰ.總流程圖:
ⅱ.各模組流程圖:
ⅰ.刪除程式:
ⅱ.查詢程式:
四、各模組主要功能的實現
.顯示模組
程式通過乙個printf函式把輸出資訊的表頭列印出來,再通過乙個for迴圈把每乙個學生的資訊輸出,再輸出的時候,通過定義數字、字元的長度大於本身的長度來實現輸出資訊的排版和隔開,使輸出的資訊排版美觀。
.追加模組
程式通過輸入乙個整型變數n的值來確定追加的個數,再通過乙個for迴圈來實現n個新資料的追加。每個結構體中間的成員之間用空格來隔開,各個結構體之間通過回車鍵來隔開。
.查詢模組
程式通過輸入乙個變數n來實現是按學號還是按姓名來查詢。當輸入完學號或者姓名的時候,再通過乙個for迴圈來實現此人資訊的查詢。當含有這個人的資訊的時候,把變數k賦值為1,並把此人再記憶體的順序號賦給i。
如果不含這個人的資訊的時候,變數k的值仍為0。再通過乙個if 語句,如果k的值為1,則列印第j個人的所有資訊,如果k的值為0,則列印「error!」。
.刪除模組
程式通過定義乙個變數n,來確定輸入的到底是學號還是姓名。通過乙個for迴圈來確定資料庫到底是否含有此人的資訊。如果含有此人的資訊,則通過乙個for迴圈,把這個以後的資訊依次前推來覆蓋這個人的資訊,而實現此人資訊的刪除。
如果不含此人的資訊,則列印「error!」。
.修改模組
程式定義乙個變數n,來確定到底輸入的是學號還是姓名。通過乙個for迴圈來確定資料庫到底是否含有此人的資訊。如果含有此人的資訊,則把此人的資訊列印再螢幕上。
再顯示二級選單,是修改這個人的學號、姓名、性別、年齡、出生年月、位址、**號碼還是e-mail。通過乙個switch語句來實現某個資訊地修改。如果不含有此人的資訊,則列印「error!
」。.排序模組:
程式通過定義乙個變數n來輸入乙個變數,來確定是按學號、姓名還是年齡來排序。首先定義乙個結構體變數作為中間變數。學號排序,通過兩重for迴圈,運用中間結構體變數來實現兩個變數資訊的交換。
首先把學號最小的放第乙個,以後依次類推。姓名排序,同樣通過雙重for迴圈,通過strcmp函式來實現兩個字串的比較,再實現兩個資訊的交換。年齡排序,也是同樣的方法,不過是按年齡的伸序排列。
五.程式除錯
.顯示程式:
1.如果執行程式,將出現如下的介面:
圖1--1
2.此時如果輸入1,並按回車鍵,程式將進入顯示模組,通過顯示模組顯示所有學生的所有資訊。其輸出介面如下:
圖1--2
.追加程式:
1. 當在圖1—1的前提下輸入2,則進入追加模組,此時則出現如下的介面:
圖2--1
2.此時電腦在問你要追加的人數,如果你輸入1,則出現如下的介面:
圖2--2
3.這個時候你就將追加這個學生的資訊輸入,輸入如下資訊:
322 funan m 20 1989.06.04 xiangtan 5469824
輸入完後將出現以下介面:
圖2--3
4.資訊追加完以後,程式會自動跳到顯示模組,把資料庫種的資訊再輸出一次。將會出現如下介面:
圖2--4
.查詢程式:
1. 如果再圖1--1的基礎上選擇5,則進入查詢模組,進入如下的介面:
圖3--1
2.如果你選擇1,則將進入按學號查詢的介面。如下:
圖3--2
3.如果你輸入124,電腦將會自動查詢學號為124學生的資訊,並顯示在螢幕上。如下:
圖3—3
4.如果你在圖3--1的基礎上選擇2,並在輸入了maxiang,則會出現如下的介面:
圖3—4
5.如果你在圖3—2和圖3—4輸入後,查無此人。則顯示如下資訊:
圖3--5
.刪除程式:
1.如果你在圖1—1的介面下選擇4,則進入刪除程式,出現如下介面:
圖4—1
2.如果你選擇1,並在此基礎上輸入學號124,程式則將學號為124的人資訊刪除,並顯示如下:
圖4--2
3.如果你在圖4—1的基礎上選擇2,並輸入maxiang,則出現如下介面:
圖4—3
.修改程式:
1.如果你在圖1—1 下選擇3,則進入修改程式,出現是按學號還是按姓名修改,如選擇 1,則出現如下:
圖5--1
2.如輸入學號 112,出現下一級選單,選擇修改的內容,介面如下:
圖5--2
3.如選擇2,並輸入xiangning,則將學號為112的人的姓名改為xiangning,介面如下:
圖5--3
4. 如果你在圖5—1下選擇3,並輸入hujing,則將出現如下介面:
5.如果你選擇1,並輸入554,則姓名為hujing的人的學號將改為554,介面如下:
圖5--5
.排序程式:
1.如果你在圖1—1 介面下選擇6,則進入排序程式,你將選擇是按學號、姓名還是年齡排,其介面如下:
圖6--1
2.如選擇1,則按學號排,其結果如下:
圖6--2
3.如果在圖6—1介面下選擇2,則將按姓名排,其結果如下:
圖6--3
4.如果在圖6—1介面下選擇3,則將按年齡排,年齡相同則按學號排,其結果如下:
圖6--4
5.如在1—1介面下選擇7,則將進入退出程式,其介面如下:
圖6--5
五.總結與心得體會
通過乙個星期的課程設計,使我對c語言程式設計有了乙個更加深入的認識,從剛開始的初略的認識到有了比較深入的認識,能夠比較靈活的運用。c語言是一門比較靈活、有趣而且實踐性非常強的課程,我們要從它的實踐運用中,體會到了學習c語言的樂趣和好處。在課程設計的這段時間裡,我學到了許多東西,同時也使我對以前學的東西有了乙個更深更透徹的理解。
比如:能夠靈活的運用雙重迴圈,switch語句,結構體的定義、引用、使用,指標的定義、使用等。雖然對c語言程式設計還有許多不明白,但這段時間我真的獲易匪淺。
以前上程式設計課,我基本上都沒有深入理解自己所編的程式,常常就是仿照書本編乙個程式,再執行幾遍,沒錯就萬事大吉,根本就沒管它了。但這次就不同,對每個程式都有乙個深入透徹的理解,常常不懂就問同學或老師,直至把它弄懂為止。c語言限制比較的寬鬆,我們在程式設計的時候更應該仔細,乙個小小的錯誤都可能導致程式的無法編譯。
所以對於大的程式,我們更應該先編好主程式,再乙個乙個模組的編。這樣大大的縮短了程式設計的時間同時又提高了程式的可讀性。
通過課程設計,使我對c語言的運用有了更深刻的認識。使我對c語言的實踐應用更加期待,更加好奇,我相信c語言對我以後的人生將有很大痺益。在對c語言的使用中,使我對軟體的認識也有了初步的了解。
更是為我以後學習的微機原理以及微控制器原理奠定了基礎。我們的專業是電子資訊工程,主要是跟電子產品打交道,後面用到c語言的地方還有許多,所以說,學好c語言,為我們以後專業知識的學習有很大好處。在學習c語言中更使我體會到了學習計算機技術的樂趣,我將更加努力多學,學好計算機技術。
六.附件
.源程式
.建庫函式
#include "stdio.h"
#include "conio.h"
struct stu
s[20];
void main()
{int i;
struct stu s1;
file *fp;
fp=fopen("h:\\xsxxk.txt","w");
for(i=0;i<10;i++)
{scanf("%ld%s%s%d%s%s%s%s",&s[i].xh,s[i].name,s[i].
xb,&s[i].nl,s[i].czrq,s[i].
address,s[i].phone,s[i].e_mail);
fprintf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[i].xh,s[i].name,s[i].
xb,s[i].nl,s[i].czrq,s[i].
address,s[i].phone,s[i].e_mail);
c語言課程設計,客戶資訊管理系統
include include include include define n 100 void menu void input void del void change void find struct kehu struct kehu kehu n int x 0 int main void ...
教師資訊管理系統 C語言課程設計
課程設計任務書 電腦科學與技術專業 2010 年級一班陳金利 一 設計題目 教師資訊管理系統設計 二 主要內容 教師資訊包括教師號 姓名 性別 年齡 學歷 職稱 工資 住址 等 教師號不重複 試設計一教師資訊管理系統,使之能提供以下功能 1 系統以選單方式工作 2 教師資訊錄入功能 輸入 3 教師資...
C語言課程資訊管理系統課程設計報告
c語言程式設計 課程設計報告 專業 班級 姓名 指導教師 二零一二年十二月二十六日 一 設計題目2 二 設計目的2 三 設計內容2 3.1需求分析2 3.2 概要設計3 3.3 詳細設計6 3.5 編寫過程中遇到的問題及解決辦法7 3.4 除錯結果8 3.6課程設計總結16 四 參考書目17 附錄a...