資源簡(jiǎn)介
用純C語(yǔ)言編寫(xiě)的簡(jiǎn)單的宿舍管理系統(tǒng)。包括文件的讀寫(xiě),信息的輸入和輸入;主要功能包括增刪改、查看、檢索等;輸入輸出在Dos界面。
代碼片段和文件信息
#include????????/*引用庫(kù)函數(shù)*/
#include
#include
#include
/*定義結(jié)構(gòu)體變量出生年月*/
struct?birth{
???????????????????int?year;
???????????????????int?day;
???????????????????};
typedef?struct????????/*定義結(jié)構(gòu)體數(shù)組*/
{
????long?int?num;????????/*學(xué)號(hào)*/
????char?name[10];????????/*姓名*/
????char?sex[4];??????????/*性別*/
????struct?birth?birthyd;?????/*出生年月*/
????char?address[20];?????????/*地址*/
????char?phone[20];??????????/*電話(huà)號(hào)碼*/
????int?scorescoreascoreb;????????/*單科成績(jī)以及總的成績(jī)*/
}Student;
Student?stu[80];????????/*結(jié)構(gòu)體數(shù)組變量*/
int?menu_select()????????/*菜單函數(shù)*/
{
????char?c;
????do{
????????system(“cls“);????????/*運(yùn)行前清屏*/
????????printf(“\t\t****HuaShan?Hostel?Management?System****\n“);????????/*菜單選擇*/
????????printf(“\t\t????|?1.?Input?Student?information?????????????|\n“);
????????printf(“\t\t????|?2.?Query???????????????????|\n“);
????????printf(“\t\t????|?3.?Sort?By?Total?Records????????????????|\n“);
????????printf(“\t\t????|?4.?Display?All?Records??????????????|\n“);
????????printf(“\t\t????|?5.?Add?Records?From?A?Text?File??????????|\n“);
????????printf(“\t\t????|?6.?Write?To?A?Text??????????????|\n“);
????????printf(“\t\t????|?0.?Quit(exit)???????????????|\n“);
????????printf(“\t\t*****************************************\n“);
????????printf(“\t\t\tPlease?Give?Your?Choice(0-6):“);
????????c=getchar();????????/*讀入選擇*/
????}while(c<‘0‘||c>‘9‘);
????return(c-‘0‘);????????/*返回選擇*/
}
int?Input(Student?stud[]int?n)????????/*輸入若干條個(gè)人記錄*/
{int?i=0jk;
?char?signx[10];????????/*x[10]為清除多余的數(shù)據(jù)所用*/
?while(sign!=‘n‘&&sign!=‘N‘)????????/*判斷*/
?{
?????printf(“\t\t\tstudent‘s?num:“);???????/*交互輸入*/
?????scanf(“\t\t\t%ld“&stud[n+i].num);
?????k=0;
?????/*一下循環(huán)體用來(lái)判斷學(xué)號(hào)的重復(fù)性,若重復(fù),則提示重新輸入*/
?????for(j=0;j ???????{??if(stud[n+i].num==stud[j].num)
?????????????k=k+1;
???????}
?????if(k==1){
?????printf(“\t\t\tthe?student‘s?number?exists\n“);
?????continue;?}
?????printf(“\t\t\tstudent‘s?name:“);
?????scanf(“\t\t\t%s“stud[n+i].name);
?????printf(“\t\t\tstudent‘s?sex:“);
?????scanf(“\t\t\t%s“stud[n+i].sex);
?????printf(“\t\t\tstudent‘s?birth_year:“);
?????scanf(“\t\t\t%d“&stud[n+i].birthyd.year);
?????printf(“\t\t\tstudent‘s?birth_month:“);
?????scanf(“\t\t\t%d“&stud[n+i].birthyd.day);
?????printf(“\t\t\tstudent‘s?address:“);
?????scanf(“\t\t\t%s“stud[n+i].address);
?????printf(“\t\t\tstudent‘s?phone:“);
?????scanf(“\t\t\t%s“stud[n+i].phone);
?????printf(“\t\t\tMath_Analyse‘s?score:“);
?????scanf(“\t\t\t%d“&stud[n+i].scorea);
?????printf(“\t\t\tArithmetic_Process‘s?score:“);
?????scanf(“\t\t\t%d“&stud[n+i].scoreb);
?????stud[n+i].score=stud[n+i].scorea+stud[n+i].scoreb;
?????gets(x);????????/*清除多余的輸入*/
?????printf(“\t\t\tany?more?records?(Y/N)“);
?????scanf(“\t\t\t%c“&sign);????????/*輸入判斷*/
?????i++;
?}
?return(n+i);
}
void?Query_a_record(Student?stud[]int?n)????????/*查找并顯示一個(gè)記錄*/
{
????Student?nub[10];
????int?i=0;
????printf(“\t\t\tinput?stude
評(píng)論
共有 條評(píng)論