C語言程式設計實習報告

2021-09-28 09:18:01 字數 1517 閱讀 7451

用鍊錶實現簡單的學籍管理

一、系統概況

系統名稱:用鍊錶實現簡單的學籍管理系統

軟體要求: 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語言。初步體會程式設計的過程,為將來的程式...