用鍊錶實現簡單的學籍管理
一、系統概況
系統名稱:用鍊錶實現簡單的學籍管理系統
軟體要求: turbo c 2.0
硬體要求: pc機
具體概況:
學籍管理系統是用turboc2.0 c語言編輯器設計乙個學籍管理系統,該系統能很好的實現學籍管理,能按照設計選單對其進行資訊輸入建立學籍檔案,也能對系統進行編輯如插入學生資訊、刪除資訊等操作,並能輸出整個學籍資訊,也可以按照學號或者總分進行排序輸出。
本系統就是運用c程式設計中的結構體、指標、函式(系統庫函式、自定義函式)、用指標處理鍊錶、檔案操作等知識編寫的乙個簡單的方便查詢和管理學籍的應用系統。
二、需求分析
● 總體功能要求:
(1)鍊錶的建立:每個節點包括:學號、姓名、性別、語文、數學、英語、總分;
(2)節點的插入:按學號的順序插入;
(3)刪除鍊錶中的節點:按學號或者姓名;
(4)鍊錶的輸出:按學號排序、按總分排序。
● 效能的要求:
(1)各個功能分別用函式實現;
(2)節點資訊讓使用者通過鍵盤輸入;
(3)總分通過計算獲得;
(4)有簡單的操作介面;
● 功能模組圖、流程圖:
建立動態鍊錶:
鍊錶的插入的操作流程圖 :
輸出鍊錶操作的流程圖:
鍊錶排序操作的流程圖:
三、設計
程式**:
#include………………/*輸入輸出函式*/
#include
#define null 0………………/*巨集定義*/
#define len sizeof (struct student)
int add(int a,int b,int c) ……/*定義乙個函式,計算語文數學英語成績的總和*/
struct student…………/*定義乙個結構體變數管理資訊*/
;int n定義乙個全域性變數*/
struct student *sort(struct student *m) /*排序函式(從小到大按學號排序)*/
if(p==q) …… /*p= =q說明待排序點值小,應排在首位*/
else/*待排序點插入在中間某個位置 p和q之間,如果p為空則是尾部*/
}p=m;
while(p!=null)
return(m);
}struct student *sorts(struct student *m) /*排序函式(從低到高總分排序)*/
if(p==q) …… /*p= =q說明待排序點值小,應排在首位*/
else/*待排序點插入在中間某個位置 p和q之間,如果p為空則是尾部*/
}p=m;
while(p!=null)
return(m);
}struct student *creat(void) /*定義函式,此函式帶回乙個指向煉表頭的指標*/
head=null;
while (p1->num!=0)
}p2->next=null;
c語言程式設計報告
題目 小學算術運算測試 math.c 設計者 專業班級 學號 指導教師 2012 年 6 月21日 河南理工大學計算機學院 小學算術運算測試 math.c 目錄1.設計任務書2 1.1 題目與要求2 1.2 問題提出2 1.3本程式涉及的知識點2 2.功能簡介2 2.1演算法設計2 2.2部分模組流...
C語言程式設計報告
課程設計報告 數字金字塔 一 設計任務與目標 給出乙個正整數n,乙個存放1到n共n個正整數的數字金字塔構造如下 1在最上方第0層 如果x大於y並且x除以y的餘數為0 即x y x y 0 x要放在y下方一層 即若y在第i層,x應在i 1層 每個數應盡可能放在更下方,即如果可以放在第i層,就不能放在i...
C語言程式設計報告
題目 學生成績管理系統 姓名許寧馨 學院 資訊科學與技術學院 專業電氣資訊類 班級電信1207 學號120900707 1 設計目的 2 總體設計 3 詳細設計 4 除錯與測試 5 源程式清單和執行結果 一 設計目的 通過親自設計程式,令我們更加熟悉和掌握c語言。初步體會程式設計的過程,為將來的程式...