版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
25/25題目:班級(jí)檔案治理系統(tǒng)一、設(shè)計(jì)任務(wù)與目標(biāo)對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),通過該系統(tǒng)實(shí)現(xiàn)對(duì)該班級(jí)學(xué)生的差不多信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的治理。功能要求:(1)本系統(tǒng)采納一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào)、姓名、性不、年齡、備注。(2)本系統(tǒng)顯示如此的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):a學(xué)生差不多信息錄入b學(xué)生差不多信息顯示c學(xué)生差不多信息保存d學(xué)生差不多信息刪除e學(xué)生差不多信息修改(要求先輸入密碼)f學(xué)生差不多信息查詢(1)按學(xué)號(hào)查詢(2)按姓名查詢(3)按性不查詢(4)按年齡查詢g.退出系統(tǒng)(3)執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。(4)將學(xué)生差不多信息保存到文件中。(5)進(jìn)入系統(tǒng)之前要先輸入密碼。二、方案設(shè)計(jì)與論證要緊采納結(jié)構(gòu)體數(shù)組,通過scanf函數(shù)從鍵盤輸入學(xué)生各種信息,每當(dāng)修改學(xué)生信息時(shí)需要調(diào)用密碼驗(yàn)證函數(shù)。定義了一個(gè)文件指針,密碼驗(yàn)證函數(shù)中,通過fopen打開已有文本文件,然后通過fgetc逐個(gè)讀取該文件中的字符來實(shí)現(xiàn)。退出系統(tǒng)時(shí)向?qū)W生信息文件中寫入數(shù)據(jù)并關(guān)閉文件就實(shí)現(xiàn)了保存文件的功能。三、程序框圖或流程圖,程序清單與調(diào)用關(guān)系顯示信息輸出“修改信息,輸入學(xué)號(hào)”輸出“該生不存在”輸入密碼分不查詢顯示修改后的學(xué)生信息進(jìn)行刪除輸入“5”輸入學(xué)號(hào)?結(jié)束輸出“密碼錯(cuò)誤”輸入密碼NY顯示信息輸出“修改信息,輸入學(xué)號(hào)”輸出“該生不存在”輸入密碼分不查詢顯示修改后的學(xué)生信息進(jìn)行刪除輸入“5”輸入學(xué)號(hào)?結(jié)束輸出“密碼錯(cuò)誤”輸入密碼輸出“輸出“請(qǐng)選擇”輸入“7”輸出“信息錄入(1)退出系統(tǒng)(7)“結(jié)束結(jié)束輸出輸出“請(qǐng)選擇”輸入“1”輸出輸出“顯示(2)保存(3)刪除(4)修改(5)查詢(6)”輸入“輸入“4”輸入“6”輸出輸出“通過學(xué)號(hào)姓名性不年齡進(jìn)行查詢”N輸出“輸出“該生不存在”輸出輸出“請(qǐng)選擇”輸入“2”進(jìn)行修改進(jìn)行修改輸出輸出“請(qǐng)選擇”輸入“2”四、全部源程序清單#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#defineN3structstudent{charname[10];charno[10];charsex;intage;charbnote[100];};voidprint(boolmenu)//打印差不多信息{if(!menu){printf("學(xué)生差不多信息錄入,press1\n");}else{printf("學(xué)生差不多信息顯示,press2\n");printf("學(xué)生差不多信息保存,press3\n");printf("學(xué)生差不多信息刪除,press4\n");printf("學(xué)生差不多信息修改,press5\n");printf("學(xué)生差不多信息查詢,press6\n");}printf("退出學(xué)生信息系統(tǒng),press7\n");}boolCheck(charpas[6])//密碼驗(yàn)證{FILE*fp;//定義一個(gè)文件指針fp,建立一個(gè)字符文件charch;chara[7]={""};inti=0;if((fp=fopen("c:\\密碼.txt","r"))==NULL)//打開密碼.txt{printf("文件打開失敗!\n");exit(0);}ch=fgetc(fp);while(ch!=EOF&&i<6){a[i]=ch;ch=fgetc(fp);i++;}a[6]='\0';if(!strcmp(pas,a)){returntrue;}else{printf("密碼錯(cuò)誤\n");returnfalse;}fclose(fp);}voidGetInformation(structstudent*arr,intn)//學(xué)生差不多信息錄入{for(inti=0;i<n;i++){printf("輸入學(xué)生的差不多信息:namenosexagebnote\n");scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);}}voidDisplay(structstudent*arr,intn)//學(xué)生差不多信息顯示{printf("學(xué)生信息:namenOsexagenote\n");for(inti=0;i<n;i++){printf("%5s%5s%5c%5d%5s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);}}voidSave(structstudent*arr,intn)//學(xué)生差不多信息保存,保存在c:\\student.txt{FILE*fp;fp=fopen("c:\\student.txt","w+");if(fp==NULL){printf("文件不存在!\n");exit(0);}fwrite(arr,sizeof(structstudent)*n,n,fp);fclose(fp);}voidModfiy(structstudent*arr,intn)//學(xué)生差不多信息修改{charnumber[10];boolflag=false;charpass[6];printf("請(qǐng)輸入密碼:\n");scanf("%s",pass);if(Check(pass)){printf("修改學(xué)生信息:\n");printf("請(qǐng)輸入學(xué)號(hào):\n");scanf("%s",number);for(inti=0;i<n;i++){if(!strcmp(number,arr[i].no)){printf("學(xué)生信息:namenosexagenote\n");printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);printf("請(qǐng)輸入學(xué)生信息:\n");scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);Save(arr,n);flag=true;}}if(flag==false){printf("該學(xué)生不存在!\n");}}}voidDelete(structstudent*arr,intn)//學(xué)生差不多信息刪除{charnumber[10];boolflag=false;printf("刪除學(xué)生信息:\n");printf("請(qǐng)輸入學(xué)號(hào):\n");scanf("%s",number);for(inti=0;i<n;i++){if(!strcmp(number,arr[i].no)){strcpy(arr[i].name,"");strcpy(arr[i].no,"");strcpy(arr[i].bnote,"");arr[i].sex='';arr[i].age=0;Save(arr,n);flag=true;}}if(flag==true){printf("該學(xué)生不存在!:\n");}}voidSearch(structstudent*arr,intn)//學(xué)生差不多信息查詢{inttemp,i;boolflag=false;printf("通過學(xué)號(hào)查詢,press1\n");printf("通過姓名查詢,press2\n");printf("通過性不查詢,press3\n");printf("通過年齡查詢,press4\n");printf("退出,press5\n");scanf("%d",&temp);switch(temp){case1://按照學(xué)號(hào)查詢{charnum[10];printf("請(qǐng)輸入學(xué)號(hào):\n");scanf("%s",num);for(i=0;i<n;i++){if(!strcmp(num,arr[i].no)){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("該學(xué)生不存在.\n");}}break;case2://按照姓名查詢{charnum[10];printf("請(qǐng)輸入姓名:\n");scanf("%s",num);for(i=0;i<n;i++){if(!strcmp(num,arr[i].name)){printf("%10s%10s%10c%10d%10s",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("該學(xué)生不存在.\n");}}break;case3://按照性不查詢{charch;printf("請(qǐng)輸入性不:\n");//scanf("%c",&ch);ch=getch();for(i=0;i<n;i++){if(ch==arr[i].sex){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("該學(xué)生不存在.\n");}}break;case4://按照年齡查詢{charnum_age;printf("請(qǐng)輸入年齡:\n");scanf("%d",&num_age);for(i=0;i<n;i++){if(num_age==arr[i].age){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("該學(xué)生不存在.\n");}}break;default:break;}}voidmain(){structstudentarr[N];charps[6];boolflag=false;printf("請(qǐng)輸入密碼:\n");scanf("%s",ps);flag=Check(ps);if(flag){intselect;print(false);scanf("%d",&select);while(0<select&&select<7){switch(select){case1:GetInformation(arr,N);print(true);break;case2:Display(arr,N);print(true);break;case3:Save(arr,N);print(true);break;case4:Delete(arr,N);print
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年果樹栽培合作合同3篇
- 2024全新爆破工程保險(xiǎn)合同下載2篇
- 2024年某商場(chǎng)幕墻維修保養(yǎng)合同
- 2024年度城市更新項(xiàng)目土方運(yùn)輸及綠化恢復(fù)合同3篇
- 2024年新型城鎮(zhèn)化建設(shè)委托理財(cái)合同范本大全3篇
- 陜西財(cái)經(jīng)職業(yè)技術(shù)學(xué)院《燃?xì)馊紵c應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 山西職業(yè)技術(shù)學(xué)院《小學(xué)教學(xué)研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年塔吊基礎(chǔ)施工安全監(jiān)督與責(zé)任協(xié)議3篇
- 2024年橋架產(chǎn)品售后服務(wù)及維修合同范本3篇
- 2024年度網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估與咨詢外包服務(wù)管理協(xié)議3篇
- 多發(fā)性骨髓瘤的療效評(píng)估
- 中建二局“大商務(wù)”管理實(shí)施方案20200713(終稿)
- 燃?xì)獍踩^續(xù)教育考試題及答案
- 精選梨狀肌綜合征課件
- 公正-該如何做是好
- 《昆蟲記》閱讀題及答案
- 氣體滅火系統(tǒng)驗(yàn)收表1
- 千分尺校驗(yàn)記錄表(參照模板)
- (完整版)第二章-鑄鐵的結(jié)晶及組織形成課件
- SparkCCD6000操作規(guī)程操作版分解
- EN779-2012一般通風(fēng)過濾器——過濾性能測(cè)定(中文版)
評(píng)論
0/150
提交評(píng)論