程式設計
針對需求做如下設計:
(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 總會找到想要的資料,然而頭部沒有變化...