計算機(jī)C語言課程設(shè)計報告_第1頁
計算機(jī)C語言課程設(shè)計報告_第2頁
計算機(jī)C語言課程設(shè)計報告_第3頁
計算機(jī)C語言課程設(shè)計報告_第4頁
計算機(jī)C語言課程設(shè)計報告_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

┊┊┊┊課程設(shè)計服務(wù)課程名稱:系:專業(yè):服務(wù)課程名稱:系:專業(yè):班級:學(xué)號:姓名:指導(dǎo)教師:課程設(shè)計周次:起始日期:至目錄TOC\h\z\t"標(biāo)題2,1"C語言課程設(shè)計成績評定表 1C語言課程設(shè)計任務(wù)書 2程序基本框架結(jié)構(gòu)圖 3程序設(shè)計說明書 4源代碼清單 5課程設(shè)計總結(jié) 20C語言課程設(shè)計-PAGE1-┊┊C語言課程設(shè)計成績評定表┊┊班級學(xué)號姓名項(xiàng)目組項(xiàng)目組長項(xiàng)目組組員本人工作簡介:在此次C語言課程設(shè)計中,我們小組的課題是編寫職工信息管理系統(tǒng)。本人主要負(fù)責(zé)系統(tǒng)的職工信息查詢與修改程序模塊的編寫。經(jīng)過一系列的信息資料查詢和同學(xué)的幫助終于順利完成組長分布的任務(wù)要求。組長評語:該組員很守紀(jì)律,無遲到早退和曠課情況。起先對于書上的一些基本概念記得不是很牢固,但是后來積極進(jìn)取,快速掌握相關(guān)知識。組內(nèi)表現(xiàn)活躍,勤于善問,順利完成下達(dá)任務(wù)。成績評定標(biāo)準(zhǔn)ABCDE理論基礎(chǔ)很好好比較好一般不好報告完成情況很好好比較好一般不好紀(jì)律表現(xiàn)很好好比較好一般不好程序創(chuàng)意很好好比較好一般不好所選模塊完成情況很好好一般較差不好所選算法難易程度復(fù)雜比較復(fù)雜一般簡單很簡單程序可操作性很好好一般較差不好答辯表現(xiàn)很好好一般較差不好最后成績優(yōu)秀A>=5B<=3C<=0D=0E=0良好A>=3B<=4C<=1D=0E=0中等A>=1B>=2C>=4D<=1E=0及格A=0B=0C<=4D>=4不及格A=0B=0C=0D<=4E>=4負(fù)責(zé)指導(dǎo)教師:(簽名)指導(dǎo)教師:(簽名)

C語言課程設(shè)計任務(wù)書一、設(shè)計目的通過本次課程設(shè)計使學(xué)生進(jìn)一步加深對C語言課程內(nèi)容的理解,初步掌握一般應(yīng)用程序的開發(fā)方法和步驟,進(jìn)一步了解與掌握C語言的編程方法和技巧,提高學(xué)生用C語言解決實(shí)際問題的能力。二、設(shè)計要求1、認(rèn)真查閱參考書、資料 2、遵守課程設(shè)計時間安排3、按時上機(jī),認(rèn)真調(diào)試程序 4、認(rèn)真完成課程設(shè)計報告三、課設(shè)報告裝訂內(nèi)容及順序1、課程設(shè)計封皮 2、目錄3、課程設(shè)計成績評定表 4、課程設(shè)計任務(wù)書5、程序基本框架圖6、程序設(shè)計說明書7、源代碼清單 8、課設(shè)總結(jié)與心得四、設(shè)計題目學(xué)生檔案管理系統(tǒng)賓館住宿管理學(xué)生宿舍管理★職工信息管理系統(tǒng)人事檔案管理系統(tǒng) 航空售票管理系統(tǒng)五、時間安排(一周:從6月27日到7月1日)1、查閱資料及程序設(shè)計(1天) 2、程序編制及調(diào)試(3天)3、成績評定(0.5天) 3、打印報告(0.5天)六、參考文獻(xiàn)1、《C語言程序設(shè)計》李淑華/李貞編大連理工大學(xué)出版社2、《C語言程序設(shè)計》孫連科/姚大鵬編遼海出版社3、《C++時尚編程百例》網(wǎng)冠科技編.機(jī)械工業(yè)出版社4、《TURBOC實(shí)用大全》徐金梧等編.機(jī)械工業(yè)出版社填寫課設(shè)題目

