freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式程序課程設(shè)計(jì)報(bào)告-學(xué)生成績(jī)管理系統(tǒng)(編輯修改稿)

2024-10-13 11:01 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 * 3 search record 4 modify record *\n)。 嵌入式程序課程設(shè)計(jì) 報(bào)告 9 //gotoxy(10,11)。 cprintf( * 5 insert record 6 count record *\n)。 //gotoxy(10,12)。 cprintf( * 7 sort reord 8 save record *\n)。 //gotoxy(10,13)。 cprintf( * 9 display record 0 quit system *\n)。 //gotoxy(10,14)。 cprintf( *************************************************************\n)。 /*cprintf()送格式化輸出至文本窗口屏幕中 */ } 圖 4 編譯結(jié)果 圖 5 修改后編譯結(jié)果 5.源程序清單和執(zhí)行結(jié)果 源程序清單 1.程序預(yù)處理 包括加載頭文件,定義結(jié)構(gòu)體、常量和變量,并對(duì)它們進(jìn)行初始化工作。 include /*標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù) */ include /*標(biāo)準(zhǔn)函數(shù)庫(kù) */ include /*字符串函數(shù)庫(kù) */ include /*屏幕操作函數(shù)庫(kù) */ define HEADER1 STUDENT \n define HEADER2 | number | name |Comp|Math|Eng | sum | ave |mici | \n define HEADER3 ||||||||| define FORMAT | %10s |%15s|%4d|%4d|%4d| %4d | %.2f |%4d |\n 嵌入式程序課程設(shè)計(jì) 報(bào)告 10 define DATA p,p,p,p,p,p,p,p define END \n int saveflag=0。 /*是否需要存盤(pán)的標(biāo)志變量 */ /*定義與學(xué)生有關(guān)的數(shù)據(jù)結(jié)構(gòu) */ typedef struct student /*標(biāo)記為 student*/ { char num[10]。 char name[15]。 int cgrade。 int mgrade。 int egrade。 int total。 float ave。 int mingci。 }。 /*定義每條記錄或結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),標(biāo)記為: node*/ typedef struct node { struct student data。 /*數(shù)據(jù)域 */ struct node *next。 /*指針域 */ }Node,*Link。 /*Node 為 node 類型的結(jié)構(gòu)變量, *Link 為 node 類型的指針變量 */ 2.主菜單界面 用戶進(jìn)入成績(jī)管理系統(tǒng)時(shí),需要顯示主菜單,提示用戶進(jìn)行選擇,完成相應(yīng)任務(wù)。此代碼被 main()函數(shù)調(diào)用。 void menu() { system(cls)。 /*調(diào)用 DOS 命令,清屏 .與 clrscr()功能相同 */ cprintf( The Students39。 Grade Management System \n)。 cprintf( *************************Menu********************************\n)。 cprintf( * 1 input record 2 delete record *\n)。 cprintf( * 3 search record 4 modify record *\n)。 cprintf( * 5 insert record 6 count record *\n)。 cprintf( * 7 sort reord 8 save record *\n)。 cprintf( * 9 display record 0 quit system *\n)。 嵌入式程序課程設(shè)計(jì) 報(bào)告 11 cprintf( *************************************************************\n)。 /*cprintf()送格式化輸出至文本窗口屏幕中 */ } 3.主函數(shù) main() Main()函數(shù)主要實(shí)現(xiàn)了對(duì)整個(gè)程序的運(yùn)行控制,以及相關(guān)功能模塊的調(diào)用。詳細(xì)分析可參考圖 2。 void main() { Link l。 /*定義鏈表 */ FILE *fp。 /*文件指針 */ int select。 /*保存選擇結(jié)果變量 */ char ch。 /*保存 (y,Y,n,N)*/ int count=0。 /*保存文件中的記錄條數(shù)(或結(jié)點(diǎn)個(gè)數(shù)) */ Node *p,*r。 /*定義記錄指針變量 */ l=(Node*)malloc(sizeof(Node))。 if(!l) { printf(\n allocate memory failure )。 /*如沒(méi)有申請(qǐng)到,打印提示信息 */ return 。 /*返回主界面 */ } lnext=NULL。 r=l。 fp=fopen(C:\\student,ab+)。 /*以追加方式打開(kāi)一個(gè)二進(jìn)制文件,可讀可寫(xiě) ,若此文件不存在,會(huì)創(chuàng)建此文件 */ if(fp==NULL) { printf(\n=====can not open file!\n)。 exit(0)。 } while(!feof(fp)) { p=(Node*)malloc(sizeof(Node))。 if(!p) { printf( memory malloc failure!\n)。 /*沒(méi)有申請(qǐng)成功 */ exit(0)。 /*退出 */ 嵌入式程序課程設(shè)計(jì) 報(bào)告 12 } if(fread(p,sizeof(Node),1,fp)==1) /*一次從文件中讀取一條學(xué)生成績(jī)記錄 */ { pnext=NULL。 rnext=p。 r=p。 /*r 指針向后移一個(gè)位置 */ count++。 } } fclose(fp)。 /*關(guān)閉文件 */ printf(\n=====open file sucess,the total records number is : %d.\n,count)。 menu()。 while(1) { system(cls)。 menu()。 p=r。 printf(\n Please Enter your choice(0~9):)。 /*顯示提示信息 */ scanf(%d,amp。select)。 if(select==0) { if(saveflag==1) /*若對(duì)鏈表的數(shù)據(jù)有修改且未進(jìn)行存盤(pán)操作,則此標(biāo)志為 1*/ { getchar()。 printf(\n=====Whether save the modified record to file?(y/n):)。 scanf(%c,amp。ch)。 if(ch==39。y39。||ch==39。Y39。) Save(l)。 } printf(=====thank you for useness!)。 getchar()。 break。 } switch(select) { case 1:Add(l)。break。 /*增加學(xué)生記錄 */ 嵌入式程序課程設(shè)計(jì) 報(bào)告 13 case 2:Del(l)。break。 /*刪除學(xué)生記錄 */ case 3:Qur(l)。break。 /*查詢學(xué)生記錄 */ case 4:Modify(l)。break。 /*修改學(xué)生記錄 */ case 5:Insert(l)。break。 /*插入學(xué)生記錄 */ case 6:Tongji(l)。break。 /*統(tǒng)計(jì)學(xué)生記錄 */ case 7:Sort(l)。break。 /*排序?qū)W生記錄 */ case 8:Save(l)。break。 /*保存學(xué)生記錄 */ case 9:system(cls)。Disp(l)。break。 /*顯示學(xué)生記錄 */ default: Wrong()。getchar()。break。 /*按鍵有誤,必須為數(shù)值 09*/ } } } 4.表格形式顯示記錄 void Disp(Link l) /*顯示單鏈表 l中存儲(chǔ)的學(xué)生記錄,內(nèi)容為 student結(jié)構(gòu)中定義的內(nèi)容 */ { Node *p。 p=lnext。 /*l存儲(chǔ)的是單鏈表中頭結(jié)點(diǎn)的指針,該頭結(jié)點(diǎn)沒(méi)有存儲(chǔ)學(xué)生信息,指針域指向的后繼結(jié)點(diǎn)才有學(xué)生信息 */ if(!p) /*p==NULL,NUll在 stdlib 中定義為 0*/ { printf(\n=====Not student record!\n)。 getchar()。 return。 } printf(\n\n)。 printheader()。 /*輸出表格頭部 */ while(p) /*逐條輸出鏈表中存儲(chǔ)的學(xué)生信息 */ { printdata(p)。 p=pnext。 /*移動(dòng)至 下一個(gè)結(jié)點(diǎn) */ printf(HEADER3)。 } 嵌入式程序課程設(shè)計(jì) 報(bào)告 14 getchar()。 } 5.記錄查找定位 Node* Locate(Link l,char findmess[],char nameornum[]) { Node *r。 if(strcmp(nameornum,num)==0) /*按學(xué)號(hào)查詢 */ { r=lnext。 while(r) { if(strcmp(r,findmess)==0) /*若找到 findmess 值的學(xué)號(hào) */ return r。 r=rnext。 } } else if(strcmp(nameornum,name)==0) /*按姓名查詢 */ { r=lnext。 while(r) { if(strcmp(r,findmess)==0) /*若找到 findmess 值的學(xué)生姓名 */ return r。 r=rnext。 } } return 0。 /*若未找到, 返回一個(gè)空指針 */ } 6.格式化輸入數(shù)據(jù) void stringinput(char *t,int lens,char *notice) { char n[255]。 do{ printf(notice)。 /*顯示提示信息 */ scanf(%s,n)。 /*輸入字符串 */ if(strlen(n)lens)printf(\n exceed the required length! \n)。 /*進(jìn)行長(zhǎng)度校驗(yàn),超過(guò) lens值重新輸入 */ }while(strlen(n)lens)。 嵌入式程序課程設(shè)計(jì) 報(bào)告 15 strcpy(t,n)。 /*將輸入的字符串拷貝到字符串 t 中 */ } /*輸入分?jǐn)?shù), 0=分?jǐn)?shù) = 100)*/ int numberinput(char *notice) { int t=0。 do{ printf(notice)。 /*顯示提示信息 */ scanf(%d,amp。t)。 /*輸入
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1