當前位置:成語大全網 - 漢語詞典 - 宿舍管理系統的數據字典

宿舍管理系統的數據字典

#

包括

包括

整數N = 2;//全局變量。輸入的學生人數會自行改變其值。

結構學生

{

字符數[10];

角色名[10];

浮動分數[3]

}學生【200】;

/ ******************************* ************************************************** ************* /

無效輸入(結構學生t[])//輸入數據

{

INT I,J,K,;

系統(“CLS”);

Printf的("輸入由輸入數據的數量決定\ n您已經確定了壹些\ n ");

Printf("請輸入1繼續\ n不輸入0退出程序,並更改全局變量的值\ n ");

Scanf函數(" %d ",& a);

(答!= 1 )

退出(0);

(I = 0;& ltn;+ +)

{

系統(“CLS”);//清除屏幕BR/& gt;Printf("請輸入% d學生人數:\ n ",I+1);

Scanf函數(" %s ",T [i]的個數);

Is (j = 0j

If (STRCMP(T [I])。數,T [J]。NUM)= = 0)//避免學生人數相同。

{/& gt;-

printf("學生人數已經存在,請重新輸入:");

睡眠(3000);

突破;

}

}

是(I = 0;& ltn;+ +)

{

系統(“CLS”);

Printf的("請輸入學號% s:(用空格隔開)\ n第二門第壹成績和第二門第三成績\ n ",T[I]NUM);

//T [i]。Score [0] = 0,T [i]。Score [1] = 0,T [i]。score[2]= 0;

Scanf函數(" %s% f% f% f,T [I])。名稱,&t [i]。分數[0],分數為&t [I] [1],分數為& t[I][2]);

AVG .score[0]+T[I]score[1]+[I]。得分[2])/3.0;

}

}

/ ************************************************* ********************************************* /

註釋列表(student t[])//顯示所有信息。

{

我;

系統(“CLS”);

printf ("%d學生信息如下:\ n \ n ",n);

Printf的(“學生證名字第壹門成就第二門,第三門成績壹般\ n”);

(I = 0;I++)

{

(T[I]strlen的編號)!= 0)//判斷是否結束。

printf(" % % S \ t where % S \ t % 5.2f \ t % 5.2f \ t % 5.2f \ t % 5.2f \ t \ t ",

T [I].數,T[我的名字,T [i]分數[0],T [I]。Score [1],T [i] score [2],T [i]。平均);

其他的

突破;

}

putchar(10);

}

/ ************* ************************************************** ******** /

無效的研究(學生t[])//學生id查找信息。

{

INT I,Y;

字符[10];

(1)

{系統(“CLS”);

Printf的("請輸入妳的學號:");

Scanf函數(" %s ",& s);

是(I = 0;i + +)

{

系統(“CLS”);

((STRCMP( S,T [i]))。num))//如果找到學生人數,輸出。

{

Printf's("學號%的學生成績如下:\ n \ n ",T[]NUM);

printf的名稱(“第二成績第壹成績平均人數\ n”為第三成績);

printf(" % \ t where % s \ t % 5.2f \ t % 5.2f \ t % 5.2f \ t % 5.2f \ t ",

T [me]號,T [I]。姓名,T[我]。得分[0],T [i]得分[1],T [I] [2分],T [I]。平均);

putchar(10);

休息;

}

否則,if ((STRCMP(S,T [I])。NUM))!= 0 & amp& ampStrlen(T [I]。NUM)= = 0)//搜索完成後不是最終結果

{

printf(" \ n無計數信息:\ n \ n ");

突破;

}

}

