




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 程序設(shè)計(jì)綜合實(shí)習(xí)報(bào)告題目:現(xiàn)代教學(xué)管理系統(tǒng):忻學(xué)號(hào): 129074228學(xué)院:計(jì)算機(jī)學(xué)院班級(jí): 軟件 123 班指導(dǎo)老師:王森玉完成日期: 2013/5/22題目:現(xiàn)代化成績(jī)管理系統(tǒng)課程設(shè)計(jì)容簡(jiǎn)介:高校中對(duì)于學(xué)生的考核主要通過考試來進(jìn)行,傳統(tǒng)不通過計(jì)算機(jī)網(wǎng)絡(luò)發(fā)放考試的成績(jī)?nèi)菀壮霈F(xiàn)發(fā)錯(cuò),漏發(fā)等問題,使用計(jì)算機(jī)來解決這個(gè)問題是十分必要的。程序可以在登陸時(shí)選擇登陸身份,并給予不同權(quán)限對(duì)成績(jī)系統(tǒng)進(jìn)行訪問,以達(dá)到教師可修改,可查詢,可記錄;學(xué)生可查詢的目的。設(shè)計(jì)者名稱:忻指導(dǎo)教師意見:指導(dǎo)教師簽名:一、問題定義:4二、可行性研究:4I、項(xiàng)目的由來:4II 、可選方案:4III 、可行
2、性:41、技術(shù)可行性:42、經(jīng)濟(jì)可行性:53、操作可行性:54、法律可行性:5IV 、結(jié)論:5三、需求規(guī)格說明6I、目標(biāo):6II 、數(shù)據(jù)需求:61、數(shù)據(jù)量:62、數(shù)據(jù)定義和結(jié)構(gòu)7III 、功能需求:7四、總體設(shè)計(jì):8I、軟件的結(jié)構(gòu)( HIPO 圖):8五、各模塊詳細(xì)設(shè)計(jì)9I、編譯預(yù)處理模塊9II 、主函數(shù)模塊10III 、browse()函數(shù)模塊10IV 、insert() 函數(shù)模塊11V、deletel ()函數(shù)模塊11VI 、scorein ()函數(shù)模塊12VII 、change()函數(shù)模塊12VIII 、load ()函數(shù)模塊12IX 、save()函數(shù)模塊13X、mima()函數(shù)模塊1
3、3六、程序源代碼14七、程序測(cè)試25I、測(cè)試抓圖:25II 、測(cè)試容:26八、總結(jié)27一、問題定義:現(xiàn)代化的校園對(duì)學(xué)生進(jìn)行考核的主要方式是通過考試, 而傳統(tǒng)的發(fā)布成績(jī)方式存在著不同的問題, 通過計(jì)算機(jī)網(wǎng)絡(luò)可對(duì)這些問題進(jìn)行解決, 包括登陸時(shí)選擇登陸身份, 并給予不同權(quán)限對(duì)成績(jī)系統(tǒng)進(jìn)行訪問, 以達(dá)到教師可修改,可查詢,可記錄;學(xué)生可查詢的目的。二、可行性研究:I、項(xiàng)目的由來:某高校教師需要對(duì)學(xué)生的成績(jī)進(jìn)行管理, 包括學(xué)生信息的錄入, 學(xué)生成績(jī)的錄入,成績(jī)的修改以及學(xué)生的成績(jī)查詢并保存。 學(xué)生需要對(duì)成績(jī)進(jìn)行查詢。II、 可選方案:一、可選用人工進(jìn)行學(xué)生的基本信息的管理,進(jìn)行平時(shí)成績(jī),期末成績(jī)以及總評(píng)
4、成績(jī)的計(jì)算,再人工將成績(jī)發(fā)放到學(xué)生的手中。二、可選用直接從文件進(jìn)行成績(jī)的導(dǎo)入,直接得到學(xué)生的基本信息及考試成績(jī)、總評(píng)成績(jī),或者通過人手工錄入學(xué)生的基本信息及考試成績(jī)、總評(píng)成績(jī)。學(xué)生也可對(duì)其進(jìn)行查找。III、可行性:1、 技術(shù)可行性:學(xué)校每一門學(xué)科的考試人數(shù)都很多, 若每場(chǎng)考試的成績(jī)都需要老師人工計(jì)算并發(fā)布成績(jī), 任務(wù)量大且出錯(cuò)率高。 使用計(jì)算機(jī)自動(dòng)計(jì)算學(xué)生考試成績(jī)的方式大大降低了出錯(cuò)率,而且使用計(jì)算機(jī)省時(shí)省力,方便進(jìn)行成績(jī)的管理及查詢。2、 經(jīng)濟(jì)可行性:利用計(jì)算機(jī)技術(shù), 開發(fā)學(xué)生成績(jī)管理系統(tǒng), 可以重復(fù)使用, 對(duì)學(xué)生的管理很有用,有必要開發(fā)。3、 操作可行性:操作計(jì)算機(jī)簡(jiǎn)單易行,并且不需要花費(fèi)
5、太多的人力。4、 法律可行性:開發(fā)學(xué)生成績(jī)管理系統(tǒng)有利于學(xué)校對(duì)學(xué)生的管理,不違反法律及相關(guān)法規(guī)。IV 、結(jié)論:面對(duì)高校學(xué)生成績(jī)管理的巨大工作量,采用計(jì)算機(jī)的管理是極其必要的,若采用方案 2 的方法不單單可以減少很多的人力使用,使教師的工作量得到大量減少,而且出現(xiàn)錯(cuò)誤的機(jī)率更低, 更能夠直接對(duì)學(xué)生的成績(jī)進(jìn)行管理,方便教師和學(xué)生的成績(jī)的查詢。三、需求規(guī)格說明I、目標(biāo):學(xué)生系學(xué)生系統(tǒng)登統(tǒng)對(duì)陸登陸身請(qǐng)身份驗(yàn)證求份進(jìn)選行擇教師輸入學(xué)處教師理生的信息?;驈奈募?dǎo)入成績(jī)??梢詫?duì)儲(chǔ)對(duì)儲(chǔ)存在鏈教師存在表中的數(shù)據(jù)鏈進(jìn)行修改表中的成績(jī)教師可以選進(jìn)行擇成績(jī)的保訪問存路徑查詢II、 數(shù)據(jù)需求:1、 數(shù)據(jù)量:學(xué)生學(xué)號(hào),姓
6、名,編號(hào)期末成績(jī)平時(shí)成績(jī)平時(shí)、期末成績(jī)比例理 系, 統(tǒng)并 對(duì)將 數(shù)數(shù) 據(jù)據(jù) 進(jìn)記 行錄 記在 錄鏈 以表 及中 處教師的登陸賬戶及密碼,學(xué)生學(xué)號(hào),平時(shí)成績(jī),期末成績(jī),總評(píng)成績(jī)。2、 數(shù)據(jù)定義和結(jié)構(gòu)1 :教師的登陸用= teacher ,密碼= 0000 ;2 :學(xué)號(hào)= 學(xué)生在校自動(dòng)分配的學(xué)號(hào);3 平時(shí)成績(jī)= 教師給學(xué)生所打的平時(shí)分?jǐn)?shù);4 期末成績(jī)=學(xué)生期末考試的成績(jī);5 總評(píng)成績(jī)= 平時(shí)成績(jī)× 平時(shí)成績(jī)所占的比例+ 期末成績(jī)× 期末成績(jī)所占的比例;III、功能需求:1 性能:能快速響應(yīng), 界面顏色多元化,清晰,數(shù)據(jù)對(duì)應(yīng)整齊。 在使用過程中容易操作,錯(cuò)誤操作的次數(shù)少。2 功能
7、:( IPO)輸入處理輸出根據(jù)身份信息登錄權(quán)限記錄給予相應(yīng)的權(quán)身份限學(xué)生的基本信息和總評(píng)成績(jī)輸入相應(yīng)的操作,包括學(xué)生信息、成績(jī)將成績(jī)輸入鏈表中,并自動(dòng)計(jì)算成績(jī)響應(yīng)要求四、總體設(shè)計(jì):I、軟件的結(jié)構(gòu)( HIPO 圖):輸入從文輸件入中學(xué)導(dǎo)生入的學(xué)基生本的信基息本,信成息績(jī),成績(jī)現(xiàn)代化學(xué)生成績(jī)管理系統(tǒng)教師入口學(xué)生入口系統(tǒng)處理輸出將系將鏈將鏈表中表中數(shù)統(tǒng)據(jù)的數(shù)的數(shù)自保動(dòng)據(jù)顯據(jù)顯存計(jì)在示在示在算鏈學(xué)屏幕屏幕表生中上上的,總可評(píng)以成修績(jī)改五、各模塊詳細(xì)設(shè)計(jì)I、編譯預(yù)處理模塊使用的函數(shù)庫(kù):stdio.h 、 windows.h 、 string.h 、conio.h學(xué)生數(shù)據(jù)結(jié)構(gòu)體的聲明:typedef st
8、ruct studentstu包括學(xué)號(hào)num,姓名 name,班級(jí) bclass,平時(shí)分?jǐn)?shù)總評(píng)成績(jī)score,指向下一結(jié)構(gòu)體的score1,期末成績(jī)next 指針score2,選擇學(xué)生或教師函數(shù)聲明int xuanze()教師選單函數(shù)聲明char menu1()學(xué)生選單函數(shù)聲明char menu2()密碼函數(shù)函數(shù)聲明void mima()導(dǎo)入函數(shù)聲明stud*load()查詢函數(shù)聲明stud*search(stud*,int*)導(dǎo)出函數(shù)聲明void save(stud*)成績(jī)錄入函數(shù)聲明void scorein(stud*)插入函數(shù)聲明void insert(stud*)刪除函數(shù)聲明void
9、deletel(stud*)修改函數(shù)聲明void change(stud*)瀏覽函數(shù)聲明void browse(stud*)II、 主函數(shù)模塊定義字符型表頭選擇量 choice1, choice, choice1 用于登錄身份選擇, choice 用于表頭選擇 ; 定義字符型變量 c 用于接收 Y 或 N 的選擇定義 stu 型指針變量head 與 p,用于數(shù)據(jù)鏈表的連接跳轉(zhuǎn) loop 部分Choice1 的值1調(diào)用函數(shù)mima()調(diào)用函數(shù)menu1()Choice 的值2調(diào)用函數(shù)char menu2()調(diào)用函數(shù)menu2()Choice 的值值值值123:調(diào)調(diào)用用printf函函鏈數(shù)數(shù)表中i
10、nsert 的(數(shù)browse()據(jù))值值值值值值值4567890:調(diào)調(diào)調(diào)調(diào)調(diào)將goto用用用用用鏈函函函函函表跳數(shù)數(shù)數(shù)數(shù)數(shù)指轉(zhuǎn)loadsave針deletel重(置change(scorein)()值 1:值 2:printf值 3:將鏈調(diào)用函數(shù)鏈表中的表指針重browse()數(shù)據(jù)置III、browse ()函數(shù)模塊i= 0 , p = head -> nextwhile(p != NULL)輸出鏈表中全部的學(xué)生信息及成績(jī)p = p ->nextIV 、insert() 函數(shù)模塊an,xh10,xm9,bc11,*p,*qwhile(an = Y )p = head,輸入得到學(xué)生
11、的學(xué)號(hào),姓名,班級(jí)。strcmp(xh,0000)while(p->next!=NULL)&&(strcmp(xh,p->next->num)>=0)p=p->nextstrcpy(q->num,xh)strcpy(q->name,xm)strcpy(q->bclass,bc)q->next=p->next;p->next=q繼續(xù)輸入,判斷輸入是否為YV、deletel ()函數(shù)模塊i,xz,n, c,xm9,xh10, st*p,*qp = headif(p->next!=NULL)TF輸入 xzswit
12、ch(xz)值 1:值 2值 3其他輸入學(xué)號(hào)輸入姓名輸入序號(hào)輸出錯(cuò)誤while(p->next!while(p->next!while(p->next!=NULL&&i<=NULL&&str=NULL&&strcmp(xh,p->necmp(xm,p->nen)xt->num)!=0)xt->name)!=0)p=p->nextp=p->nextp=p->nextq= p-> nextTif(q = NULL)F輸出未找到數(shù)據(jù)確認(rèn)是否刪除數(shù)據(jù),p->next=q->
13、;next , free(q)VI 、scorein ()函數(shù)模塊i=0psqm*pp=head->next輸入平時(shí)成績(jī)所占的百分比qm=100-pswhile(p!=NULL)輸入平時(shí)成績(jī),期末成績(jī)計(jì)算總評(píng)成績(jī):p->score=p->score1*ps/100+p->score2*qm/100p=p->nextVII 、 change ()函數(shù)模塊i=0xzxy*pwhile(!p)p=search(head,&i)Tif(p)F輸出找到的數(shù)據(jù)輸出未找到VIII 、 load ()函數(shù)模塊*fpfn12*head,*p,*q從文件中進(jìn)行導(dǎo)入if(fp=
14、fopen(fn,"rb")=NULL)T輸出打開文件時(shí)發(fā)生錯(cuò)誤并退出Fwhile(! feof(fp)Tif(fread(p,sizeof(stud),1,fp)=1)Fp->next=q->nextq->next=p;q=pIX 、save ()函數(shù)模塊*fpfn12 *p從文件中進(jìn)行導(dǎo)入if(fp=fopen(fn,"wb")=NULL)TF輸出打開文while(p!=NULL)件時(shí)發(fā)生錯(cuò)if(fwrite(p,sizeof(stud),1,fp)!=1)誤并退出TF輸出文件打開錯(cuò)誤p=p->nextX、mima ()函數(shù)模
15、塊inname8name121Tif(i>0)Ti-輸出“退格”輸出“空格退格”continueTbreakpassword121flag1flag2 ,輸入用戶名,密碼for(i = 0; i < 20;)*(password1 + i) = getch()if(*(password1 + i) = 'b')FFif(*(password1 + i) = 'r')Fi+printf("*")*(password1 + i) = '0'flag2 = strcmp(password,password1)Tif(fl
16、ag1 = 0&&flag2 = 0)F登陸成功登陸失敗六、程序源代碼#include<stdio.h>#include<string.h>#include<stdlib.h>#include<windows.h>#include<conio.h>typedef struct stchar num10,name9,bclass11; float score1,score2,score;/學(xué)號(hào)、班級(jí)/ 平時(shí)成績(jī)、期末成績(jī)、總評(píng)成績(jī)struct st*next;stud;int xuanze();char menu1();
17、char menu2();void mima();stud*load();/ 選擇學(xué)生或教師/ 教師選單/ 學(xué)生選單/ 密碼函數(shù)/ 導(dǎo)入stud*search(stud*,int*);/查詢void save(stud*);void scorein(stud*);void insert(stud*);/ 導(dǎo)出/ 成績(jī)錄入/ 插入void deletel(stud*);/刪除void change(stud*);/ 修改void browse(stud*);/瀏覽/*int main(void)char choice1, choice, c;int i;stud *head,*p;head=(s
18、tud*)malloc(sizeof(stud);head->next=NULL;/準(zhǔn)備好表頭loop:choice1 = xuanze();if(choice1 = 1)/ 進(jìn)入選擇系統(tǒng)mima();while(1)/密碼函數(shù)choice=menu1();/教師系統(tǒng)的表頭switch(choice)case '1':system("cls");printf(" 瀏覽成績(jī)情況。n");browse(head);getchar();break;case '2':system("cls");print
19、f(" 插入學(xué)生成績(jī)。n");insert(head);break;case '3':system("cls");printf(" 查詢學(xué)生成績(jī)。n");p=search(head,&i);if(p!=NULL)/輸出數(shù)據(jù)printf("%2d%10s %8s %10s",i,p->num,p->name,p->bclass);printf("%5.1f%5.1f%5.1f",p->score1,p->score2,p->score);
20、else printf(" 未找到! ");break;case '4':system("cls");printf(" 刪除學(xué)生記錄。n");deletel(head);break;case '5':system("cls");printf(" 學(xué)生成績(jī)錄入。n");scorein(head);break;case '6':system("cls");printf(" 修改學(xué)生記錄。n");change(he
21、ad);break;case '7':system("cls");printf(" 從文件中將成績(jī)情況導(dǎo)入鏈表。head=load();break;case '8':system("cls");printf(" 將鏈表中成績(jī)情況保存到文件。save(head);break;case '9':system("cls");printf(" 系統(tǒng)初始化。n");head=(stud*)malloc(sizeof(stud);head->next=N
22、ULL;printf("%d%dn",head,head->next);break;case '0':system("cls");n");n");printf(" 返回上一級(jí) n");printf(" 是否保存當(dāng)前數(shù)據(jù)到文件?(Y/N):");c=toupper(getchar();getchar();if(c='Y')save(head);elsesystem("cls");goto loop;break;default:printf(
23、" 輸入錯(cuò)誤! ");if(choice = '0')break;printf("n按任意鍵繼續(xù).!");getchar();if(choice1 = 2)/ 學(xué)生系統(tǒng)的表頭while(1)choice=menu2();switch(choice)case '1':system("cls");printf(" 瀏覽成績(jī)情況。n");browse(head);getchar();break;case '2':system("cls");printf(
24、" 查詢學(xué)生成績(jī)。n");p=search(head,&i);if(p!=NULL)/輸出數(shù)據(jù)printf("%2d%10s %8s %10s",i,p->num,p->name,p->bclass);printf("%5.1f%5.1f%5.1f",p->score1,p->score2,p->score);else printf(" 未找到! ");break;case '3':system("cls");goto loop;def
25、ault:printf(" 輸入錯(cuò)誤! ");if(choice = '3')break;printf("n 按任意鍵繼續(xù).!");getchar();if(choice1 = 3)printf("Goodbay!");exit(0);/*int xuanze()int choice;system("color 21");printf(" 你好!請(qǐng)選擇入口:n");printf("1. 老師入口 n2.學(xué)生入口 n3.退出系統(tǒng) n 請(qǐng)選擇: "); scanf
26、("%d", &choice);fflush(stdin);return choice;char menu1()/ 教師表頭char c;system("cls");system("color 31");printf("nnnnnn= 成績(jī)管理系統(tǒng) =n");printf("-n");printf("1.瀏覽成績(jī)情況 n");printf("2.插入成績(jī)學(xué)生 n");printf("3.查詢成績(jī)學(xué)生 n");printf(&qu
27、ot;4.刪除學(xué)生記錄 n");printf("5.學(xué)生成績(jī)錄入 n");printf("6.修改學(xué)生記錄 n");printf("7.將文件中成績(jī)情況導(dǎo)入到鏈表n");printf("8.將鏈表中成績(jī)情況導(dǎo)出到文件n");printf("9.系統(tǒng)初始化 n");printf("0.返回上一級(jí) n");printf("nn請(qǐng)選擇。 nnnn");c=getchar();getchar();return c;char menu2()/ 學(xué)生表頭ch
28、ar c;system("cls");system("color 34");printf("nnnnnn= 成績(jī)管理系統(tǒng) =n");printf("-n");printf("1.瀏覽成績(jī)情況 n");printf("2.查詢學(xué)生成績(jī) n");printf("3.返回上一級(jí) n");printf("nn請(qǐng)選擇。 nnnn");c=getchar();getchar();return c;void browse(stud*head)/將鏈表
29、中各個(gè)結(jié)點(diǎn)數(shù)據(jù)依次輸出int i=0;stud * p;p=head->next;printf(" 序號(hào)while(p!=NULL)學(xué)號(hào)/工作指針/指向首結(jié)點(diǎn)班級(jí)平時(shí)成績(jī)期末成績(jī)總評(píng)成績(jī)/指針不空n");printf(" %2d%-10s%-8s%-10s",+i,p->num,p->name,p->bclass);printf("%5.1f%5.1f%5.1fn",p->score1,p->score2,p->score);p=p->next;/工作指針p 移動(dòng)/*void inser
30、t(stud*head)/插入新結(jié)點(diǎn),并使鏈表各結(jié)點(diǎn)按學(xué)號(hào)升序排列char an,xh10,xm9,bc11;stud*p,*q;dop=head;printf(" 請(qǐng)輸入學(xué)生的學(xué)號(hào)、 、班級(jí): n");gets(xh);gets(xm);gets(bc);/輸入數(shù)據(jù)if(!strcmp(xh,"0000")return;/以“ 0000“作為結(jié)束標(biāo)記while(p->next!=NULL)&&(strcmp(xh,p->next->num)>=0)p=p->next;/查找新結(jié)點(diǎn)的插入位置q=(stud*)
31、malloc(sizeof(stud);/生成新結(jié)點(diǎn)由q 指向strcpy(q->num,xh);/ 把數(shù)據(jù)送入新結(jié)點(diǎn)strcpy(q->name,xm);strcpy(q->bclass,bc);q->next=p->next;p->next=q;/ 吧新結(jié)點(diǎn)插入鏈表printf(" 繼續(xù)嗎? ");an=toupper(getchar();getchar();while(an='Y');/*stud*search(stud*head,int*i)/在鏈表中按或?qū)W號(hào)進(jìn)行查找 int xz;char xh10,xm9;st
32、ud*p; /工作指針 p=head->next;*i=1;/指向首結(jié)點(diǎn)printf("1. 按查找 0.按學(xué)號(hào)查找 n");scanf("%d",&xz);getchar();if(xz)printf(" 請(qǐng)輸入學(xué)生: n");gets(xm);/ 輸入while(p!=NULL&&strcmp(xm,p->name)!=0)/ 按查找p->next;(*i)+;elseprintf(" 請(qǐng)輸入學(xué)生: n");gets(xh);/輸入學(xué)號(hào)while(p!=NULL&
33、;&strcmp(xh,p->num)!=0)/ 按學(xué)號(hào)查找p=p->next;(*i)+;return p;/*void deletel(struct st*head)/刪除結(jié)點(diǎn)int i,xz,n;char c,xm9,xh10;struct st*p,*q;p=head;/ 工作指針/ 指針p 指向頭結(jié)點(diǎn)if(p->next!=NULL)printf("1. 按學(xué)號(hào)刪除 scanf("%d",&xz);2.按刪除3.按序號(hào)刪除n");switch(xz)case 1:printf(" 請(qǐng)輸入學(xué)生學(xué)號(hào):n&
34、quot;);getchar();gets(xh);/ 輸入學(xué)號(hào)while(p->next!=NULL&&strcmp(xh,p->next->num)!=0)/ 按學(xué)號(hào)查找p=p->next;break;case 2:printf(" 請(qǐng)輸入學(xué)生:n");getchar();gets(xm);/ 輸入while(p->next!=NULL&&strcmp(xm,p->next->name)!=0)/ 按學(xué)號(hào)查找 p=p->next;break;case 3:printf(" 請(qǐng)輸入序
35、號(hào):n");i=1;scanf("%d",&n);getchar();/ 輸入序號(hào)while(p->next!=NULL&&i<n)/ 查找第n 個(gè)結(jié)點(diǎn)p=p->next;i+;break;default:printf(" 選擇錯(cuò)誤! n");return;q=p->next;/ 指針 q 指向 p 的直接后繼if(q=NULL)printf(" 未找到指定結(jié)點(diǎn),沒有執(zhí)行刪除!n");return;printf("%-10s%-8s請(qǐng)確認(rèn)( Y/N ) ",
36、q->num,q->name);c=getchar();getchar();if(tolower(c)='y')p->next=q->next;/ 把結(jié)點(diǎn)從鏈表中刪除free(q);return;/ 釋放 q 所指的結(jié)點(diǎn)printf(" 無結(jié)點(diǎn)可刪除!n");/*void scorein(stud*head)/依次給鏈表中各結(jié)點(diǎn)的數(shù)據(jù)錄入成績(jī) int i=0;int ps,qm;stud*p;/ 工作指針p=head->next;/指向首結(jié)點(diǎn)printf(" 請(qǐng)輸入平時(shí)成績(jī)?cè)诳傇u(píng)成績(jī)中所占的百分比:n");s
37、canf("%d",&ps);qm=100-ps;while(p!=NULL)printf("%2d%10s%8s%10sn",+i,p->num,p->name,p->bclass);printf(" 平時(shí)成績(jī)期末成績(jī):");scanf("%f%f",&p->score1,&p->score2);/錄入平時(shí)成績(jī)和期末成績(jī)p->score=p->score1*ps/100+p->score2*qm/100;/ 計(jì)算出總評(píng)成績(jī) printf(&q
38、uot;%5.1ft%5.1ft%5.1fn",p->score1,p->score2,p->score);p=p->next;/ 工作指針p 移動(dòng)getchar();/*void change(stud*head)/對(duì)鏈表中指定結(jié)點(diǎn)的數(shù)據(jù)進(jìn)行修改 int i=0,xz;float x,y;stud*p;/ 工作指針dop=search(head,&i);if(p)/查找要修改的結(jié)點(diǎn)printf("%2d%10s%8s%10s",i,p->num,p->name,p->bclass);printf("%5
39、.1f%5.1f%5.1fn",p->score1,p->score1,p->score);else printf(" 未找到! n");while(!p);printf(" 哪部分信息? n");printf("1. 修改學(xué)號(hào) n");printf("2. 修改 n");printf("3. 修改班級(jí) n");printf("4. 修改平時(shí)成績(jī) n");printf("5. 修改期末成績(jī) n");printf("0.
40、 不修改 n");scanf("%d",&xz);getchar();switch(xz)case 1:printf(" 請(qǐng)重新輸入學(xué)號(hào):");gets(p->num);break;case 2:printf(" 請(qǐng)重新輸入:");gets(p->name);break;case 3:printf(" 請(qǐng)重新輸入班級(jí):");gets(p->bclass);break;case 4:x=p->score1/p->score;y=1-x;/計(jì)算平時(shí)和期末在總評(píng)成績(jī)中所占比
41、例printf("請(qǐng)重新輸入平時(shí)成績(jī):");p->score=x*p->score1+y*p->score2;/ 重新計(jì)算總評(píng)成績(jī)break;printf("%2d%10s %8s %10s",i,p->num,p->name,p->bclass); printf("%5.1f %5.1f %5.1f",p->score1,p->score2,p->score);/*stud*load()/ 從文件中將成績(jī)情況導(dǎo)入到鏈表FILE*fp;char fn12;stud*head,*p,
42、*q;puts("從哪個(gè)文件中將成績(jī)情況導(dǎo)入:");gets(fn);if(fp=fopen(fn,"rb")=NULL)printf("can't open file");exit(0);q=head=(stud*)malloc(sizeof(stud);q->next=NULL;while(! feof(fp)p=(stud*)malloc(sizeof(stud);if(fread(p,sizeof(stud),1,fp)=1)p->next=q->next;q->next=p;q=p;fclos
43、e(fp);return head;/*void save(stud*head)/ 將鏈表中成績(jī)情況保存到文件FILE*fp;char fn12;stud*p;puts("將成績(jī)情況導(dǎo)出到哪個(gè)文件中:");gets(fn);p=head->next;if(fp=fopen(fn,"wb")=NULL)printf("can't open file");exit(0);while(p!=NULL)if(fwrite(p,sizeof(stud),1,fp)!=1)printf("file write error!n");break;p=p->next;fclose(fp);void mima()/ 密碼函數(shù)register int i,n;char name8 = &q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津市紅橋區(qū)復(fù)興中學(xué)2025年初三4月中考復(fù)習(xí)質(zhì)量監(jiān)測(cè)卷(七)物理試題含解析
- 江西服裝學(xué)院《大學(xué)英語非藝術(shù)類》2023-2024學(xué)年第一學(xué)期期末試卷
- 西藏林芝二中2024-2025學(xué)年高三第三次模擬考試試題英語試題含解析
- 浙江樹人學(xué)院《建筑結(jié)構(gòu)設(shè)計(jì)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州旅游職業(yè)學(xué)院《計(jì)算機(jī)視覺基礎(chǔ)及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 中南林業(yè)科技大學(xué)《中外劇作家及作品研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 臨沂科技職業(yè)學(xué)院《建筑工程制圖與識(shí)圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省濱州市三校聯(lián)考2024-2025學(xué)年高三下學(xué)期動(dòng)態(tài)性教學(xué)質(zhì)量檢測(cè)試題考前適應(yīng)卷物理試題含解析
- 上饒幼兒師范高等??茖W(xué)校《物流專業(yè)英語》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東司法警官職業(yè)學(xué)院《建筑設(shè)備基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 基礎(chǔ)醫(yī)學(xué)題庫(kù)(含參考答案)
- 2024年中考語文試題分類匯編:非連續(xù)性文本閱讀(教師版)
- 中建質(zhì)量樣板實(shí)施方案
- 20以內(nèi)進(jìn)位退位加減法計(jì)算題-
- 川教版四年級(jí)《生命.生態(tài).安全》下冊(cè)全冊(cè) 課件
- 混凝土路面工程監(jiān)理實(shí)施細(xì)則
- 2024年西式面點(diǎn)師(技師)試題庫(kù)及答案
- 納米材料在紡織的應(yīng)用
- 《政府購(gòu)買動(dòng)物防疫社會(huì)化服務(wù)管理規(guī)范(征求意見稿)》
- 2024年四川省巴中市中考道德與法治試卷真題(含答案解析)
- 2024年北京中考地理試卷
評(píng)論
0/150
提交評(píng)論