安徽科技學院 信網學院網路文化節 丁舒

2021-10-07 06:26:31 字數 3289 閱讀 2161

程式設計

針對需求做如下設計:

(1)資料結構設計

假設學生學分管理程式中的資訊結構是:學號(最多11個數字), 姓名(最多7個字元),班級(最多11個字元)

typedef struct student//定義學生學分結構

stu;

(2)模組設計

本任務的主要演算法是一組對學生學分管理的的操作函式,所以:

錄入學分:

創造input函式,讀入乙個學生的全部資訊,存到檔案中,詢問是否繼續輸入其它學生資訊,若為n,則不輸入,否則繼續。

修改學分

在管理簿中用姓名name或學號num找到要查詢的學生所在位置i,再輸入新的學生學分資訊,儲存到檔案中,修改完畢。

刪除學分

在管理簿中用姓名name或學號num找到要查詢的學生所在位置i,得到詢問是否刪除資訊,回n是不刪除,否則就刪除並將此時結果儲存到檔案中,刪除完畢。

查詢學分

允許用學號,姓名,班級查詢管理簿中的相應學生的學分資訊。

對學分進行排序

允許根據總分從高到低排序也可以根據課程學分從低到高排序。

顯示學分

即從頭到尾列印出管理簿中的全部學生的資訊。

(3)主程式結構

本任務的主程式結構是乙個選單,供選擇,轉入相應的子程式中:

1-錄入學生學分

2-顯示學生學分

3-查詢學生學分

4-修改學生學分

5- 刪除學生學分

6- 學生學分排序

7- 存入檔案

8- 從檔案讀取

0- 退出

查詢:1-按學號查詢

2-按姓名查詢

3-按班級查詢

0-退出

修改:1-按學號修改

2-按姓名修改

0-退出

刪除:1-按學號刪除

2-按姓名刪除

0-退出

排序:1-按課程從低到高 :

1-按基礎課學分排序

2-按專業課學分排序

3-按選修課學分排序

4-按人文課學分排序

5-按實驗課學分排序

0-退出

2-按總分從高到低

0-退出

源**#include

#include"conio.h"

#include

#include

typedef struct student//定義學生學分結構

stu;

stu st[100];

static int n;

void menu();//選單

void input();//輸入函式

void print();//列印學分資訊

void query();//查詢學分資訊

void modif();//修改學分資訊

void del();//刪除學分資訊

void order();//按學分類別排序

void writeinfo();//寫入檔案

void readinfo();//讀取檔案

/主函式/

void main()

}while(s!=0);

getch();

}/主選單/

void menu()

while(getch()!=『n』);

/顯示學分資訊函式/

void print()

/查詢選單/

void menu1()

/按姓名查詢函式/

void query2()

}if(k0)

printf("\n對不起!沒有該姓名,任意鍵繼續");

else printf(「按任意鍵繼續」);

getch();

}/按班級查詢函式/

void query3()

}if(k0)

printf("\n對不起!沒有該班,任意鍵繼續");

else printf(「按任意鍵繼續」);

getch();

}/查詢函式/

void query()

}while(s!=0);
getch();

}/修改模組選單/

void menu2()

break;}}

if(k0)

printf("\n對不起!沒有該學號,任意鍵繼續");

getch();

}/按姓名修改學分資訊/

void modif2()

if(k==0)

printf("\n對不起!沒有該姓名,任意鍵繼續");

getch();

}/修改模組函式/

void modif()

}while(s!=0);
getch();

}/刪除模組選單/

void menu3()

/按姓名刪除學分資訊/

void del2()

/刪除函式/

void del()

}while(s!=0);

getch();

}/排序模組選單/

void menu4()

/按專業學分排序/

void zhuanye()

/按選修學分排序/

void xuanxiu()

/按人文學分排序/

void renwen()

/按實驗學分排序/

void shiyan()

/按課程類學分排序函式/

void order1()

}while(s!=0);

getch();

}/按總學分排序函式/

void order2()

}while(s!=0);

getch();

}/從檔案讀取/

void readinfo()

//將記錄條數讀取

fread(&n,1,4,fp);

//讀取全部內容

fread(&st,1,sizeof(stu)*n,fp);

fclose(fp);

printf("\a\t\t\t\t讀取成功!");

getch();/寫入檔案/

void writeinfo()

fwrite(&n,1,4,fp);

fwrite(&st,1,sizeof(stu)*n,fp);

fclose(fp);

printf("\a\t\t\t\t寫入成功!");

getch();

安徽科技學院 信網學院網路文化節 劉洪江

import sys import time books 圖書資料 users 預設使用者資料 def menu print 40 print 歡迎來到圖書管理系統 print 40 print 請輸入你想要進行的操作 print 1 註冊新使用者 print 2.使用已註冊的賬號進行登陸 prin...

安徽科技學院 信網學院網路文化節 曹健

include include include int weights 26 char alphabet 26 define length 26 define n 100 typedef struct htnode,huffmantree 哈夫曼節點的型別 typedef char huffmanc...

安徽科技學院 信網學院網路文化節 曾偉

include p p next z addforward zhead,int data,znew1 自定義的函式,在想要編號的前面插入新的書籍資訊 while p null 若頭部不是想要插入的資料 p p next putchar n return head 總會找到想要的資料,然而頭部沒有變化...