程序基本框架結(jié)構(gòu)圖職工檔案管理系統(tǒng)職工檔案管理系統(tǒng)退出系統(tǒng)顯示職工信息刪除職工信息增加職工信息修改職工信息查詢職工信息輸入職工信息退出系統(tǒng)顯示職工信息刪除職工信息增加職工信息修改職工信息查詢職工信息輸入職工信息系統(tǒng)幫助說明退出按姓名刪除按工號刪除退出按姓名查詢按電話號查詢按職工號查詢退出按姓名刪除按工號刪除退出按姓名查詢按電話號查詢按職工號查詢程序設(shè)計說明書本次課程設(shè)計的函數(shù),主要由幫助、輸入、顯示、查詢、修改、增加,刪除,退出八大模塊組成,對于查詢與修改等模塊部分我會在個人部分中加以介紹?,F(xiàn)在先大致介紹輸入、顯示、幾個部分:在輸入模塊中,先使用fopen函數(shù)打開文件,再根據(jù)所要輸入職工信息的總?cè)藬?shù),通過for語句循環(huán)輸入職工信息,最后進(jìn)入保存函數(shù)將輸入的信息保存;而在顯示模塊中,用if語句進(jìn)行判定打開文件,并通過printf函數(shù)顯示出來;在最后的刪除模塊中,采用的是先查找再刪除形式,其中先標(biāo)記查找出來的信息,讓其信息總數(shù)減少一個,再通過a[i]=a[i+1]使下一個覆蓋到原來的部分;而在編輯編譯時所呈現(xiàn)出的頁面效果時,是根據(jù)頁面工整為主要依據(jù)來修改的,具體沒什么重點(diǎn),就不加以描述。我設(shè)計的是程序是查詢、修改職工檔案信息。在修改查詢模塊時,我先添加了一個子菜單,同樣是使用switch語句來進(jìn)入按姓名查詢還是按工號查詢等,使頁面顯得工整,并且操作起來也更加方便;修改按工號查詢時,我使用的是通過strcmp函數(shù)讓輸入的字符或數(shù)字與所存的信息循環(huán)對比,當(dāng)信息相同時調(diào)出所查到的學(xué)生的信息并且加以顯示。編程序時,除了運(yùn)用基本的輸入、輸出函數(shù)外,還運(yùn)用了while()、switch()函數(shù)分別查詢、修改職工的信息,繼而運(yùn)用的是按“0”退出系統(tǒng)的方法,最后關(guān)閉文件。整體運(yùn)用的是用main()函數(shù)調(diào)用chaxun()、xiugai()函數(shù)。還有修改時,必須特別注意先查詢,然后才能修改。源代碼清單#include<stdio.h>/*I/o函數(shù)*/#include<stdlib.h>/*其他說明*/#include<string.h>/*字符串函數(shù)*/#defineLEN30/*工號和姓名最大職工人數(shù)*/#defineN100/*最大職工人數(shù)*/structrecord/*聲明函數(shù)體*/{charcode[20];/*工號*/charname[10];/*姓名*/intage;/*年齡*/charsex[5];/*性別*/charxueli[10];/*學(xué)歷*/chartime[20];/*出生年月*/charadd[20];/*家庭地址*/chartel[20];/*電話*/}zg[N];intk=1,m,n;voidshuru();voidchaxun();voidxiugai();voidzengjia();voidshanchu();voidxianshi();voidbaocun();voidcaidan();voidtuichuxitong();voidhuanyingye();intmain(){huanyingye();system("pause");system("cls");printf("請按任意鍵進(jìn)入主菜單!\n");system("cls");while(k){caidan();system("pause");}return0;}voidhelp(){system("COLOR2f");printf("\n尊敬的用戶您好!");printf("\n============================================================\n");printf("\n|1.歡迎進(jìn)入幫助系統(tǒng)!|\n|");printf("\n|2.請按照菜單提示進(jìn)入數(shù)字代號!|\n|");printf("\n|3.增加職工信息后,請切記保存!|\n|");printf("\n|4.謝謝您的使用!|\n|");printf("\n============================================================\n");}voidshuru()/*實(shí)現(xiàn)錄入職工基本信息功能*/{inti,flag=1;while(flag){flag=0;printf("請輸入需要創(chuàng)建信息的職工人數(shù)(1-100):\n");scanf("%d",&n);if(n<1||n>100){flag=1;printf("輸入錯誤,檢查后請重新輸入!\n");}}for(i=0;i<n;i++){printf("請輸入第%d個職工的基本信息:\n",i+1);printf("請輸入工號:\n");scanf("%s",zg[i].code);printf("請輸入姓名:\n");scanf("%s",zg[i].name);getchar();printf("請輸入性別(男,女):\n");scanf("%s",zg[i].sex);printf("請輸入學(xué)歷:\n");scanf("%s",zg[i].xueli);printf("請輸入年齡:\n");scanf("%d",&zg[i].age);printf("請輸入出生年月(輸入格式:年.月):\n");scanf("%s",zg[i].time);printf("請輸入家庭地址:\n");scanf("%s",zg[i].add);printf("請輸入電話號碼:\n");scanf("%s",zg[i].tel);}printf("錄入完畢!\n");baocun();}voidbaocun()/*保存職工信息到文件的函數(shù)*/{inti;FILE*fp;if((fp=fopen("zg.txt","wb"))==NULL)/*創(chuàng)建文件并判斷是否能夠打開成功*/{printf("文件不能打開!\n");exit(0);/*如果不能打開文件,則關(guān)閉當(dāng)前所有的文件*/}for(i=0;i<n;i++)/*將內(nèi)存中的職工信息寫入到磁盤文件中*/if(fwrite(&zg[i],sizeof(structrecord),1,fp)!=1)printf("文件輸入錯誤!\n");fclose(fp);/*關(guān)閉文件*/}voidchazhao(){inti,t,flag;chars1[30];system("COLOR5f");printf("\n===============================\n");printf("1.按工號查詢\n");printf("2.按姓名查詢\n");printf("3.按電話號查詢\n");printf("4.按學(xué)歷查詢\n");printf("5.退出本菜單\n");printf("===============================\n");while(1){flag=0;printf("請輸入子菜單編號:");scanf("%d",&t);switch(t){case1:printf("請輸入要查詢的職工的工號:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].code,s1)==0){flag=1;printf("職工工號職工姓名年齡性別學(xué)歷出生年月家庭地址電話\n");printf("===================================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("該工號不存在!\n");break;case2:printf("請輸入要查詢的職工的姓名:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].name,s1)==0){flag=1;printf("職工工號職工姓名年齡性別學(xué)歷出生年月家庭地址電話\n");printf("================================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("該姓名不存在!\n");break;case3:printf("請輸入要查詢的職工的電話號:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].tel,s1)==0){flag=1;printf("職工工號職工姓名年齡性別學(xué)歷出生年月家庭地址電話\n");printf("====================================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("該電話號不存在!\n");break;case4:printf("請輸入要查詢的職工的學(xué)歷:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].xueli,s1)==0){flag=1;printf("職工工號職工姓名年齡性別學(xué)歷出生年月家庭地址電話\n");printf("===============================================================\n");printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}if(flag==0)printf("該學(xué)歷不存在!\n");break;case5:return;default:printf("請?jiān)?--5之間選擇\n");}}}voidxiugai(){inti,t,num;charsex1[3],s1[30],s2[30];printf("請輸入要修改的職工的工號:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].code,s1)==0)num=i;system("COLOR4f");printf("=============================================\n");printf("|1.修改姓名|\n");printf("|2.修改年齡|\n");printf("|3.修改性別|\n");printf("|4.修改學(xué)歷|\n");printf("|5.修改出生年月|\n");printf("|6.修改地址|\n");printf("|7.修改電話號碼|\n");printf("|8.修改退出本菜單|\n");printf("=============================================\n");while(1){printf("請輸入子菜單的編號:");scanf("%d",&t);switch(t){case1:printf("請輸入新的姓名:\n");scanf("%s",s2);strcpy(zg[num].name,s2);break;case2:printf("請輸入新的年齡:\n");scanf("%s",s2);scanf("%d",&zg[num].age,s2);break;case3:printf("請輸入新的性別:\n");scanf("%s",sex1);strcpy(zg[num].sex,sex1);break;case4:printf("請輸入新的學(xué)歷:\n");scanf("%s",s2);strcpy(zg[num].xueli,s2);break;case5:printf("請輸入新的出生年月:\n");scanf("%s",s2);strcpy(zg[num].time,s2);break;case6:printf("請輸入新的地址:\n");scanf("%s",s2);strcpy(zg[num].add,s2);break;case7:printf("請輸入新的電話號碼:\n");scanf("%s",s2);strcpy(zg[num].tel,s2);break;case8:return;default:printf("請?jiān)?--8之間選擇\n");}baocun();}}voidpaixu(){inti,j,*p,*q,s;chartemp[10];for(i=0;i<n-1;i++){for(j=n-1;j>i;j--)if(strcmp(zg[j-1].code,zg[j].code)>0){strcpy(temp,zg[j-1].code);strcpy(zg[j-1].code,zg[j].code);strcpy(zg[j].code,temp);strcpy(temp,zg[j-1].name);strcpy(zg[j-1].name,zg[j].name);strcpy(zg[j].name,temp);strcpy(temp,zg[j-1].sex);strcpy(zg[j-1].sex,zg[j].sex);strcpy(zg[j].sex,temp);strcpy(zg[j-1].xueli,zg[j].xueli);strcpy(zg[j].xueli,temp);strcpy(temp,zg[j-1].time);strcpy(zg[j-1].time,zg[j].time);strcpy(zg[j].time,temp);strcpy(temp,zg[j-1].add);strcpy(zg[j-1].add,zg[j].add);strcpy(zg[j].add,temp);strcpy(temp,zg[j-1].tel);strcpy(zg[j-1].tel,zg[j].tel);strcpy(zg[j].tel,temp);p=&zg[j-1].age;q=&zg[j].age;s=*p;*p=*q;*q=s;}}}voidzengjia(){inti=n,j,flag;printf("請輸入將要增加的職工數(shù)目:\n");scanf("%d",&m);do{flag=1;while(flag){flag=0;printf("請輸入第%d個職工的工號:\n",i+1);scanf("%s",zg[i].code);for(j=0;j<i;j++)if(strcmp(zg[i].code,zg[j].code)==0){printf("該工號已經(jīng)存在,請仔細(xì)核查后重新輸入!\n");flag=1;break;}}printf("請輸入第%d個職工的職工姓名:\n",i+1);scanf("%s",zg[i].name);printf("請輸入第%d個職工的職工年齡:\n",i+1);scanf("%d",&zg[i].age);printf("請輸入第%d個職工的職工性別:\n",i+1);scanf("%s",zg[i].sex);printf("請輸入第%d個職工的職工學(xué)歷:\n",i+1);scanf("%s",zg[i].xueli);printf("請輸入第%d個職工的職工出生年月:(格式:年,月,日)\n",i+1);scanf("%s",zg[i].time);printf("請輸入第%d個職工的職工家庭地址:\n",i+1);scanf("%s",zg[i].add);printf("請輸入第%d個職工的職工電話:\n",i+1);scanf("%s",zg[i].tel);if(flag==0)i++;}while(i<n+m);n=n+m;printf("輸入完畢!\n\n");baocun();paixu();}voidshanchu(){inti,j,flag;chars1[30];system("COLOR5f");printf("\n=================================\n");printf("|1.按工號刪除|\n");printf("|2.按姓名刪除|\n");printf("|3.退出系統(tǒng)|\n");printf("=================================\n");while(1){flag=0;printf("請輸入子菜單編號:");scanf("%d",&j);switch(j){case1:printf("請輸入將要刪除的職工的工號:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)zg[j]=zg[j+1];break;}if(flag==0)printf("該工號不存在!\n");if(flag==1){printf("刪除成功!!\n");n--;}break;case2:printf("請輸入將要刪除的職工的姓名:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(zg[i].name,s1)==0){flag=1;for(j=i;j<n-1;j++)zg[j]=zg[j+1];}if(flag==0)printf("該姓名不存在!\n");if(flag==1){printf("刪除成功!!\n");n--;}break;case3:baocun();return;default:printf("請?jiān)?--3之間選擇\n");}}}voidxianshi(){inti;FILE*fp;if((fp=fopen("zg.txt","rb"))==NULL){printf("打開文件時錯誤!請按任意鍵退出!");system("pause");exit(0);}printf("所有職工的信息為:\n\n");printf("職工工號職工姓名年齡性別學(xué)歷出生年月家庭地址電話\n");printf("============================================================================\n");for(i=0;fread(&zg[i],sizeof(structrecord),1,fp)!=0;i++)printf("%6s%7s%6d%5s%7s%9s%8s%10s\n",zg[i].code,zg[i].name,zg[i].age,zg[i].sex,zg[i].xueli,zg[i].time,zg[i].add,zg[i].tel);}voidtuichuxitong(){system("COLOR3f");printf("【職工信息管理系統(tǒng)】\n");printf("\n");printf("\n");printf("制作:第六組\n");printf("================================================================================\n");printf("●☆☆Bye-Bye☆☆●\n");printf("\n");printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");printf("\n");printf("\n");printf("☆☆☆☆☆☆☆☆☆☆☆\n");printf("\n");printf("★★★★★★★★★★★\n");printf("沈★后\n");printf("陽★勤\n");printf("工★部\n");printf("程★職\n");printf("學(xué)★員\n");printf("院★表\n");printf("★\n");printf("★\n");printf("^@^謝謝使用^@^\n");}voidhuanyingye(){system("COLOR6f");printf("\n");printf("\n");printf("\n");printf("★沈陽工程學(xué)院★\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("尊敬的用戶:您好!\n");printf("\n");printf("\n");printf("歡迎使用\n");printf("\n");printf("\n");printf("☆-【職工信息管理系統(tǒng)】-☆\n");printf("\n");}voidcaidan(){intnum;system("COLOR1f");printf("\n\n職工信息管理系統(tǒng)\n\n");printf("================================================================================\n");printf("===============制作:第六組===========\n");printf("\n");printf("==============系統(tǒng)功能菜單==============\n");printf("=======友情提醒:查詢前請刷新系統(tǒng)!======\n");printf("========================================\n");printf("|======================================|\n");printf("|0.系統(tǒng)幫助說明1.輸入職工信息|\n");printf("||\n");printf("|2.查詢職工信息3.修改職工信息|\n");printf("||\n");printf("|4.增加職工信息5.刪除職工信息|\n");prin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論