项目程序代码_第1页
项目程序代码_第2页
项目程序代码_第3页
项目程序代码_第4页
项目程序代码_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

//========学员信息管理系统========//========宋焱鑫//==TXT文本文件实时存储数据,仍然运用结构体数组#include"stdio.h"#include"stdlib.h"#include"string.h"#include"conio.h"intscount;//定义数据库实际学生数量typedefstruct//定义学生信息结构体类型{charno[10];charname[16];floatscore[3];}STU;STUstu[10000];//声明结构体数组,以数据库中最大学生数量来定义//函数声明部分voidreaddb();//初始化学员信息,把外存中学生数据读入到内存中顿void泛save闻db();泛裁//贷把内存中结良构体数组中剩的学生数据疏保存到外存格中畏void鸡zhum住ulu()滥;巡//犹显示程序主讽目录遮void固disp令lay()煌;乖//雷显示所有学交员信息病void里inpu幕t();串败//毫录入新学员浩信息勾int啄fin短d(核char娱str[流80]);帮/途/煮查找指定学志号的学员,魔找到返回该判学员在数组弹中的下标,覆没找到返回还-1,st虏r寺代表指定学省号;在多个拳模块中用到鹅该函数离void路quer钢y();怎占//暂根据学号查制找,并显示授学员信息爸void踪upda斤te();宰毛//泊修改学员信斑息录void哪del(甘);墙落//庸删除学员信途息嚷void贷sort减();拆娘//和对学员进行株排序震void许avera网ge();垮//葡求学生成绩丑平均值概void脂guake变();携//不及括格学生虎//呢函数定义稻void跳main镰(){尤//火程序进入冤“脱欢迎界面绕”野print竞f(径"\n\n祸\n\n\合n\t\t卷欢迎进入详=====植===住学员信息管捞理系统疾=====满===\n锁"演);摄//狮按任意键初紧始化学员信脂息泻跃print始f(压"\n\t啄\t\t从按任意键初岂始化学员信刺息搜...\n滴\n"大);萌躬getch饶();室//颠从键盘收任刑一个字符即潮返回,该函括数在刊conio顾.h发中足沃readd唱b();燃//记初始化学员要信息,把外鞭存中学生数经据读入到内宴存中泛及print平f(湿"\t\t帮\t馒共有摸%d流条学员信息虑"每,scou发nt);诸//sco跨unt勿是实际学生岸数量奉严print躁f(认"\n\n涨\t\t\样t陶按任意键进熄入主目录菌..."都);击公getch咸();师//隶从键盘收任彩一个字符即歉返回,该函黄数在非conio松.h亩中桂职zhumu抹lu();帝//崭调出择“盲程序主目录悠”}根void摊zhum池ulu(){盛char内sele介ct;衬//毁代表用户所睁选择的子目届录号do{愤齿益syste文m(附"cls"翅);究摇抖print僵f(秧"====菜====门学员信息管纪理系统榴=====膝===\n邮\n"需);摔萝枯print化f(怕"物以下是程序或主目录,请未选择功能箱\n\n"铁);布珍场print巨f(咱"1)树显示醒\n2)似查找旨\n3)质录入煮\n4)些修改岛\雅n5)牲删除公\n6)可排序么\n7清)求学生成龄绩的平均值政\8)不及肿格学生域\n0)迹退出赔\n\n"拳);拿养净print价f(晕"巾键入功能前团的数字后,韵按峰\"Ent疾er\"熄键:吩"衰);棍违se抗lect=清getch吩ar();暂switc肌h矛(sele园ct){荣case敏'1'完:雷水//致显示所有学穗员信息销倍锁纽呆syste饰m(搂"cls"伙);安弱椒奋网displ牵ay();侦低属滨押错print呀f(犹"\n\n歼\t\t\苏t暮按任意键进神入主目录填..."侄);应getch上();肥//挂从键盘收任娃一个字符即始返回,该函唉数在竟conio蚊.h画中担break渡;怪考拴玩址case钞'2'侨:quer顶y();闯壳break景;幼朋//煮查询学员信仔息诵case猜'3'煮:inpu耍t();固稼break泥;锻狱//前录入新学员腥信息僚case珍'4'鲁:upda讯te();尝村捐break垂;喉求//克修改学员信榴息枕case蜜'5'严:del(学);视母break砍;脖//饺诱删除学员信确息翅case示'6'鞋:sort维();咱慎break果;秋//蒙对学员进行误排序盘晓c故a昏se质‘誉7仗’氧:aver携age()瓣;br锯eak;乓//搬求学生成绩客平均值蜜探c腥ase蹄‘押8玩’肾:guak转e();韵br杨eak;粮//求挂迫科学生萄case园'0'构:例暗妻break赢;抬孝//暖退出衡defau插lt伶:prin斥tf(鞋"耗请选择功能垃前的数字拦\n"智);你break战;谢明}声饮}崭while晕(sele碰ct!=男'0'山);}牙void蔽read绩db()狐//燃初始化学员方信息,把外异存中学生数返据读入到内锡存中{低叮FILE饺*fp;察if泳((fp=蹲fopen繁(窃"stud另b.txt陕"兔,恢"r"教))==N虾ULL)这宝{pr兼intf(仪"稍文件有错误乡!!!程序书不能运行!宾!!条\n"思);断者retur旱n半;堵顾}穷牢scoun蠢t=0;夕//sco贯unt测是数据库中泥实际学生数珠量,是全局衫变量蚊while垃(!feo省f(fp)克)泛//no会是学号,弯name挠是姓名,摊)core点是成绩{封//stu岁是学生结构蜂体数组,全版局变量搭或fsc雄anf(f揉p,秋"%s%蛋s%f毛%f%f稠"摸,stu[撤scoun稍t].no域,stu[框scoun逃t].na路me,&s株tu[sc届o扬unt].铺score凡[0],&淋stu[s按count盟].sco柳re[1]如,&stu询[scou旱nt].s眉core[旬2]);召if井(strc视mp(st湿u[sco遗unt].破no,寻""澡)!=0)辰sco共unt++妥;券//币去掉学号为从空字符串}概币fclos唯e(fp)线;}扔//菜把内存中结叉构体数组中焦的学生数据殊保存到外存粉中沈void校save戏db(){调int承i;稳哈FILE急*fp;道if炮((fp=篮fopen锤(燥"stud驴b.txt意"垄,识"w"摊))==N炊ULL)潜//救以写的方式域打开文件,活覆盖原文件袖崖{背prin增tf(觉"扑文件有错误茎!!!程序叔不能运行!支!!撞\n"液);光墙retur茧n公;铁插}或//stu愁是学生结构向体数组,全侧局变量谋for剧(i=0;们i<sco毯unt;i历++)叙//sco戚unt层代表实际的匪学生数量,州stu忍是表示学生歪信息的结构定体数组名古if倚(strc恳mp(st痒u[i].厦no,美""蚀)!=0)哑//奏去掉学号为群空字符串的度信息贿匆p离rintf蓄(fp,农"%-8s饮%-10s绞%练-10.1惠f享%吴-10.1宣f嚷%赵-10.1乏f谣\n"雨,stu[返i].no粗,stu[曲i].na具me,st牲u[i].羞score税[0],s盆tu抱[i].s晕core[限1],st郊u[i].谜score雄[2]);滚筐fclos店e(fp)辰;谢混}厅void库disp张lay()睁//誉显示所有学狂员信息{伙int位i;还良print恒f(期"\n%-谱8s%-1烂0s%-1鉴0s%-1俊0s%-1张0s\n"缺,愁"诵学号朵"益,厌"拌姓名榆"颜,懂"夜语文装"占,陶"宏数学粗"堵,朵"麦英语梦"婚);姥征print虾f(让"%-8s流%-10s捏%-10s挨%-10s泊%-10s竭\n"裙,露"====沸"越,可"====青"国,镇"====职"擦,获"====赔"希,阀"====物"僻);望for站(i=0;析i<sco许unt;i栋++)接//睛在他print染f津中,振“论-坏”嘱表示数据左吊对齐,混“办.1袭”挤中的表示输太出宽度,楚“愧1径”宿表示输出位膝小数已短pri沙ntf(韵"%-8s梳%-10s弦%湖-10.1斩f更%底-10.1颠f诵%貌-10.1菌f骆\n"狐,stu[坑i].no凶,stu[烦i].na周me,st妻u[i].铲score早[0],s愈tu[i]摊.scor档e[1],偏stu[i稻].sco知re[2]巾);}银//瞧查找指定学改号的学员,死代表指定学万号(我str悔)的下标,辉如果指定学监号不存在,馅返回暴-1面;在多个模鸟块中用到该颗函数山int喝fin燥d(誓char促str[昆80]){贿int疏i;芝fo习r煮(i=0;怀i<sco源unt;i客++)仪if关(strc忧mp(st承r,stu桶[i].n杯o)==0唤)箱retur鼠n诉i;博retur赏n看-1;}浆void吵quer甩y()湾//穿根据学号查陷找,并显示切学员信息{峡char塞str[棵80];舞int胃n;娇sy青stem(众"cls"喂);仅pr垂intf(岸"\n读请输入要查耽询的学生的墨学号:扇"泰);打sc沈anf(忧"%s"摩,str)洗;俘n=循find(武str);式if尺(n==-半1)佳//fin涛d乳函数返回值阁,那n末代表指定学干号的下标,膏如果指定学筛号不存在,励返回千-1汉址pri洁ntf(孤"\n倘对不起,您康要查找的学记员不存在前\n"活);else检{茂print齐f(维"\n%-驶8s%-1学0s%-1霜0s%-1佛0s%-1臂0s\n"义,尽"春学号削"信,姨"爸姓名昆"统,贵"炎语文篇"造,波"垄数学嘱"朴,局"俭英语妨"剥);们叉pri甩ntf(题"%-8s幼%-10s衣%-10s脚%-10s朵%-10s劈\n"凉,海"====迈"绩,来"====牛"艳,打"====绵"皇,途"====劣"有,掌"====额"夜);城挨岂pr茶intf(唇"%-8s歪%-10s搂%范-10.1扫f苏%握-10.1乓f龄%浅-10.1旋f六\n"逮,stu[扰n]艰.no,s推tu[n]经.name盏,stu[慕n].sc叶ore[0全],stu孙[n].s梯core[毁1],st饶u[n].化score理[2]);}捉pr屡intf(伐"\n\n输\t\t\物t刮按任意键进跳入主目录螺..."桃);厚//币显示完毕,揉提示用户返歇回主程序表献getch块();既//彼从键盘收任芒一个字符即燕返回,该函墨数在举conio蝶.h均中}圆void更inpu奴t()充//榜录入新学员甚信息{缠结STU共s;松//膊代表新学员笨信息情int朋i;献//打先显示已有创学员信息孩贫syste透m(沃"cls"追);内腹阶print专f(骂"脑当前学员信裳息如下:筋\n"加);嘴奉print词f(扔"\n%-贩8s%-1示0s%-1辅0s%-1都0s%-1停0s\n"急,迹"予学号蛙"抚,年"氏姓名悦"挣,胞"克语文竹"维,而"绸数学锁"谁,之"领英语境"递);质捧print箭f(域"%-8s详%-10s提%-10s搭%-10s故%-10s它\n"跪,贫"====厌"粘,滚"====外"但,追"====廊"宴,壤"====碧"束,轨"====群"李);陆for蔬(i=0;木i<sco杰unt;i膜++)汤//现在赵print糕f敌中,询“喘-诊”畏表示数据左牲对齐,六“惭.2抚”和中的表示输抱出宽度,弊“确.2御”牵表示表示输望出两位小数堪作pri任ntf(贪"%-8s慧%-10s冻%银-10.1睁f韵%逃-10.1允f坛%橡-10.1申f逢\n"亲,stu[如i].no棍,stu[席i].na涌me,st辩u[i].蒜score柳[0],s翠tu[i]除.scor院e[1],扁stu[i洪].sco秩re[2]何);累//数下面输入新撤学员信息厦序print犯f(菜"\n\n搬\n夜请输入博\"肾学号嘉\"命,乖\"更学号饭\"竭不允许为空扫字符串:爪"维);岭描scanf乱(杆"%s"尤,&s.n洁o);链副print府f(乔"\n开请输入管\"续姓名互\",白注意阴\"植姓名合\"铃里不能加空妥格:焦"静);端宪scanf顿(球"%s"裕,&s.n第ame);电荣print读f(酿"\n更请输入眨\"置语文成绩汽\"财:肃"拢);晒妇scanf途(巾"%f"台,&s.s抄core[捧0]);纺悉print代f(稠"\n谱请输入谈\"貌数学成绩恋\"商:伶"铜);隔俘scanf嘴(舒"%f"叫,&s.s挽core[服1]);决昨print慢f(哄"\n乐请输入加\"塘英语成绩彩\"粱:锤"果);序键scanf目(剖"%f"仙,&s.s践core[晋2]);勤//耀把临时结构路体变量言s钱赋到结构体勉数组中爸;颤同时把表示奇学员数量的桐变量秒scoun堆t阶增加拣龟stu[s件count笑++]=s旱;匙sa残vedb(猪);药//津把内存中结徒构体数组中炉的学生数据瞧保存到外存梯中旺牌print联f(宣"\n\n观\t\t俩\t液按任意键进坊入主目录管..."胞);慢倚getch凳();致//街从键盘收任逃一个字符即妻返回,该函矿数在嫁conio浓.h搜中}数void受upda势te()储//病修改学员信膝息{蛾int塌n;牛char虫str[损80];S跪TUs;贫sy桂stem(盟"cls"宏);销pr跌intf(面"抹当前学员信掌息如下:径\n"烂);母di尺splay旁();雁//葵先显示所有俭学员信息单pr沈intf(穿"\n绸请输入要修嫂改的学生的惠学号:蓝"做);羽sc诸anf(妨"%s"召,str)隶;歌n=表find(展str);突if坦(n==-焰1)舟//fin星d迟函数返回值帆,贡n忧代表指定学扣号的下标,琴如果指定学点号不存在,笑返回悔-1总车pri功ntf(刘"\n姑对不起,您柄要查找的学储员不存在帐\n"顾);else余{礼激//证您要修改的茂学员信息名旨pr老intf(真"\n拜您要修改的亚学员信息如你下:涉\n"钢);雨升pr找intf(烘"\n%-宾8s%-1鞋0s%-1问0s%-1轨0s%-1览0s\n"成,生"脆学号编"成,里"淘姓名屡"六,疮"罪语文由"栋,依"沟数学诱"席,竞"姐英语壤"灾);水叫pr种intf(凑"%-8s虎%-10s锯%-10s奖%-10s锅%-10s经\n"婆,芹"====源"愤,题"====步"响,细"====洋"霸,树"====叛"归,建"====该"商);万燥伟pr梯intf(窝"%-8s芹%-10s羽%暴-10.1来f留%羊-10.1隔f曲%衫-10.1晕f呆\n"汪,stu[押n].no蹄,stu[外n].na柿me,st欧u[n].边score松[0],s灭tu[n]源.scor嘴e[1],菠stu[n围].sco蒜re[2]禽);仇//杯输入修改后箩的学员信息密//哨下面输入新雀学员信息填还pr顷intf(奉"\n\n惧\n疼请输入修改苏后的钟\"树学号烧\"趋,院\"衔学号值\"似不允许为空档字符串:相"裕);引深sc牲anf(快"%s"倚,&s.n安o);培墙pr班intf(掩"\n绞请输入修改稿后的婚\"看姓名堆\",值注意豪\"绵姓名里洞\"画不能加空格扩:决"征);亭牵sc尚anf(越"%s"险,&s.n池ame);逼姜pr患intf(齿"\n砌请输入修改擦后的狠\"守语文成绩匆\"耽:萄"步);输首sc毁anf(更"%f"找,&s.s紧core[珍0]);辨漫pr汁intf(敲"\n冷请输入修改沃后的勇\"棉数学成绩虎\"翼:吸"误);袜霉sc烘anf(辞"%f"请,&s.s誓core[睁1]);飘哄pr纹intf(机"\n新请输入修改牛后的呜\"油英语成绩厅\"戚:宁"添);或串sc乖anf(酿"%f"咳,&s.s来core[袖2]);猎治st呼u[n]=六s;材//滨把修改后的恨值保存到内晴存数组中棍坟sa序vedb(艳);梨//搁把内存数据歇保存到外存循数据文件中柳遵pr休intf(容"\n\n深\t\t\市t档祝贺您修改托成功!登"替);}拳pr鄙intf(窜"\n\n耳\t\t\延t纯按任意键进浆入主目录补..."警);抗//粗显示完毕,犹提示用户返刚回主程序南挣getch恳();缝//虑从键盘收任国一个字符即乡返回,该函赤数在亲conio颤.h袖中}分void还del(袜)吨//节删除学员信悠息{赢int毕n,i;远char顾str[身80];渠char路ch;且sy界stem(错"cls"鸭);速pr标intf(观"\n腾请输入要删熊除的学生的丛学号:扣"秃);季sc喘anf(竞"%s"剃,str)莫;装n=虽find(屋str);洒if摆(n==-栋1)凤//fin缺d匆函数返回值员,奴n节代表指定学懂号的下标,月如果指定学蝇号不存在,鬼返回汪-1装狡pri些ntf(既"\n涉对不起,您迹要删除的学蛾员不存在邪\n"笋);else奖{悄业//雅您要修改的碗学员信息踪外pr匙intf(玩"\n猜您要删除的爪学员信息如酱下:嫩\n"杨);脱山pr笼intf(舌"\n%-尸8s%-1致0s%-1泼0s%-1腿0s%-1兵0s\n"计,娘"握学号映"鲜,煤"摄姓名蝇"盾,蔽"月语文痒"蠢,岂"忘数学疏"谦,川"汗英语永"驾);溜居pr膜intf(慨"%-8s跌%-10s团%-10s仆%-10s习%-10s猛\n"蚊,氧"====码"紫,符"====冠"读,食"====宣"残,沿"====甚"妄,迹"====童"觉);辆膊蒸pr娱intf(夸"%-8s判%-10s攀%喘-10.1诵f牵%枕-10.1协f记%遵-10.1周f组\n"括,stu[哑n].no顶,stu[庙n].na坟me,st设u[n].肠score光[0],s蚕tu[n]菜.scor普e[1],泽stu[n握].sco扮re[2]朵);亩//冷提示用户是甩否继续删除漠操作骆牢pr街intf(龄"\n注您将删除该移学员信息,虑继续删除,扁请输入泡\"y\"驰或者周\"Y\"岁,亲否则,请输捆入邀\"n\"融或者桑\"N\"朴:"萄);讲搭do先{sc灰anf(完"%c"伯,&ch)着;帐}孙while化(!(ch迟==拍'y'选||ch=刺=冶'Y'腿||ch=架=袄'n'衬||ch=颠=谅'N'悬));捏if做(ch==帽'n'旦||ch=粪=疤'N'曲)pri占ntf(唇"\n照您已取消删确除操作,删泽除不成功废!\n"缩);完if叼(ch==房'y'西||ch=崖=偷'Y'亲)龟续{晶夹for堆(i=n;荷i<=sc吸ount-默2;i++奇)st斩u[i]=知stu[i福+1];扔//悄删除指定学交号膛谊胸scou绕nt--;徐势顺save呈db();宴//艇把内存数据夺保存到外存筋数据文件中着替星pri去ntf(偶"\n优恭喜您已成屋功删除!马\n"馆);}}呈//胜显示完毕,锯提示用户返厕回主程序吩pr稍intf(颗"\n\n读\t\t\庙t吩按任意键进侍入主目录伞..."凑);仅ge油tch()馋;嚼//昂从键盘收任竹一个字符即肝返回,该函茧数在威conio申.h伐中}躺void建sort党()踢//秧对学员进行盒排序{船char份sele淡ct;攻洒//壤代表用户所拖选择的子目节录号卷int港i,j;强STUt波;革//膝定义排序用由的临时变量do{谷副战syste蓬m(哗"cls"策);善搁址print式f(度"====耐====昨学员信息管度理系统兽=====沾===\n拐\n"跌);江脱即print林f(熊"袋以下是排序答子目录,请晌选择功能较\n\n"织);检盘过print乐f(西"1)墙按学号升序资\n2)逝按学号降序辩\n0)校退出缝\n\n"宅);性框预print惊f(僻"纪键入功能前桶的数字后,肠按票\"Ent殖er\"栗键:三"免);榜绸se蠢lect=喝getch辰ar();敌switc恨h盲(sele而ct){滔case浓'1'伟:保//协按学号升序却晃拘章prin它tf(部"\n丝按学号升序蹈结果如下:钳\n"脾);护for闻(i=0;蚊i<=sc刊ount-园2;i++膜)寒for枪(j=i+蚕1;j<=寸scoun杜t-1;j封++)雾if害(strc乔mp(st抱u[i].爆no,st齐u[j].物no)>0摧)篮{t=st监u[i];愚stu[i季]=stu伤[j];s留tu[j]们=t;}好displ摔ay();预趴//少显示所有学逢员信息缴绞劈年pr余intf(菊"\n\n胁\t\t\也t喇按任意键进术入排序子目屑录温..."搁);够萍史get社ch();页馅//请从键盘收任获一个字符即棒返回,该函兼数在漏conio倒.h梅中首锻逃派夹saved效b();刷愈//迷把内存中结收构体数组中销的学生数据围保存到外存锹中肠break轨;锈case安'2'虽:脾//冰按学号降序恒疾点吩乐print梢f(肢"\n萍按学号降序昂结果如下:滨\n"愈);毁for劣(i=0;他i<=sc扔ount-质2;i++栗)盈for奔(j=i+邪1;j<=甲scoun航t-1;j甘++)纵if姨(strc饱mp(st赵u[i].针no,st衔u[j].终no)<0央)奴{t=st催u[i];夫stu[i慨]=stu签[j];s酱tu[j]筝=t;}俗displ伞ay();负掌//焰显示所有学程员信息条奋扁谁记print鼓f(祸"\n\n快\t\t\亚t今按任意键进栏入排序子目误录歌..."壤);搅利节get严ch();适检//得从键盘收任披一个字符即蔽返回,该函塘数在涂conio政.h请中伸}负void膛ave沃rage晴()//每平均分身{c役hars庙tr[80掌];int争n;fl弯oata禾v;cha心rch;折sy椒stem(稼"cls"怒);迈pr鱼intf(吃"\n请输摸入要计算平秩均分的学生预的学号:"证);条sc危anf("秃%s",s抹tr);杆n=忆find(抖str);州if没(n==-侍1)//f堂ind函数释返回值,n办代表指定学顺号的下标,哀如果指定学鉴号不存在,默返回-1绩煮pri递ntf("唇\n对不起兵,您要计算兼的学员不存钩在\n")渐;饭el截se寺{良av=(筒stu[n稠].sco榨re[0]烘+stu[吊n].sc炕ore[1永]+stu弊[n].s站core[饲2])/3竭;蚀pr黎intf(滚"\n您要引的结果是:婆平均分=%享10.1f该\n",a绞v);必}姓//提示肥用户是否继蜻续计算操作朋pr毙intf(劳"\n您还框可计算一位社,继续,请葱输入\"y纲\"或者\怨"Y\",闹否则,请输圆入\"n\领"或者\"锤N\":"清);悔槽do蓝{sc甜anf("滩%c",&异ch);愤}whil兄e(!(c牧h=='y草'||ch委=='Y'炎||ch=故='n'|为|ch==通'N'))浪;嗽if近(ch==宴'n'||带ch=='筐N')p找rintf与("\n您么已取消

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论