版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【學(xué)生成績(jī)管理】 實(shí)現(xiàn)功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、保存、拷貝、排序、索引、分類合計(jì)、退出。能實(shí)現(xiàn)對(duì)學(xué)生信息的簡(jiǎn)單管理。具體要求:建立一個(gè)4個(gè)學(xué)生的信息登記表,每個(gè)學(xué)生的信息包括:學(xué)號(hào),姓名,和3門課程的成績(jī)(FOX,C,ENGLISH)。 程序運(yùn)行時(shí)顯示一個(gè)簡(jiǎn)單的菜單,例如: (1):信息輸入(INPUT) (2):總分統(tǒng)計(jì)(COUNT) (3):總分排序(SORT) (4):查詢(QUERY)
2、; 其中: (1):對(duì)4個(gè)學(xué)生的信息進(jìn)行輸入; (2):對(duì)每個(gè)學(xué)生的3門課程統(tǒng)計(jì)總分; (3):對(duì)4個(gè)學(xué)生的總分按降序排序并顯示出來(lái); (4):查詢輸入一個(gè)學(xué)號(hào)后,顯示出該學(xué)生的有關(guān)信息; 用的大一做的系統(tǒng),由保存數(shù)據(jù)結(jié)構(gòu)的object.cpp 主函數(shù) main.cpp 方法頭文件use.h組成Use.h#ifndef USE_H_INCLUDED#define USE_H_INC
3、LUDED#endif / USE_H_INCLUDED#include <stdio.h>#include <windows.h>void Meau() printf("-歡迎使用學(xué)生信息管理系統(tǒng)-n-n輸入指令完成命令: n1.打印信息n2.插入新信息n3.刪除學(xué)生信息n4.查找學(xué)生n5.更改學(xué)生信息n6.排序顯示學(xué)生信息n7.文件另存為ne.保存并退出n-n請(qǐng)輸入指令n");void ZhuangBSave() int T=2; while(T-) system("cls"); Meau(); Sleep(500); pri
4、ntf("Saveing.r"); Sleep(500); printf("Saveing.r"); Sleep(500); printf("Saveing.r"); Sleep(500); printf("Saveing.r"); Sleep(500); printf("Saveing.r"); void ZhuangBExit() int c=6; while(c-) printf("Saved!And he program will be close in %d second.r
5、",c); Sleep(1000); Object.h#include <stdio.h>#include <string.h>#include <stdlib.h>#include <windows.h>struct score long long num; char a10; int ch; int ma; int en; int c; int ph; int sum; struct score *next;void swap(score* p1,score* p2) int t; t=p1->num; p1->num=
6、p2->num; p2->num=t; t=p1->ch; p1->ch=p2->ch; p2->ch=t; t=p1->ma; p1->ma=p2->ma; p2->ma=t; t=p1->en; p1->en=p2->en; p2->en=t; t=p1->c; p1->c=p2->c; p2->c=t; t=p1->ph; p1->ph=p2->ph; p2->ph=t; char c10; strcpy(c,p1->a); strcpy(p1->
7、;a,p2->a); strcpy(p2->a,c);bool cmp0(score* p1,score* p2) return p1->num<p2->num;bool cmp01(score* p1,score* p2) if(p1->ch=p2->ch) return p1->num<p2->num; return p1->ch<p2->ch;bool cmp11(score* p1,score* p2) if(p1->ch=p2->ch) return p1->num<p2->n
8、um; return p1->ch>p2->ch;bool cmp02(score* p1,score* p2) if(p1->ma=p2->ma) return p1->num<p2->num; return p1->ma<p2->ma;bool cmp12(score* p1,score* p2) if(p1->ma=p2->ma) return p1->num<p2->num; return p1->ma>p2->ma;bool cmp03(score* p1,score*
9、p2) if(p1->en=p2->en) return p1->num<p2->num; return p1->en<p2->en;bool cmp13(score* p1,score* p2) if(p1->en=p2->en) return p1->num<p2->num; return p1->en>p2->en;bool cmp04(score* p1,score* p2) if(p1->c=p2->c) return p1->num<p2->num; ret
10、urn p1->c<p2->c;bool cmp14(score* p1,score* p2) if(p1->c=p2->c) return p1->num<p2->num; return p1->c>p2->c;bool cmp05(score* p1,score* p2) if(p1->ph=p2->ph) return p1->num<p2->num; return p1->ph<p2->ph;bool cmp15(score* p1,score* p2) if(p1->
11、;ph=p2->ph) return p1->num<p2->num; return p1->ph>p2->ph;bool cmp06(score* p1,score* p2) if(p1->sum=p2->sum) return p1->num<p2->num; return p1->sum<p2->sum;bool cmp16(score* p1,score* p2) if(p1->sum=p2->sum) return p1->num<p2->num; return p
12、1->sum>p2->sum;bool cmp07(score* p1,score* p2) if(strcmp(p1->a,p2->a)=1) return 1; else return 0;bool cmp17(score* p1,score* p2) if(strcmp(p1->a,p2->a)=1) return 0; else return 1;void ScoreSort(struct score *head,bool (*cmp)(score* p1,score* p2) struct score *p1,*p2; for(p1=head
13、; p1!=NULL; p1=p1->next) for(p2=p1->next; p2!=NULL; p2=p2->next) if(*cmp)(p1,p2) swap(p1,p2); void ScorePri(struct score *head) /int c=0; /system("cls"); printf("=n"); struct score *pri; pri=head; while(pri!=NULL) /printf("test %dn",c+); printf("學(xué)號(hào):%I64d 姓
14、名:%sn語(yǔ)文:%d 數(shù)學(xué):%d 英語(yǔ):%d nc語(yǔ)言:%d 物理:%d n總成績(jī):%d 平均成績(jī):%.2lf n=n",pri->num,pri->a,pri->ch,pri->ma,pri->en,pri->c,pri->ph,pri->sum,pri->sum/5.0); pri=pri->next; printf("Endn");struct score *ScoreIns(struct score *head) struct score *p1,*p2,*newl; newl=(score*)m
15、alloc(sizeof(score); printf("請(qǐng)依次輸入學(xué)號(hào),語(yǔ)文,數(shù)學(xué),英語(yǔ),c語(yǔ)言,物理成績(jī)n"); scanf("%I64d%d%d%d%d%d",&newl->num,&newl->ch,&newl->ma,&newl->en,&newl->c,&newl->ph); newl->sum=newl->ch+newl->ma+newl->en+newl->c+newl->ph; printf("輸入學(xué)生姓名n
16、"); scanf("%s",newl->a); if(head=NULL) head=newl; newl->next=NULL; return head; p1=head; p2=p1->next; if(newl->num<head->num) newl->next=head; return newl; while(p2!=NULL) if(newl->num>p1->num&&newl->num<p2->num) newl->next=p2; p1->
17、next=newl; break; p1=p2; p2=p1->next; if(p2=NULL) p1->next=newl; newl->next=NULL; return head;void ZhuangBDel() Sleep(500); printf("刪除中.r"); Sleep(500); printf("刪除中.r"); Sleep(500); printf("刪除中.r"); Sleep(500); printf("刪除中.r"); Sleep(500); printf(&quo
18、t;刪除中.r"); Sleep(500); printf("已刪除!n");struct score *ScoreDel(struct score *head) struct score *p1,*p2,*h; long long n=0; int flag,flag1=0; int ord; char n1100,s2; flag=0; printf("輸入1學(xué)號(hào)查詢,輸入2姓名查詢n"); scanf("%d",&ord); if(ord=1) printf("請(qǐng)輸入學(xué)號(hào)n"); scanf
19、("%I64d",&n); else if(ord=2) printf("請(qǐng)輸入姓名n"); scanf("%s",n1); else printf("Illegal inputn"); return head; if(ord=1) printf("您要?jiǎng)h除的學(xué)生學(xué)號(hào)為%I64d,是否刪除?(Y/N)",n); scanf("%s",s); if(strcmp(s,"Y")!=0) return head; if(ord=2) printf(&qu
20、ot;您要?jiǎng)h除的學(xué)生姓名為%s,是否刪除?(Y/N)",n1); scanf("%s",s); if(strcmp(s,"Y")!=0) return head; p1=head; p2=p1->next; if(ord=1&&p1->num=n)|(ord=2&&strcmp(p1->a,n1)=0) h=p1->next; free(p1); flag=1; ZhuangBDel(); return h; else if(p1->next=NULL) flag1=0; while
21、(flag1!=0&&p2->next!=NULL) if(ord=1&&p1->num=n)|(ord=2&&strcmp(p2->a,n1)=0) p1->next=p2->next; free(p2); flag=1; p1=p2; p2=p1->next; if(flag1!=0&&p2->next=NULL) if(ord=1&&p1->num=n)|(ord=2&&strcmp(p2->a,n1)=0) p1->next=NUL
22、L; free(p2); flag=1; if(flag=0|flag1=1) printf("Error:Not Found!n"); else ZhuangBDel(); return head;void ScoreSearch(struct score *head) struct score *p1; long long n; int flag; flag=0; printf("輸入需要查找的學(xué)號(hào)n"); scanf("%I64d",&n); for(p1=head; p1!=NULL; p1=p1->next)
23、if(p1->num=n) printf("姓名:%sn語(yǔ)文成績(jī):%dn數(shù)學(xué)成績(jī):%dn英語(yǔ)成績(jī):%dnC語(yǔ)言成績(jī):%dn物理成績(jī):%dn總成績(jī):%dn平均成績(jī):%.2lfn",p1->a,p1->ch,p1->ma,p1->en,p1->c,p1->ph,p1->sum,p1->sum/5.0); flag=1; if(flag=0) printf("Error:Not Found!n");void ScoreChange(struct score *head) long long m; int n
24、,a; char b100; struct score *p1; printf("請(qǐng)輸入需要修改信息的學(xué)號(hào)n"); scanf("%I64d",&m); for(p1=head; p1!=NULL; p1=p1->next) if(p1->num=m) break; if(p1=NULL) printf("Not Found!n"); return; printf("輸入1修改語(yǔ)文成績(jī)n輸入2修改數(shù)學(xué)成績(jī)n輸入3修改英語(yǔ)成績(jī)n輸入4修改c語(yǔ)言成績(jī)n輸入5修改物理成績(jī)n輸入6修改姓名n"); sc
25、anf("%d",&a); if(a=1) printf("該成員語(yǔ)文成績(jī)?yōu)?d,請(qǐng)輸入修改值n",p1->ch); scanf("%d",&n); p1->ch=n; printf("修改成功!n"); else if(a=2) printf("該成員數(shù)學(xué)成績(jī)?yōu)?d,請(qǐng)輸入修改值n",p1->ma); scanf("%d",&n); p1->ma=n; printf("修改成功!n"); else if(a
26、=3) printf("該成員英語(yǔ)成績(jī)?yōu)?d,請(qǐng)輸入修改值n",p1->en); scanf("%d",&n); p1->en=n; printf("修改成功!n"); else if(a=4) printf("該成員C語(yǔ)言成績(jī)?yōu)?d,請(qǐng)輸入修改值n",p1->c); scanf("%d",&n); p1->c=n; printf("修改成功!n"); else if(a=5) printf("該成員物理成績(jī)?yōu)?d,請(qǐng)輸入修改
27、值n",p1->ph); scanf("%d",&n); p1->ph=n; printf("修改成功!n"); else if(a=6) printf("該成員姓名為%s,請(qǐng)輸入修改值n",p1->a); scanf("%s",b); strcpy(p1->a,b); printf("修改成功!n"); else printf("輸入錯(cuò)誤,退出修改n");void ScoreView(struct score *head) int
28、a,b; /bool *cmp(score* p1,score* p2); printf("輸入1按語(yǔ)文成績(jī)排列n輸入2按數(shù)學(xué)成績(jī)排列n輸入3按英語(yǔ)成績(jī)排列n輸入4按C語(yǔ)言成績(jī)排列n輸入5按物理成績(jī)排列n輸入6按總成績(jī)排列n輸入7按名字排列n"); scanf("%d",&a); printf("輸入0升序排列,輸入1降序排列n"); scanf("%d",&b); if(a=1&&b=0) ScoreSort(head,&cmp01); if(a=1&&b=
29、1) ScoreSort(head,cmp11); if(a=2&&b=0) ScoreSort(head,cmp02); if(a=2&&b=1) ScoreSort(head,cmp12); if(a=3&&b=0) ScoreSort(head,cmp03); if(a=3&&b=1) ScoreSort(head,cmp13); if(a=4&&b=0) ScoreSort(head,cmp04); if(a=4&&b=1) ScoreSort(head,cmp14); if(a=5&
30、;&b=0) ScoreSort(head,cmp05); if(a=6&&b=0) ScoreSort(head,cmp06); if(a=6&&b=1) ScoreSort(head,cmp16); if(a=7&&b=0) ScoreSort(head,cmp07); if(a=7&&b=1) ScoreSort(head,cmp17); ScorePri(head); ScoreSort(head,cmp0);void Save(score *head,char a) FILE *fp; score* pri=he
31、ad; fp=fopen(a,"w"); while(pri!=NULL) fprintf(fp,"%I64d %d %d %d %d %d ",pri->num,pri->ch,pri->ma,pri->en,pri->c,pri->ph); fprintf(fp,"%s ",pri->a); pri=pri->next; return;void NSave(score* head) char a100,b100,c="/",d=".txt" p
32、rintf("輸入另存為的地址n"); scanf("%s",a); printf("輸入文件名稱n"); scanf("%s",b); strcat(a,c); strcat(a,b); strcat(a,d); Save(head,a); return;struct score *Load(score *head) /int c=0; FILE *fp; fp=fopen("E:data.txt","r"); if(fp=NULL) /printf("No da
33、tan"); return NULL; freopen("E:data.txt","r",stdin); score *newl,*p1,*p2; newl=(score*)malloc(sizeof(score); while(scanf("%I64d%d%d%d%d%d",&newl->num,&newl->ch,&newl->ma,&newl->en,&newl->c,&newl->ph)!=EOF) /printf("tes
34、t %dn",c+); newl->sum=newl->ch+newl->ma+newl->en+newl->c+newl->ph; scanf("%s",newl->a); if(head=NULL) head=newl; newl->next=NULL; p1=head; p2=p1->next; if(newl->num<head->num) newl->next=head; head=newl; while(p2!=NULL) if(newl->num>p1->
35、num&&newl->num<p2->num) newl->next=p2; p1->next=newl; p1=p2; p2=p1->next; if(p2=NULL) p1->next=newl; newl->next=NULL; newl=(score*)malloc(sizeof(score); free(newl); freopen("CON","r",stdin); return head;Main.cpp#include <iostream>#include <
36、;stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include <windows.h>#include "use.h"using namespace std;struct score *Load(score *head);void ScorePri(struct score *head);struct score *ScoreIns(struct score *head);struct score *ScoreDel(struct score *head);void ScoreSearch(struct score *head);void ScoreChange(struct score *head);void ScoreV
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024門禁工程合同
- 2024閘門采購(gòu)合同模板大全
- 2024榨菜種植與農(nóng)業(yè)電商人才培訓(xùn)合作合同3篇
- 2025年度文化旅游代理股權(quán)轉(zhuǎn)讓及項(xiàng)目運(yùn)營(yíng)合同4篇
- 2025年度智能社區(qū)視頻監(jiān)控系統(tǒng)工程承包協(xié)議4篇
- 2025年度應(yīng)急物流承運(yùn)商合作協(xié)議范本4篇
- 2024音樂(lè)制作合同:錄音工作室合同范本版B版
- 2025年度桉樹苗木線上線下融合發(fā)展合同3篇
- 2025年度知識(shí)產(chǎn)權(quán)運(yùn)營(yíng)丨合伙人共同運(yùn)營(yíng)專利技術(shù)的合同4篇
- 2024舞臺(tái)建設(shè)施工合同協(xié)議書
- 2024版智慧電力解決方案(智能電網(wǎng)解決方案)
- 公司SWOT分析表模板
- 小學(xué)預(yù)防流行性感冒應(yīng)急預(yù)案
- 肺癌術(shù)后出血的觀察及護(hù)理
- 聲紋識(shí)別簡(jiǎn)介
- 生物醫(yī)藥大數(shù)據(jù)分析平臺(tái)建設(shè)-第1篇
- 基于Android的天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 沖鋒舟駕駛培訓(xùn)課件
- 美術(shù)家協(xié)會(huì)會(huì)員申請(qǐng)表
- 聚合收款服務(wù)流程
- 中石化浙江石油分公司中石化溫州靈昆油庫(kù)及配套工程項(xiàng)目環(huán)境影響報(bào)告書
評(píng)論
0/150
提交評(píng)論