欢迎来到天天文库
浏览记录
ID:37225634
大小:971.00 KB
页数:41页
时间:2019-05-19
《简易学生资料查询系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、簡易學生資料查詢系統一、系統功能、輸入與輸出的資料人事系統往往是應用很廣泛的系統;今天,我們介紹一個簡單的人事系統――簡易學生資料查詢系統;這個系統包含以下幾種基本的功能:●新增資料:在資料庫中新增一筆學生的資料,這筆資料必須是資料庫中原來不存在的。●移除資料:在資料庫中移除一筆學生的資料,這筆資料必須是資料庫中原來存在的。●顯示資料:顯示資料庫中所有的資料。●排序資料:將資料庫中所有學生的資料依據學號排序。●搜尋資料:在資料庫中搜尋一筆學生的資料,若搜尋到則印出這名學生的詳細資料,若搜尋不到則印出搜尋不到的訊息。●聚集資料
2、:在資料庫中經過多次的新增與移除資料的動作之後,資料庫往往會變得存在許多空隙,這時,我們可以使用聚集資料的功能來將資料庫做個整理。●載入資料:載入檔案中所有的資料。●儲存資料:儲存所有的資料進入檔案。二、應用層面說明類似的系統不僅可以應用於學生資料上,亦可以應用於公司人事、組織會員上;若加強系統功能,則可以成為一套更完整的人事系統。三、資料結構說明本系統有一重要的資料結構:學生的資料結構(STUDENT),用來紀錄一筆學生的資料;每一筆學生的資料都包含以下的欄位:●學號(intid),學號若為-1表示該筆資料並無紀錄一位學生
3、●姓名(charname[80]),最多80個英文字母(40個中文字)●系所(intdept),以代碼表示系所,而不以文字表示系所圖示概念如下:學生(STUDENT)欄位意義欄位名稱學號intid41姓名charname[80]系所intdept若要紀錄多筆學生的資料,則使用一個結構陣列即可;例如,若要紀錄100筆學生的資料,則使用一個大小為100的結構陣列;這個陣列有100個元素,每個元素皆包含三個欄位:學號(intid),姓名(charname[80]),與系所(intdept);圖示概念如下:陣列索引學號姓名系所1第1
4、位學生的學號第1位學生的姓名第1位學生的系所2第2位學生的學號第2位學生的姓名第2位學生的系所3第3位學生的學號第3位學生的姓名第3位學生的系所…………100第100位學生的學號第100位學生的姓名第100位學生的系所一、程式說明1.主程式main()●說明:先初始化程式,次載入資料檔,最後根據使用者的選擇而執行相對應的動作。●參數:無。●傳回值:無。●流程圖:41●程式碼:main(){charchoice;//選項intresult;//選項執行結果structSTUDENTstudents[students_size+
5、1],stu;//結構陣列與暫存結構chardeptStr[20];//系所FILE*fp;//資料檔init(students,students_size);//初始化students[]陣列41if(fp=fopen(DATAFILE,"r"))//開啟資料檔{load(students,students_size,fp);//載入資料到students[]陣列}else{fp=fopen(DATAFILE,"w");//開新資料檔}fclose(fp);//關閉資料檔while(1){printf("a.新增d.移除v
6、.檢視?.排序/.搜尋g.聚集l.載入s.儲存q.離開>");fflush(stdin);scanf("%c",&choice);switch(choice){case'A'://addcase'a':printf("請輸入學號>");scanf("%d",&stu.id);printf("1."dept01"");printf("2."dept02"");printf("3."dept03"");printf("4."dept04"");printf("5."dept05"");printf("");printf("6
7、."dept06"");printf("7."dept07"");printf("8."dept08"");printf("9."dept09"");printf("10."dept10"");printf("");printf("11."dept11"");printf("12."dept12"");printf("13."dept13"");printf("14."dept14"");printf("15."dept15"");printf("");41printf("請輸入系所>");scanf("%d",&s
8、tu.dept);printf("請輸入姓名>");scanf("%s",&stu.name);result=add(students,stu,students_size);switch(result){case0:printf("新增成功!");break;case-1:printf(
此文档下载收益归作者所有