printf(" please * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ";}輸出(繼續查詢並輸入回車\ n ");

(“of printf返回主菜單,輸入2,回車\ n”);

Output(退出程序並輸入任何回車\ n ");

printf(" please * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

(%d個scanf,& a;

(== 1)

研究(學生,n);

否則,如果(== 2)

突破;

其他的

{

系統(“CLS”);

Printf的(" Exit and enter a carriage return以退出並保存數據");

Scanf函數(&y,共' % d ');BR/>;If (== 1)

退出(0);

否則,如果(Y == 2)

保存(STU);

其他的

Lord();

}

}

();

}

/ ******************* ************************************************** ************************* /

invalid Del(student t[])//刪除壹條學生信息。

{

INT I,J,A,Z,Y;

字符B[10];

系統(“CLS”);

Printf("請輸入您要刪除的學校數量:);

Scanf函數(" %s ",b);

(I = 0;i + +)

(STRCMP(B,T [.人)== 0)

突破;

否則,if ((STRCMP(B,T [I])。NUM))!= 0 & amp& ampStrlen(T [I]。NUM)== 0)

{

printf("編號信息:\ n \ n ");

睡眠(3000);

突破;

}

(strlen(T [NUM)!= 0)

{

系統(“CLS”);

Printf("請確認刪除?輸入回車\ n ");/& gt;(" %d ",&z)的scanf

(Z == 1)

Is (J = I,J++)

{

(strlen(T [J])。NUM)== 0)

打破;

其他的

{

T[J]= T[J+1];

= N-1;

}

}

}

系統(“CLS”);

Printf的(" * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

(' of printf繼續刪除並輸入回車\ n ');...../output("返回主菜單並輸入\ n ");

Printf("請退出程序並輸入任何回車\ n ");

printf(" please * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

(" %d ",&a)的scanf

(== 1)

斯圖;

否則,如果(== 2)

();

其他BR />{

系統(“CLS”);

Printf("請直接退出,輸入回車,保存輸入和退出的數據,進入主菜單22次\ n建議退出之前保存的金額,否則數據會丟失");

Scanf函數(" %d ",& y);

(== 1)

退出(0);

否則,如果(Y == 2)

保存(STU);

其他的

();

}

} & lt//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

INT I,J,M,A,Y;

系統(* * *

CLS”);

Of printf("請輸入添加的記錄數:\ nm = ");

(" %d ",&m)的scanf

For (i = n,我是N+M;+ +)

{

系統(“CLS”);

Printf的("請輸入學生ID #% d的新同學:+1);

Scanf的(" " T [I]。NUM);

is(J = 0;;J + +)

(STRCMP(T [] min,T[J]min)= = 0)//避免重復的學號。

{

-

Printf的("該生的學生已經存在,請重新輸入:)。

睡眠(3000);

突破;

}

}

當(i = n,I

{

(《CLS》);

Printf的("請輸入% s的學生人數增加學校:(用空格隔開)\第三門名稱,第壹門成績,第二門成績\ n ",T[]NUM);

//T [i][0]= 0,T[I]的分數。With [1] = 0,T [i]。score[2]= 0;

Scanf函數(" %s% f% f% f,T [I])。名稱,&t [i]。分數[0],分數為&t [I] [1],分數為& t[I][2]);

AVG .score[0]+T[I]score[1]+[I][2分])/3.0;

}

N = N+m//學生數等於已經出生的學生數,加上新增加的。

Printf的(" * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");& lt/Output ("Add ",輸入壹個回車,\ n ");

printf("返回主菜單,輸入2,回車\ N ");

(" of printf退出程序並輸入任何回車\ n ");

Printf的(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

(%d個scanf,& a;

(= = 1)/& gt;add(STU);

否則,如果(== 2)

();

其他的

{

系統(“CLS”);....../& gt;Printf("您想退出嗎?進入後,進入2號出口進入車內,保存數據,進入主菜單22次\ nI建議您在退出前保存壹些,否則數據會丟失”);

If scanf's ("%d ",&y) (y = = 1)

退出(0);

否則,如果(Y == 2)

保存(STU);

其他的

主要是();

}

}

/ ************ ************************************************** ******************************** /

integer save(student t[])//文件來保存數據。

{

FILE * FP

CHar [20],ch;

我是壹,y;

系統(“CLS”);

Printf("請保存到新文件並輸入回車,\ n保存現有文件並輸入2 \ n ");

(" %d ",&a)的scanf關於

CH = getchar function()//接收回車,否則得到()函數空間被分配到的錯誤。

如果(a == 1)

{

Output("請輸入新文件名:\ n(包括擴展名,長度不超過20個字符)\ n ");

獲取;

((FP的FOPEN(S =(S," w+")= = null)//FP指向的文件。

{

printf(" this file \ n ");

退出(0);

}

}

否則,如果(== 2)

{

printf("請輸入現有文件名:\ N(包括擴展名,不超過20個字符)\ N ");

獲取;

((FP = FOPEN(" w+")= = NULL)

{

系統(CLS”);

printf(" Please \ n ";};

退出(0);

}

}

用fprintf(FP)而不是文件“%%d \ N”,N)//編寫的文件

是(I = 0;I++)

(strlen的T [I]。NUM)!= 0)//如果學生人數不為空,則將數據寫入指定文件。

{

fprintf(FP," % S \ T % S \ T %-5.2f \ T % 5.2f \ T % 5.2f \ T % 5.2f ",

T [I].編號,T []。,T [] [0],T [i]得分[1],T [i]得分[2],T [i]平均);

fprintf(FP," \ n ");

}

其他的

FCLOSE(FP);

系統(“CLS”;);

Printf("請\ n保存它,就大功告成了!\ n ");

}

/ * ************************************************** ******************************************* /

無效讀取(student t[])//讀取文件數據

{

FILE * FP

解釋y,m,I,x;

CHar [20],ch;

CH = getchar function()//接收輸入字符,否則()函數空間分配給S. Error。

系統(“CLS”);

Printf("請輸入讀取數據的文件名:\ n(包括擴展名,20個字符以內)\ n ");

獲取;

((FP = FOPEN ("R"))== NULL)

{

系統(“CLS”);

printf(" Please this file \ n ");

睡眠(3000)

系統(“CLS”);

Printf("請退出?退出並輸入壹個回車保存退出2中輸入的數據,輸入22返回主菜單\ nI建議您在退出前保存數字,否則數據會丟失”);

(" %d ",scanf的& y;

(Y == 1)

退出(0);

否則,如果(Y == 2)

保存(

其他的

();

}

Fscanf(FP," %d ",& x);//註冊的學生人數

(斯圖);I = 0;I x,i++)//讀取所有數據。

Fscanf(FP," % f % f % f % f of % s % s,T [I] min,T [I]的名稱,&t [i]。得分[0],

得分為&t [I] [1],&t [I]。分數[2],&t [I]。平均);

FCLOSE(FP);

系統(“CLS”);

N-= N//n將被設置為0。

n = X;

printf(" \ n讀取完成!\ n ");

}

/ ******** ************************************************** ************************************ /

Menu()//選擇菜單BR/& gt;{

解讀x;

printf("請選擇相應的菜單:\ n ");

Printf的(" * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

printf的(“請輸入新記錄,輸入0並輸入\ n”);

& gtPrintf("所有學生,請輸入回車\ n ");

Printf("請查詢對應記錄,輸入2,輸入\ n ");

Printf("請刪除相應記錄,輸入3,然後輸入\ n ");

(“of printf增加壹條新記錄,輸入4 input \ n”);

Printf的("從文件中讀取的記錄,輸入5,輸入\ n ");

Printf("請平均從最高到最低排序輸出,input 6 input \ n ");

Printf("學號從低到高,並輸出,輸入7輸入\ n ");

& gt輸出(每門課分數最高的壹門,輸入壹個回車\ n”);

(" printf的分數被保存到文本輸入9 input \ n ");

(“of printf退出程序,輸入11,輸入\ n”);

printf(" please * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Scanf的(" %d "和x);

返回x;

}

/ ***** ************************************************** *************************************** /

無效的to_exit()//exit。

{

解讀;

系統(“CLS”);

Printf("請直接退出,輸入回車並保存數據,退出輸入2並進入主菜單22次\ nI建議您在退出前保存數字,否則會丟失數據");

(" %d ",scanf的& y;

(Y == 1)

退出(0);

其他(Y == 2)

保存(STU);

其他的

();....../& gt;}

/ ****************************************** ************************************************** * /

avg _ arrange(student t[])//平均高到低排序無效。

{

I,J;

結構學生溫度[1];BR/>;(I = 0;我& ltn-1;i + +)

(J = I +1,J & ltn,J + +)

(T [I].AVG <T [J].平均)

{

TEMP[0]= T[];

T[]= T[J];

噸[J]。= TEMP[0];

}

列表(STU);

}

/ ******************** ************************************************** ************************ /

無效num _ arrange(student t[])//學生人數從小到大的順序。

& gt{

解讀IJ;

結構學生溫度[1];

是(I = 0;我& ltn;I++)

(J = 0,J & ltN-1,J + +)

(STRCMP(T [J]).編號,T [j +1]。NUM)>0)

{

溫度[0] = T [J]。

T[J]= T[J+1];

= T[j+1]中的TEMP[0];

}

列表(t);

}

/ **************************************** ************************************************** **** /

無效高(學生t[])//搜索科目最高分。

{

INT I,J,K,

結構生最大【1】;

最大值[0]= T[0];

系統(“CLS”);

printf的("請輸入妳要找的主題:1或2或3 \ n ");

Scanf函數(&k,共' % d ');

(I = 1;我

最大值[0] = [0]。分數[K-1]& gt;T [i] [k-1]的分數最大[0]: [I]

系統(“CLS”);

輸出("將% d的科目分為:% %5.2f的學生數為\ n ",k [0]的最高分為[k-1],最高分為[0]NUM);

}

/ ********************************************* ************************************************* /

()

{

已解釋;

(1)

{

壹個菜單();

switch(A)//根據相應的動作選擇菜單。

{

本例中為0:input(STU);突破;

案例1:列表(STU);突破;

案例、研究(STU);突破;

案例三:德爾(斯圖);突破;

情況四:添加(STU);突破;

萬壹,5:讀書(STU);休息;

場景6:avg _ arrange(stu);突破;

案例7:num _ arrange(stu);突破;

案例八:斯圖;突破;

情況:保存(STU);突破;

默認值:to _ exit();

}

}

}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *