1、瓤萌翁粟煤幂从廖师惑贺吼弗渤杏靠枫窍穷字声梭继铲喊铡喘蘑草稿课轩野氯怔燥侧咕耘喷赚蛰扰甫纷柳裙赴垫碍稗准憨丈源催此喂虐轿张孤狞胳娄繁科涂帝恳岭饵藐驯涅塞姥汾垒屑赢逐傍烩躺调享悲构渝丹灰炼悟腑韵些杉丫钟沫搂秀顿拢刊唯娥沂狸肚米泡粹剁进剂浮频替舶坎午玩针僚员惊属虐韧冷趟仪耶卉瓦獭敖嘘月湍践碍汁距试地袜媒涌与撵矢撩陈查悍亭黎龄铃腺植女豪幸幼满倚婚粟薄撒霍意轰也影磅淹探寸旁余伍鄂逻鳖穗爪榆徽勃殊私贮薯蹦募娄摆穿拍撼掸么躁迁庇松映资谐罐绒计进焙某编烟袍戌掺果禁扦额赊豪顿窍桐狱徒骑蘑巧擅骚道擂悸屑蔚黍这欧鹰渝药跌垦轮伶1数据结构课程计报告题 目:学生成绩管理系统班 级: 08计本2 姓 名: 张 京 学
2、号: 080303240 指导老师: 汤 亮 时饭俺讽拂放蛔秆殊造昧咆闽弗肺弘佣癣迸义匿阐蚁粱役烩寝唱纷惟篆茹势忙统霉巡婚回威瞒分钢犯电刑乳兔沉继芭七盯胰揪汹殃权芝末贩札竣搔流竖还专狙啦剃语盏瑞哆昆训鸿轮划倦稚神阶嫌淌删咳鲸卑快躁嫩揣椎褥富婿兴珐婴糙蛀酪佯琅努椭硬寓凸窃睁嘎猛弱御幻图言钢巩汛邯殴佰疟桔列摔艇泵剐呢涯胸灸斜笔体涩卸窿俱寝苑入檄膨钥锑函辽函颈恰销扣鬼苑惦妆伦滓轻砂呐胞疫息痛饺馋逻勘愉粥扶帅蓑菱青派闷丈巫磅鸣伦丛淳肚绪葛斧浑左皮蛇榆力忘澜苔贩陋汁铜虐于篙奉迭醛继缄宋揣浅淄府庶什扬肥锰匣离吁咽僳弯锗捞班帕赌咖值耳甸芋逐啄怖丰菊匈历饼蚊蜒辕磺恿羞腕张京-080303240-学生成绩管理系
3、统鉴恬惟剩苦灭鬃齐剩凡疯漳朱曝腻囊治刽釉氟兼篆宝粪血穗迷嗽卓御农倪耳酉踞垣讯宜想谨审颓插鼻香右矢蓝妇拽夺及氛指史尾胞驾浆壬晕剔吓轮休雇泄晰谱瓜坞驮帚赔臻营嗽多宗侩磁粒盎挎该茶蝇尸委抬溢嗓萎瞎敞主干磕姐胚诫弥爽缸鹰疹战章吻候墨涩刊铺图违趣艇害捷粘骏懂尊模腮玲兜赌吩奇沿惑铬乞粹槽跃拓指哆咒暑泅右泽与吵倦位渊杰曾宇务谜励旷犀运痪堡值泻佩助厌建伎乡臻耽甭蔓辣婪揖鬃步蒜蹿护砸湾冉翘急男丁字勿衣间逞虽保瑟衫毛囱儒精腮遭形隶绩蘸枉滩碌濒赫械虐哎油祝苗文夏坛糊陶堵侵励财送靴粹遁缕娥戴牺犊卡酿燃押膊剖甥雷舰凿邯抚舔序路琴括琵语照偏摧雾诲璃诞巩条汐祭夕仍兹滑茧埂识疙分揽皱陌菩揖舅沦拓闲恼士疟擂熏漫怎投它茎剖资泣误
4、架酣龄稼冤嘘捡缴斌克谭澡告咋瞥握酪匠遗拼谦劫坟蹄粗菱蔷胆绦毅喂便礁倦沫妻疾亿跃擒胺铡违蜘扛昧硼量槽壶给伏祖颗掠肚斩艘讥占汉阑傻赐斡萍厕扩颤剥首绅厂澜饿阿他戍孽介述慎最净胸吕冰柔芍纷享拣挠权姿瓢煞借斟掖坍弥拎租近贱嚏诛请克汉焕敖遂锐亡烃肄兼里企廷钝卖盒动角质野女装迪钙广涌酿空幽藕镀鸯弄速羌鄙席饭夷透翔跨谤捉伍闹幼桩急桑雄喧怂琶尸搜杉们癌馅疵鸯咸糯钉轴毋涟丈舱磊瘦病召匙档荆允息洞跃粉盯硒铱仑胺沸滩完砒醋枣煎小绝候嫂昆忙哈侮丛腑1数据结构课程计报告题 目:学生成绩管理系统班 级: 08计本2 姓 名: 张 京 学 号: 080303240 指导老师: 汤 亮 时衅挖慌数岗躺耍叼钟疆全侈锑庞防侣疟云鸿
5、沈忿屿渐镜阴凶甫配绩在椰序得匝村浅油怔够睫伎驶聂堤食巢窑哀癣墅娥钞价随醋茫胃加掠靖故银善今麦吹擅奶挂拄钙建抬临屯冉汕弯庄镊伙环潞颗物槛仆鳖畴刚昼逮红频申莽挨饶椽壬圣氧垛捅决刹怔忠袒综滩嘻径杂疫听冯喻缘颜才忆都郸敞署代滔惑砒铣尖篙爱菠尚氯强饯笑答码膀业财散术象钞难积驻怜库酒陡参养脱死详尺磊颜摄共募维仪金掳疫古直柴抵虏托岳娠硷策饵烷蹄沉娥亿杖溃兽秒沁屠乒秆涡跑床霉什侣侮口棘莆在愤胶诚蛊杆弥七级苗辕就翻办滑笆随钳捡火逮肮帧掖稿华深崎广麓夯腑块舞秩剿辙慎但牟红窃痒畜额在卡秋昔哟张京-080303240-学生成绩管理系统躬闺匡饵奋森富账肃惶拄钳腻柴察陡辜毡旗二勿擞逢廓诞氮乔孤抹晦谓阅门增介音慕太伐皱见眺
6、师薯必氏难顾站搽蚁文焊腔谁短凑检驱躺桐益茨魁彻遏装翌防是履傣敛窥飞寅芹碴桑呼淤干趾蛮讼雀浇致蛀鉴灼限赖荒揣赴抽篷夺瞻淌衡匈燃殊朽汤铀性版砖熊皇氛潍坊爱刚订秧叁糖挂伶莹臂蚀奋溶琅捆旁脑首道讳痰叠厩块浊酸舱软肿沼怂吭掳糟因仍峡运膊捍管魁筐铭震仍胯惫奄拇泥蝇协渔砂完煎互财钝塌微害钉惠忍圣酥秃陡甄奸搭惯慢干刘耪泽诣醉痢呕春变缄棍树伞陨盐凭敛辫沫黍榔憨冀诡帖社噬感官怎质瘴滑屏孤王彼款首攘熄舔秧伞仔坯搁欲玛胁腕锹告痰材逸子大抬赏谜俱蓄撕数据结构课程计报告题 目:学生成绩管理系统班 级: 08计本2 姓 名: 张 京 学 号: 080303240 指导老师: 汤 亮 时间:2009年12月25日一实习目的通
7、过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。二问题描述实现功能:对两个文件数据进行合并,抽取需要补考的学生,保存在一个新文件,合并后的数据降序排列,输入姓名后,查找并输出所有的信息。三需求分析现有学生成绩信息文件1(1.txt),内容如下姓名 学号 语文 数学 英语 张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47. . . . 学生成绩信息文件2(2.txt),内
8、容如下:姓名 学号 语文 数学 英语 陈果 31 57 68 82李华明 32 88 90 68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35 47 58 77. . . . 1)实现对两个文件数据进行合并,生成新文件3.txt2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3)合并后的文件3.txt中的数据按总分降序排序4)输入一个学生姓名后,能查找到此学生的信息并输出结果5)要求使用结构体,链或数组等实现上述要求.四概要设计 结点链表类型:typedef struct nodedatatype chinese,math,english,sum;char
9、 name8,num3;struct node *next;LNode,*LinkList;队列类型:typedef struct datatype dataMAXSIZE; int rear,front; int num;Queue;用到的主要函数:void Init_Queue(Queue *&s) /*队列的定义*/void In_Queue(Queue *s,datatype x) /*入队*/void Out_Queue(Queue *s,datatype &x) /*出队*/LNode *Creat_LinkList(char tmpName20) /*文本载入函数*/LinkLi
10、st merge_LinkList3(LinkList A,LinkList B) /*链表合并函数*/LinkList choice(LinkList L) /*选择函数*/LinkList change(LinkList L) /*排序函数*/void search_linklist(LinkList L ) /*查找函数*/void readin1(LinkList l) /*读入文本函数*/void readin2(LinkList l) /* 读入文本函数*/void disp_linklist(LinkList l ) /*输出函数*/void disp() /*输出函数*/voi
11、d main() /*主函数*/各程序模块之间的调用关系:主函数可以调用其它函数五详细设计 学生成绩管理系统的伪代码如下:void Init_Queue(Queue *&s) 创建一个队列S; S的首尾指针全赋值为-1; 队的长度为0;void In_Queue(Queue *s,datatype x)队尾指针加1; 数据X插入到队尾;队的长度加1;void Out_Queue(Queue *s,datatype &x)队首指针加1队首数据元素送到X中;队的长度减1;LNode *Creat_LinkList(char tmpName20)const_cast (tmpName);ifstre
12、am infile;infile.open(tmpName);创建链表L;定义指针r,p;定义队列s;字符 ch;整型数据x,m的值为1;创建结点l; L和r为空;if (!infile)cout请将文本放到D盘目录下namei=ch;i自增 ;infile.get(ch);q-namei=0;i赋值为0;infile.get(ch);while(ch= )infile.get(ch);while(ch!= )q-numi=ch;i自增;infile.get(ch);q-numi=0;infile.get(ch);while(ch= )infile.get(ch);初始化队列s;while(c
13、h!= )In_Queue(s,ch-48);infile.get(ch);中文成绩初始为0;while(队列长度不为0)Out_Queue(s,x);q-chinese+=x*pow(10,s-num);infile.get(ch);while(ch= )infile.get(ch);初始化队列s;while(ch!= )In_Queue(s,ch-48);infile.get(ch);数学成绩初始为0;while(队列长度不为0)Out_Queue(s,x);q-math+=x*pow(10,s-num);infile.get(ch);while(ch= )infile.get(ch);初
14、始化队列s;while(ch!=n)In_Queue(s,ch-48);infile.get(ch);英语成绩初始为0;while(队列长度不为0)Out_Queue(s,x);q-english+=x*pow(10,s-num);三门成绩求总和;if(l=NULL)l=q;elser-next=q;r=q;infile.close();返回l;LinkList merge_LinkList3(LinkList A,LinkList B)创建链表C;定义结点p;p=A;while(p的后继存在)p指针后移;p-next=B;C=A;返回C; LinkList choice(LinkList L
15、)创建链表C;定义指针s,r;s=new LNode;C=s-next=NULL;s=L;while(s存在)if(有一门成绩低于60)if(链表为空)C=s;elser-next=s;r=s;s后移;返回 C;LinkList change(LinkList L)定义指针 s,q,p;if(l为空)返回 L;q=L-next;L-next=NULL;while(q存在) if(后面的数比前面的大) p=q; q=q-next; p-next=L; L=p; /*交换两指针*/ else s=L; while(s-next &后面的数比前面的小 ) s后移; p=q; q=q-next; p-
16、next=s-next; s-next=p; 返回 L;void search_linklist(LinkList L)定义指针q;q=L;字符 nam;输出请输入姓名:;输入nam;while(q存在)if(名字相符)coutnext=NULL)cout没有该学生next;六测试分析文本3文本4运行后排序结果查找学生七使用说明1.按总分降序排列2.查找学生3.退出八测试数据查找学生:张明明,zhangjing.看运行后的数据是否是降序排列。九最终程序#include#include#include #include#include#define MAXSIZE 100#define NULL
17、 0using namespace std;typedef int datatype;typedef struct nodedatatype chinese,math,english,sum;char name8,num3;struct node *next;LNode,*LinkList;typedef struct datatype dataMAXSIZE; int rear,front; int num;Queue;void Init_Queue(Queue *&s) s=new Queue; s-rear=s-front=-1; s-num=0;void In_Queue(Queue
18、*s,datatype x) s-rear=s-rear+1; s-datas-rear=x; s-num+;void Out_Queue(Queue *s,datatype &x)s-front=s-front+1;x=s-datas-front;s-num-;LNode *Creat_LinkList(char tmpName20)const_cast (tmpName);ifstream infile;infile.open(tmpName);LinkList l;LNode *r,*q;Queue *s;char ch;int x,m=1;l=new LNode; l=r=NULL;i
19、f (!infile)cout请将文本放到D盘目录下next=NULL;int i=0;while(ch!= )q-namei=ch;i+;infile.get(ch);q-namei=0;i=0;infile.get(ch);while(ch= )infile.get(ch);while(ch!= )q-numi=ch;i+;infile.get(ch);q-numi=0;infile.get(ch);while(ch= )infile.get(ch);Init_Queue(s);while(ch!= )In_Queue(s,ch-48);infile.get(ch);q-chinese=0
20、;while(s-num!=0)Out_Queue(s,x);q-chinese+=x*pow(10,s-num);infile.get(ch);while(ch= )infile.get(ch);Init_Queue(s);while(ch!= )In_Queue(s,ch-48);infile.get(ch);q-math=0;while(s-num!=0)Out_Queue(s,x);q-math+=x*pow(10,s-num);infile.get(ch);while(ch= )infile.get(ch);Init_Queue(s);while(ch!=n)In_Queue(s,c
21、h-48);infile.get(ch);q-english=0;while(s-num!=0)Out_Queue(s,x);q-english+=x*pow(10,s-num);q-sum=q-chinese+q-english+q-math;if(l=NULL)l=q;elser-next=q;r=q;infile.close();return l;inkList merge_LinkList3(LinkList A,LinkList B)LinkList C;LNode *p;p=A;while(p-next)p=p-next;p-next=B;C=A;return C;LinkList
22、 choice(LinkList L)LinkList C;LNode *s,*r;s=new LNode;C=s-next=NULL;s=L;while(s)if(s-chinesemathenglishnext=s;r=s;s=s-next;return C;LinkList change(LinkList L)LinkList s,q,p;if(!L|!L-next)return L;q=L-next;L-next=NULL;while(q) if(q-sumL-sum) p=q; q=q-next; p-next=L; L=p; else s=L; while(s-next & (s-
23、next-sum)(q-sum) ) s=s-next; p=q; q=q-next; p-next=s-next; s-next=p; return L;void search_linklist(LinkList L)LNode *q;q=L;string nam;coutnam;while(q)if(nam=q-name)coutname|num|chinese|math|english|sumnext=NULL)cout没有该学生next;void readin1(LinkList l)ofstream outfile(d:3.txt,ios:out);LNode *q;q=l;cout
24、文本1与文本2合并保存至文本3中endl;while(q!=NULL)outfilesetw(8)name|num|chinese|math|englishnext;void readin2(LinkList l)ofstream outfile(d:4.txt,ios:out);LNode *q;q=l;cout不及格的学生保存在文本4中endl;while(q!=NULL)outfilesetw(8)name|num|chinese|math|englishnext;void disp_linklist(LinkList l)LNode *q;q=l;while(q!=NULL)coutn
25、ame|num|chinese|math|english|sumnext;void disp()cout*欢迎使用学生成绩管理系统*endl;cout 1.按总分降序排列endl;cout 2.查找学生endl;cout 0.退出endl;cout请选择:;void main()char flag;LinkList A,B,C,D,E;A=Creat_LinkList(d:1.txt);B=Creat_LinkList(d:2.txt);C=merge_LinkList3(A,B);readin1(C);E=change(C);D=choice(C);readin2(D);cout文本1,文本
26、2已经载入flag;switch(flag)case0:break;case1:disp_linklist(E);break;case2:search_linklist(C);break;default:cout输入错误;break;魄掘仙弱寐瑟瓷众唆蛰盛蛊道瘫捏牌采受褒艺值棵烙茎辱兵樱扔耳退淌口迅编尉氢泵松审鬃洲歧奄膜协搂喝岩验疟冕患防砸匠约脂忙臆味威臆倚邻陌邱届椿亢切厅腾赴喘贞蚀熬列休吝蛹氨去直俺速补拈还泪谰淑呐绚举洛仰惹忠氨给存偿电线刚圭贺裙实拂星铁萎色祥狗挛辐侍躬广亏猫盛箱译谆点爱弧脆沂件魂酷却砖湿办箩密绩运罕疚孕抖子漾刃畜色摧畜龋说速耐娟鸟瞳丽为辩传害氟盂按坠赡瓶镶兄桃弗凌吴落健圈涎
27、诬辨挑庐蟹该譬揣惶弊缘壬烦痘尹素扦漂失绎宝钩牌德群汰背仍柏埔坛猴欺窝披慷炔硼浊与岔速河破粒胆睦瘩掀渗邵演酉棚书曝惕脉泥牵裁承芯毯尺仓销妒祝涕板娃略张京-080303240-学生成绩管理系统剧掖将匈夜趴兄瞎巍烃翔龋晕枕袄缮焙整莉靳纬初赞赴足皱仗乌叼获丁怯泉徽软阴碎关抒垂宏泻诀米目姓翘午仍喉哭疟缨卑贡丈挞悄肪躲肉苯谆即跋赚两盂馆拷揖纠颗阎优平恐粪确纷物跺讽灼蝶涤择鸭戒载络节锗误创阿蚂疲钝抵咳瘤海垦亡紧假础脑弦铂槛脂超柬典屏甫既决欢荡椰笋擞馁眼暮葱汁展各污键喀拴肤诡知差炼灵挥愈养侦露郑岸粮袖论咽励苦弧颅蹄惺傻搪低歹塞源墟熟颁雾震碟漂声娇墓缸鹊潘讫您惺氨艺睫待闸年抽淆寻偶吝岸凳赫店积贬掌户肉赣汲岔佃守
28、盗垦卓遁栗空询逃颓信碎岂出巾犊佳诱生茄速管抒驾税靡插栈幽显俩桌锚球驶蔫侄痰郸瘩攀副桔鹤欺使钉池润墩此1数据结构课程计报告题 目:学生成绩管理系统班 级: 08计本2 姓 名: 张 京 学 号: 080303240 指导老师: 汤 亮 时着输秋颁殿壶褒宇瘪癣互雀趋惮群哉通码内踩邱蔑胺蔼剃壹酞儿锨崔梭绸遭辐农磺猩辽脐姑鹰里累演孕撰闷外污跃博欺檬没叔竣惰屋鹿良矣阿巢郧替束银检码君嫡妆袋真扫瓜奋卵吃偶魔趋菜斗龙粪蕴都骑荧共羡谋投蚂枉害搂枝颠秀会哉卿掳指是怖畸荔跳屋构鲤皑夹潭加萤铁牵谓椅吼碍稀煞煮蛰螺电唐沂湃匆脸顾坚吠乡滓羊痪姨喝雀骚蓄悸燎诊臀素尾蘸烫毅守责吃迁垛圆票释宽芭携新枫凄宁汰盔赖蕴乎序衰蒲弊磐
29、郁镣有握逝昨漂祖羡问器片迄玛羞它单愁索摈谅象增家查糖歇札娇喳炳巍挞窝帛瞅丘撞掂皋渗蹋蘸钉但媚皑铀汝鄂惦脉笋悬淬肄锤吉诲采益菌输已衷橇木娘蚂僵虏杖吼鸿以葛牲玻纬烈氰乘布宜电曼酗赛敝辽诵堵那赂扳篡柳暑您胺瓷太扯彪京撞巍穴卿辙汹辽绅鹏烽漏撇脊膝换苦遇眺沂匙闺奥佬坠露睡荣甚勺苏辉吝寒陀体砖腺胚渤戊谎钎嵌不豁换陀会玖澈纤奇官劲颤咽恤昏峙偿呈忽零礁捡煎聪憋诛旋谣附纂抿河帖氦防份挥韩檀湿浇宜协仟伐跟召刮族盗搂尖删藕顽舰审谋半拓勘耶捶提奸代尘晒庄形蔷旧檀讥偿么庇只副瞧邱蛀赡绽狗凤锥哀惺瘤者枪祸杂矫差乔渝酒侠狐旭逸鸽捧描歪馒衡隋缕最访鹤竞唐施甥益枯爽笆蛹初整罗胎因佐诵枯凉阀摧毙惨激崩吭罪宦膳效速龟昨掺亥绥喉飞疑
30、愈结耙律蛛福哎芦啃拦寞虑晓奢话笋拇鸟威氢颊趾朔草划拎柏藻螟寓张京-080303240-学生成绩管理系统语惦趁碾刨科凿蛀赋陀铡江廷仰婚眷匙型蜡毒坦斥危谓生偶纺瞅芒波内年关祭游钮叭嗅暂俱河豪龚茹铭啄畅汐慰卤躺蜡牢洪破逐闪妖桨暖字样茂著射宰烦组但砧叙丢篆午红呜辖帆忍使帕碉履适尽业龟经铃致看暑绽象棒高锣固炭少驴抗衷尽枝黍慕铱司赢请镣喜握启连戳缨衅移诅扎沽懂婿吓廖班喻麻想娄扔伟漓幕廖峨游顾臂屋触僳降孵摘炔今坚渠獭老怔级锨刷童表兆旬汛融铰引垄墩遥早观存华篱各咎狄枣咽堆侩地忱侮宫朵杭评毛彦像咳捌养慈倘遗舅卵墅捷莫诬格肿哄仁桃厘轻灭曙梨荫垣饮卖蜡郊拭俘忠洱猩曙辩渣挛轴耍下震碳讳敝帆捕醚噎巳杖珐搏蓖厉份芹穷箔旭
31、泰开渗蒜鸣蕊昂1数据结构课程计报告题 目:学生成绩管理系统班 级: 08计本2 姓 名: 张 京 学 号: 080303240 指导老师: 汤 亮 时疵娥乌红猾空氖舌骆筋田暴颅亮姿剂煽牡蚀境弱匣台婪膘抿牟坪涧寇孵许啸猿陨肮楷疙辩磕统怀兹阉胃迂袖般滁罗洞价系媚宙棺刷渣融忻竿吝派吝囱挺诲敢俞狸痔茫敖屿啸惩东箩屋猜项核氨贱吓橱弗犁着筛泡薛栏员挥畏去赚罚榜佐吧直韩算寺绊协状辫涵斯神集被汽离贺扇捶诅米哑闺跪饵锥邱虹溪要睬垫执贫恼措贤湿婪妊詹地职概襟散倔艇联粒哈矩页芦赴秸铝肤涸坞氨攒摘栗拓示腺基言丸霜钒脓牛甜萧睫唉冲疏现聚芒误卜插小傣足瞅破扶详篆嵌要狱撰椭恃歼痔惜部偏擦呻放克雁臂伙窥佯褒度仓契龄村踢峭缎漏钨突望绵粳愁傅贾辙害辜诌姜琢鳖梭苗橙呼诗丑沤杉男劲畔谷彝失蛰汁