![學(xué)生成績記錄簿管理系統(tǒng)課程設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/c82f58fb-df6e-40bc-940e-51078e3e40d8/c82f58fb-df6e-40bc-940e-51078e3e40d81.gif)
![學(xué)生成績記錄簿管理系統(tǒng)課程設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/c82f58fb-df6e-40bc-940e-51078e3e40d8/c82f58fb-df6e-40bc-940e-51078e3e40d82.gif)
![學(xué)生成績記錄簿管理系統(tǒng)課程設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/c82f58fb-df6e-40bc-940e-51078e3e40d8/c82f58fb-df6e-40bc-940e-51078e3e40d83.gif)
![學(xué)生成績記錄簿管理系統(tǒng)課程設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/c82f58fb-df6e-40bc-940e-51078e3e40d8/c82f58fb-df6e-40bc-940e-51078e3e40d84.gif)
![學(xué)生成績記錄簿管理系統(tǒng)課程設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/c82f58fb-df6e-40bc-940e-51078e3e40d8/c82f58fb-df6e-40bc-940e-51078e3e40d85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1需求分析1.1研究背景教育信息化必將涉及許多具體的技術(shù)和機器在教育中的應(yīng)用,它使得一些人往往以技術(shù)論,機器論的觀點來認識教育信息化的目的,認為教育信息化就是以機器代替教師講課,代替教育寫板書 ,就是以電子教材代替印刷教材,就是實現(xiàn)網(wǎng)上學(xué)習(xí),并以代替性、省力性、順利性、效率性作為評價教育信息化的尺度。而成績管理系統(tǒng)將大大的提高老師的管理效率,使得老師可以針對學(xué)生的具體情況進行深入教育,培養(yǎng)跨世紀(jì)的創(chuàng)新人才,是實現(xiàn)教育的現(xiàn)代化。教育信息化應(yīng)以新的教育思想、教育觀念指導(dǎo)信息技術(shù)在教育的各個部門、各個領(lǐng)域廣泛應(yīng)用,應(yīng)根據(jù)創(chuàng)新人才培養(yǎng)的要求,利用信息技術(shù),探索新的教育模式,促進教育現(xiàn)代化。只有在這樣的
2、基礎(chǔ)上指導(dǎo)信息技術(shù)的教育應(yīng)用,才是我們所需要的教育信息化。也就相應(yīng)產(chǎn)生了對學(xué)生成績的高效管理。1.2課題研究的目的及意義 現(xiàn)在我國各院高校的學(xué)生成績管理水平普遍不高,有的還停留在紙質(zhì)基礎(chǔ)上,這種管理手段已不能適應(yīng)時代的發(fā)展,因為它浪費了許多的人力和物力。在當(dāng)今信息時代這種傳統(tǒng)的管理方法必然會被計算機為基礎(chǔ)的信息管理系統(tǒng)所代替。成績管理系統(tǒng)提供了強大的管理功能,方便管理員對考試成績等信息的添加、修改、刪除、查詢、分類等操作。本系統(tǒng)將提高管理人員的工作效率和工作質(zhì)量。如今,計算機網(wǎng)絡(luò)帶動了全球信息化得進程。在高校中,信息化帶來的傳統(tǒng)教學(xué)、科研模式的變化,需要新的管理機制:以信息技術(shù)為手段的校務(wù)管理
3、,也需要新的機制,即需要一個數(shù)字化的校園(Digital Campus)。數(shù)字校園的建設(shè)也是高校信息化的重要組成部分。成績管理是學(xué)校管理中的異常重要的一個環(huán)節(jié),作為學(xué)校,除了育人,就是與育知,學(xué)生成績管理的計算機化是整個學(xué)校教務(wù)管理中的重要一部分,能否實現(xiàn)這一步關(guān)系到學(xué)校辦學(xué)整體效率的高低,在于它的重要性,學(xué)生成績管理系統(tǒng)的開發(fā)與應(yīng)用就逐漸提入議程,并占著重要的分量。運用成績管理系統(tǒng)可以減輕學(xué)院教學(xué)人員的工作量,加快查詢速度,加強管理,以及國家各部門關(guān)于信息化的步伐,是各項管理更加規(guī)范化。同時也可以是學(xué)生能夠盡快知道自己的考試成績,投入新的課程的學(xué)習(xí)或復(fù)習(xí)。并且也可為高校教育在未來市場的競爭力
4、的提高打下堅實的基礎(chǔ)。1.3課題要求1.以線性鏈表存儲包括學(xué)號、姓名、c語言成績的學(xué)生信息。2.在程序執(zhí)行過程中,根據(jù)輸出的提示信息,通過鍵盤輸入程序中的運算命令;相應(yīng)的輸入數(shù)據(jù)和運算結(jié)果顯示在其后。3.程序執(zhí)行命令包括:<1>.輸入學(xué)生信息<2>.顯示全部信息<3>.查詢學(xué)生信息<4>.刪除學(xué)生信息<5>.插入學(xué)生信息<6>.修改學(xué)生信息<7>.顯示分類信息<0>.退出系統(tǒng)2概要設(shè)計2.1 抽象數(shù)據(jù)類型定義為實現(xiàn)上述程序功能,以線性鏈表為存儲結(jié)構(gòu),為此,進行抽象數(shù)據(jù)類型定義:ADT Student
5、 數(shù)據(jù)對象:D=e1,e2,e3|e1,e2,e3student(儲存學(xué)生信息的結(jié)構(gòu)體)數(shù)據(jù)關(guān)系:R=<e1,e2,e3>基本操作P:creatList(&L)操作結(jié)果:構(gòu)造一個空的線性鏈表。 getelem(L,e ,&p);初始條件:線性鏈表L已存在。操作結(jié)果:在L中查找含有e元素的p節(jié)點是否存在,若存在則返回OK,否則返回ERROR。input(&L);初始條件:線性鏈表L已存在。操作結(jié)果:向鏈表尾插入新節(jié)點信息。 all(&L);初始條件:線性鏈表L已存在。操作結(jié)果:顯示線性鏈表L的所有節(jié)點信息。 list(&L);初始條件:線性鏈表
6、L已存在。操作結(jié)果:查詢是否存在給定信息的節(jié)點,若存在則返回OK,否則返回ERROR。 dele(&L);初始條件:線性鏈表L已存在。操作結(jié)果:刪除給定信息的節(jié)點,若成功則返回OK,否則返回ERROR。 append(&L);初始條件:線性鏈表L已存在。操作結(jié)果:在給定的信息節(jié)點后插入所輸入的信息節(jié)點,若成功則返回OK,否則返回ERROR。 modify(&L);初始條件:線性鏈表L已存在。操作結(jié)果:查詢所輸入的信息結(jié)點,并修改其信息。classify(&L);初始條件:線性鏈表L已存在。操作結(jié)果:按照給定的條件將所有結(jié)點信息分類,并輸出各類別信息。 ADT S
7、tudent2.2 程序流程圖開始 NO輸入口令 主菜單 NO 選擇的序號是否符合要求 Yes修改學(xué)生信息退出系統(tǒng)顯示分類信息插入學(xué)生信息刪除學(xué)生信息查詢學(xué)生信息顯示全部信息輸入學(xué)生信息3詳細設(shè)計3.1 存儲結(jié)構(gòu)及方式本系統(tǒng)得學(xué)生信息采用結(jié)構(gòu)體student定義,并用單鏈表存儲: typedef struct studentchar num13;/學(xué)號char name15;/姓名int score;/c語言成績student;typedef struct node student data;/數(shù)據(jù)域 struct node *next;/指針域stunode,*pstunode;3.2 主要
8、的功能函數(shù)1,輸入學(xué)生信息:調(diào)用函數(shù)Status input(pstunode &head),首先判斷輸入的合法性,后將該條信息添加到鏈表尾部,用于選擇是否繼續(xù)輸入,否則返回主菜單。其代碼如: Status input(pstunode &head)/輸入學(xué)生信息 system("cls"); char m;while(m='y'|m='Y');return OK; 2,顯示全部學(xué)生信息:調(diào)用函數(shù)Status all(pstunode &head),其代碼如: Status all(pstunode &head
9、)/顯示全部信息 system("cls"); pstunode p; system("pause"); return OK; 3,查詢學(xué)生信息:調(diào)用函數(shù)Status list(pstunode &head),提示輸入要查詢的學(xué)生學(xué)號,并判斷其合法性,后將信息輸出,并退出返回主菜單。代碼如: Status list(pstunode &head)/查詢學(xué)生信息 system("cls"); char num313; system("pause"); return OK;4,刪除學(xué)生信息:調(diào)用函數(shù)St
10、atus dele(pstunode &head),提示輸入要刪除的學(xué)生學(xué)號,判斷其是否存在,若存在則將其從鏈表中刪除,提示刪除成功后退出并返回主菜單。代碼如: Status dele(pstunode &head)/刪除學(xué)生信息system("cls");char num113;system("pause");return OK;5,插入學(xué)生信息:調(diào)用函數(shù)Status append(pstunode &head),提示輸入學(xué)生學(xué)號,判斷其合法性,然后輸入要插入的學(xué)生信息,并將其插入該節(jié)點之后,退出并返回主菜單。代碼如: Stat
11、us append(pstunode &head)/插入學(xué)生信息system("cls");system("pause");return OK;6,修改學(xué)生信息:調(diào)用函數(shù)Status modify(pstunode &head),提示輸入要修改的學(xué)生學(xué)號,驗證合法性后進行修改,修改成功退出并返回主菜單。其代碼如: Status modify(pstunode &head)/修改學(xué)生信息system("cls"); system("pause");return OK;7,顯示分類信息:調(diào)用函數(shù)
12、Status classify(pstunode &head),按照60分以下、6079分、8089分、90分以上進行學(xué)生信息分類,并顯示。其代碼如: Status classify(pstunode &head)/顯示分類信息 system("cls"); system("pause"); return OK;8,查找學(xué)生信息:調(diào)用函數(shù)Status getelem(pstunode head,char number11,pstunode &p)。其代碼如: Status getelem(pstunode head,char nu
13、mber11,pstunode &p)/查找學(xué)生信息p=head->next;return OK;9,保存學(xué)生信息:調(diào)用函數(shù)Status save(pstunode &head),將輸入的全部信息保存在c盤下的sort文件中。其代碼如: Status save(pstunode &head)/保存學(xué)生信息ofstream out; out.open("c:sort.txt"); for(pstunode p=head->next;p;p=p->next) out<<p->data.num<<"
14、t"<<p-><<"t"<<p->data.score<<endl; out.close(); return OK;10,讀文件:調(diào)用函數(shù)Status start(pstunode &head),在c盤下查找sort文件,并將數(shù)據(jù)讀入。其代碼如: Status start(pstunode &head)/讀文件 pstunode p,q; system("pause"); return OK;4 調(diào)試分析經(jīng)過一周的代碼編寫與調(diào)試,我終于將各個模塊整合了
15、起來,在這個過程中,我遇到了很多問題,如數(shù)據(jù)未定義,括號不匹配,漏掉分號等簡單語法錯誤,同時也有如循環(huán)條件判斷錯誤導(dǎo)致死循環(huán),指針使用前未賦值導(dǎo)致系統(tǒng)報錯,邏輯錯誤而無法產(chǎn)生正確結(jié)果等較復(fù)雜情況。但經(jīng)過自己的不斷查閱資料,不斷重新編寫終于解決了這些問題。同時考慮到程序的健壯性要求,我增加了該系統(tǒng)對不合法數(shù)據(jù)的識別功能,并能夠及時反饋給用戶。每一件事,過程才是最美好的,我寫完一個功能模塊,進行不斷調(diào)試,當(dāng)看到期待的結(jié)果展現(xiàn)在面前時,由衷的喜悅溢于言表;特別當(dāng)所有功能模塊整合到一塊后,經(jīng)過調(diào)試能被主函數(shù)成功調(diào)用時,那感覺太妙了??偟膩碚f,本次課程設(shè)計,令人受益匪淺。對數(shù)據(jù)結(jié)構(gòu)這門課程學(xué)習(xí)了很多理論
16、知識,但是理論與實踐的距離很大,開始時對結(jié)構(gòu)體,對鏈表的體會只是在意識層面,而通過這次課程設(shè)計,真真正正的運用它們來儲存學(xué)生信息時,我才認識到它們都是很好的工具,仿佛也有了可觸的感覺。同時,我也深深體會到自己的C語言知識還是那么淺薄,而這次也讓自己動手能力和獨立思考能力有了很大的提高。5 用戶手冊1. 本程序的運行環(huán)境為WINDOWS操作系統(tǒng),運行軟件為Microsoft Visual C+;2. 開始運行程序,輸入登錄密碼“ting”,開始進入主菜單。3. 若用戶首次登陸,則應(yīng)首先進行學(xué)生信息錄入,否則即可按照主菜單的選項選擇所要執(zhí)行功能,須進行合法的數(shù)據(jù)輸入。4. 當(dāng)輸入1,則進行學(xué)生信息
17、輸入操作,按要求輸入學(xué)號(小于12位整數(shù)),姓名(小于15的字符串),每次均用回車鍵結(jié)束輸入。5. 當(dāng)輸入2,則顯示已錄入全部學(xué)生信息。6. 當(dāng)輸入3,則進行學(xué)生信息查詢操作,用戶需要輸入所要查詢學(xué)生的學(xué)號或姓名,若該學(xué)生信息存在,則系統(tǒng)會顯示該學(xué)生的全部信息。7. 當(dāng)輸入4,則進行刪除學(xué)生信息操作,用戶需要輸入所要刪除的學(xué)生學(xué)號,若該學(xué)號存在,系統(tǒng)會將其刪除。8. 當(dāng)輸入5,則進行插入學(xué)生信息操作,該操作是在已經(jīng)錄入的一位學(xué)生后插入新學(xué)生信息。用戶需要首先輸入該已錄入的學(xué)生學(xué)號,后輸入新學(xué)生信息。9. 當(dāng)輸入6,則進行修改學(xué)生信息操作,用戶需要輸入需要修改的學(xué)生學(xué)號或姓名,若該學(xué)生信息存在,
18、則會提示繼續(xù)輸入修改信息,否則退出返回主菜單。10. 當(dāng)輸入7,則按照c語言成績將學(xué)生信息以60分以下、6079分、8089分、90分以上等級別進行分類并顯示。11. 當(dāng)輸入0,則退出系統(tǒng),并保存最終的所有學(xué)生信息,程序運行完畢。6 測試數(shù)據(jù)及結(jié)果1,使用密碼,首次進入學(xué)生記錄簿信息管理系統(tǒng):2,進入系統(tǒng)界面,對不合法輸入做出判斷:3,選擇1,輸入學(xué)生信息,并對不合法輸入作出判斷:4,顯示全部信息:5,查詢學(xué)生信息:6,刪除學(xué)生信息,并對不合法輸入作出判斷,后顯示結(jié)果:7,插入學(xué)生信息,后顯示結(jié)果:8,修改學(xué)生信息,對不合法輸入做出判斷,后顯示結(jié)果:9,顯示分類信息:10,退出系統(tǒng)并保存信息,
19、所輸入信息將保存在C盤下的sort文件下。 參考文獻1 嚴蔚敏,吳偉民編著. 數(shù)據(jù)結(jié)構(gòu)(C語言版). 北京:清華大學(xué)出版社,1997.042 孟愛國,左利芳,謝中科等編著.C語言程序設(shè)計.上海:復(fù)旦大學(xué)出版社,2010.23 馬春江, 李慧勇, 孟繁軍編著. 新編數(shù)據(jù)結(jié)構(gòu)教程.北京: 中國電力出版社,20064 孫淑霞,肖陽春,魏琴等.C/C+程序設(shè)計教程(第2版)。北京:電子工業(yè)出版社,2007.035 譚浩強。C+程序設(shè)計。北京:清華大學(xué)出版社,2004,066 朱戰(zhàn)立編著.數(shù)據(jù)結(jié)構(gòu)使用C+語言.西安:西安電子科技大學(xué)出版社,2001.27 繆淮扣,顧訓(xùn)穰,沈俊編著.數(shù)據(jù)結(jié)構(gòu):C+實現(xiàn).北
20、京:科學(xué)出版社,2002附錄 源代碼程序#include <fstream.h>#include "iostream.h"#include "string.h"#include <conio.h>#include "iomanip.h"#include "stdlib.h"#define ERROR 0#define OK 1#define N 2typedef int Status;typedef struct studentchar num13;/學(xué)號char name15;/姓名int
21、 score;/c語言成績student;typedef struct node student data;/數(shù)據(jù)域 struct node *next;/指針域stunode,*pstunode;Status getelem(pstunode head,char number11,pstunode &p);/查找學(xué)生信息Status input(pstunode &head);/輸入學(xué)生信息Status all(pstunode &head);/顯示全部信息Status list(pstunode &head);/查詢學(xué)生信息Status dele(pstun
22、ode &head);/刪除學(xué)生信息Status append(pstunode &head);/插入學(xué)生信息Status modify(pstunode &head);/修改學(xué)生信息Status classify(pstunode &head);/顯示分類信息void password()/使用密碼進入 char str17; system("cls"); cout<<endl<<endl<<endl; cout<<setw(30)<<"請輸入口令:" cin&
23、gt;>str1; cout<<endl<<endl<<endl; if (strcmp(str1,"ting")!=0) cout<<setw(40)<<"口令不正確!請重新輸入!n" system("pause"); password(); return;char menu()/主菜單 system("cls");int n=1;char select;cout<<endl<<endl<<endl;cout&l
24、t;<setw(19)<<""<<"*主菜單*"<<endl<<endl;cout<<setw(26)<<""<<n+<<".輸入學(xué)生信息"<<endl<<endl;cout<<setw(26)<<""<<n+<<".顯示全部信息"<<endl<<endl;cout<<
25、setw(26)<<""<<n+<<".查詢學(xué)生信息"<<endl<<endl; cout<<setw(26)<<""<<n+<<".刪除學(xué)生信息"<<endl<<endl; cout<<setw(26)<<""<<n+<<".插入學(xué)生信息"<<endl<<endl; cou
26、t<<setw(26)<<""<<n+<<".修改學(xué)生信息"<<endl<<endl;cout<<setw(26)<<""<<n+<<".顯示分類信息"<<endl<<endl;cout<<setw(26)<<""<<"0.退出系統(tǒng)"<<endl<<endl<<e
27、ndl;cout<<setw(22)<<""<<"請選擇:"cin>>select;if(select>='0'&&select<='7'); elsecout<<endl<<setw(26)<<"非法數(shù)據(jù)!請重新輸入!"system("pause");select=menu();return select; char Exit()/退出系統(tǒng) system("cl
28、s");char s;cout<<setw(36)<<"確定退出系統(tǒng)請輸入"Y"或"y" "<<endl;cin>>s;return s; void creatList(pstunode &head)/建立帶表頭空鏈表 head=(pstunode)malloc(sizeof(stunode); if(!head) exit(0); head->next=NULL; Status input(pstunode &head)/輸入學(xué)生信息 system(&q
29、uot;cls"); char m; char s50; int i,k; pstunode p,q,frist,last; for(q=head;q->next;q=q->next);last=q;dofrist=( pstunode)malloc(sizeof(stunode);if(!frist) return ERROR;cout<<setw(25)<<"請輸入學(xué)生學(xué)號: "do/學(xué)號過長或為非整數(shù)時則重新輸入 k=1;cin>>s; if(strlen(s)<=12) strcpy(frist->
30、;data.num,s); else k=0;cout<<"您輸入的學(xué)號過長(小于12位),請重新輸入:"/學(xué)號過長則重新輸入 for(i=0;si!=0;i+) if(si>='0'&&si<='9') continue; else k=0;cout<<"您輸入的學(xué)號為非整數(shù),請重新輸入: "break; while(k=0); for(p=head->next;p;p=p->next) if(strcmp(frist->data.num,p->
31、data.num)=0)/如果學(xué)號輸入重復(fù)則退出 free(frist); cout<<"該學(xué)號已存在!"<<endl; system("pause"); return ERROR; cout<<setw(25)<<"請輸入學(xué)生姓名: " do/姓名過長則重新輸入 k=1;cin>>s; if(strlen(s)<=15) strcpy(frist->,s); else k=0;cout<<"您輸入的姓名過長(小于15位),
32、請重新輸入:" while(k=0); cout<<setw(25)<<"請輸入該學(xué)生c語言成績: " cin>>frist->data.score; frist->next=NULL; last->next=frist; last=frist; cout<<endl<<endl; cout<<"繼續(xù)輸入請按"y"或"Y",否則按任意鍵結(jié)束輸入:"<<endl; m=getch(); cout<&l
33、t;m<<endl;while(m='y'|m='Y');return OK; Status all(pstunode &head)/顯示全部信息 system("cls"); pstunode p; p=head->next; if(!head->next) cout<<"該系統(tǒng)學(xué)生信息為空!"<<endl;system("pause"); return ERROR; else while(p) cout<<"學(xué)號:&quo
34、t;<<setiosflags(ios:left)<<setw(13)<<p->data.num<<"姓名:"<<setw(15)<<p-><<"該學(xué)生的c語言成績?yōu)椋?quot;<<p->data.score<<endl; p=p->next; cout<<endl<<endl; system("pause"); return OK; Status all2(pstuno
35、de &head)/顯示全部信息,為classify()所特殊調(diào)用 pstunode p; p=head->next; if(!head->next) cout<<"該類學(xué)生信息為空!"<<endl<<endl<<endl; return ERROR; else while(p)cout<<"學(xué)號:"<<setiosflags(ios:left)<<setw(13)<<p->data.num<<"姓名:"
36、;<<setw(15)<<p-><<"該學(xué)生的c語言成績?yōu)椋?quot;<<p->data.score<<endl; p=p->next; cout<<endl;cout<<endl<<endl; return OK; Status list(pstunode &head)/查詢學(xué)生信息 system("cls"); char num313; pstunode p; if(!head->next) cout<<
37、;"該系統(tǒng)學(xué)生信息為空!"<<endl;system("pause"); return ERROR; cout<<"請輸入您想查詢的學(xué)生學(xué)號或者姓名:"<<endl; cin>>num3; if(!getelem(head,num3,p) return ERROR;/查找,若不成功則退出 cout<<"該學(xué)生學(xué)號是:"<<p->data.num<<endl; cout<<"該學(xué)生姓名是:"<
38、;<p-><<endl; cout<<"該學(xué)生c語言成績?yōu)椋?quot;<<p->data.score<<endl; cout<<endl; system("pause"); return OK; Status dele(pstunode &head)/刪除學(xué)生信息system("cls");char num113;pstunode p1,p2;/p1為要刪除的節(jié)點,p2為其前一個節(jié)點 if(!head->next) cout<&
39、lt;"該系統(tǒng)學(xué)生信息為空!"<<endl;system("pause"); return ERROR;cout<<"請輸入要刪除的學(xué)生學(xué)號"<<endl;cin>>num1;p1=head->next;while(strcmp(p1->data.num,num1)!=0&&p1->next!=NULL)p2=p1;p1=p1->next ;if(strcmp(p1->data.num,num1)=0)if(p1=head->next)
40、head->next=p1->next;else p2->next=p1->next;free(p1);cout<<"學(xué)號為"<<num1<<"的學(xué)生的信息已刪除!"<<endl;else cout<<"學(xué)號"<<num1<<"不存在!"<<endl;system("pause");return ERROR;system("pause");return OK
41、; Status append(pstunode &head)/插入學(xué)生信息system("cls");char num13;char s50;int i,k; if(!head->next) cout<<"該系統(tǒng)學(xué)生信息為空!"<<endl;system("pause"); return ERROR;pstunode p1,p2,p3;/p1為指向要插入的前驅(qū)節(jié)點,p2指向要插入的新節(jié)點,p3用于循環(huán)cout<<"請輸入你要在該學(xué)生后插入新學(xué)生信息,則其學(xué)號為:"
42、<<endl;cin>>num;cout<<endl; if(!getelem(head,num,p1) return ERROR;/查找,若不成功則退出p2=(pstunode)malloc(sizeof(stunode);cout<<"請輸入您想插入的學(xué)生學(xué)號,姓名,c+成績:"<<endl;do/學(xué)號過長或為非整數(shù)時則重新輸入 k=1;cin>>s; if(strlen(s)<=12) strcpy(p2->data.num,s); else k=0;cout<<"
43、;您輸入的學(xué)號過長(小于12位),請重新輸入:"/學(xué)號過長則重新輸入 for(i=0;si!=0;i+) if(si>='0'&&si<='9') continue; else k=0;cout<<"您輸入的學(xué)號為非整數(shù),請重新輸入: "break; while(k=0); for(p3=head->next;p3;p3=p3->next)/如果學(xué)號輸入重復(fù)則退出 if(strcmp(p2->data.num,p3->data.num)=0) cout<<&
44、quot;該學(xué)號已存在!"<<endl; system("pause"); return ERROR; cout<<setw(25)<<"請輸入學(xué)生姓名: "do/姓名過長則重新輸入 k=1;cin>>s; if(strlen(s)<=15) strcpy(s,p2->); else k=0;cout<<"您輸入的姓名過長(小于15位),請重新輸入:"while(k=0); cout<<setw(25)<<&qu
45、ot;請輸入該學(xué)生c語言成績: "cin>>p2->data.score;p2->next=p1->next;p1->next=p2;system("pause");return OK; Status modify(pstunode &head)/修改學(xué)生信息system("cls");pstunode p;char num13;char s50;int i,k; if(!head->next) cout<<"該系統(tǒng)學(xué)生信息為空!"<<endl;sys
46、tem("pause"); return ERROR;cout<<"請輸入要修改的學(xué)生的學(xué)號或姓名: "cin>>num;if(!getelem(head,num,p) return ERROR; /查找,若不成功則退出 cout<<"請輸入該學(xué)生的學(xué)號: " do/學(xué)號過長或為非整數(shù)時則重新輸入 k=1;cin>>s; if(strlen(s)<=12) strcpy(s,p->data.num); else k=0;cout<<"您輸入的學(xué)號過長(小
47、于12位),請重新輸入: "/學(xué)號過長則重新輸入 for(i=0;si!=0;i+) if(si>='0'&&si<='9') continue; else k=0;cout<<"您輸入的學(xué)號為非整數(shù),請重新輸入: "break; while(k=0); cout<<"請輸入學(xué)生姓名: "do/姓名過長則重新輸入 k=1;cin>>s; if(strlen(s)<=15) strcpy(p->,s); else k=0;
48、cout<<"您輸入的姓名過長(小于15位),請重新輸入:"while(k=0);cout<<"請輸入學(xué)生c語言成績: "cin>>p->data.score; system("pause");return OK; Status classify(pstunode &head)/顯示分類信息 system("cls"); pstunode p,q1,q2,q3,q4,s; pstunode L1,L2,L3,L4; creatList(L1); creatList(
49、L2); creatList(L3); creatList(L4); q1=L1; q2=L2; q3=L3; q4=L4; if(!head->next) cout<<"該系統(tǒng)學(xué)生信息為空!"<<endl;system("pause"); return ERROR; for(s=head->next;s;s=s->next) p=( pstunode)malloc(sizeof(stunode); if(!p) return ERROR; if(s->data.score<60) strcpy(p-
50、>,s->);strcpy(p->data.num,s->data.num);p->data.score=s->data.score;/復(fù)制數(shù)據(jù) p->next=NULL;q1->next=p;q1=p; else if(s->data.score>=60&&s->data.score<80) strcpy(p->,s->);strcpy(p->data.num,s->data.num);p->data.s
51、core=s->data.score;/復(fù)制數(shù)據(jù) p->next=NULL;q2->next=p;q2=p; else if(s->data.score>=80&&s->data.score<90) strcpy(p->,s->);strcpy(p->data.num,s->data.num);p->data.score=s->data.score;/復(fù)制數(shù)據(jù)p->next=NULL;q3->next=p;q3=p; else if(s->data
52、.score>=90) strcpy(p->,s->);strcpy(p->data.num,s->data.num);p->data.score=s->data.score;/復(fù)制數(shù)據(jù) p->next=NULL;q4->next=p;q4=p; cout<<"(1)60分以下者學(xué)生信息:"<<endl<<endl; all2(L1); cout<<"(2)6079分學(xué)生信息:"<<endl<<endl; all2(L2); cout<<"(3)8089分學(xué)生信息:"<<endl<
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/Z 44938.2-2024機械電氣安全第2部分:保護人員安全的傳感器的應(yīng)用示例
- α-Apooxytetracycline-生命科學(xué)試劑-MCE-3621
- PB-22-7-Hydroxyisoquinoline-isomer-生命科學(xué)試劑-MCE-3092
- L-Arginyl-L-alanine-生命科學(xué)試劑-MCE-1970
- BDW-OH-生命科學(xué)試劑-MCE-6441
- 4-Chlorocathinone-hydrochloride-生命科學(xué)試劑-MCE-4146
- 1-Methyl-3-amino-4-cyanopyrazole-生命科學(xué)試劑-MCE-7778
- 2025年度智能城市基礎(chǔ)設(shè)施合作框架協(xié)議
- 二零二五年度茶葉種植基地租賃與經(jīng)營管理合同
- 二零二五年度貨車駕駛員勞動合同(貨車駕駛與車輛融資租賃)
- 2024-2025學(xué)年成都市金牛區(qū)九年級上期末(一診)英語試題(含答案)
- 2025年高壓電工資格考試國家總局模擬題庫及答案(共四套)
- 2024-2025學(xué)年廣東省深圳市南山區(qū)監(jiān)測數(shù)學(xué)三年級第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 格式塔心理學(xué)與文藝心理學(xué)
- (汽車制造論文)機器人在汽車制造中應(yīng)用
- 幼兒園手工教學(xué)中教師指導(dǎo)行為研究-以自貢市幼兒園為例
- 初中物理實驗教學(xué)
- 《智能投顧 大數(shù)據(jù)智能驅(qū)動投顧創(chuàng)新》讀書筆記思維導(dǎo)圖
- 企業(yè)應(yīng)急管理及能力提升培訓(xùn)課件精選
- 吲哚菁綠血管造影檢查知情同意書
- 最新婚姻家庭心理講座主題講座課件
評論
0/150
提交評論