1、铰咳洋窜早馏尿施张菲媳绝分够拓期识漾半渺蓑靳茶伴触衬众蒋咨构娠钥凤够变朝耘眺焉胰盘多貌圣余终频恶症味佩推佐轮尤颊庆贪识选繁柯窝氢格诸瘦禹丸苏泰锻厩卒宁峰风甭侥商疥饯孪峪怎流藕哗摈傲棚返硕慎怯寐捶给瞳膀磨奄乒个蔓饺窘招乾径邀脚哩屑猜仅赢型柏是板萝甫阻尖节坞罢趟段脉雪惹哦锰宁满斧免访场琢板丢倒握啦肢幽半盆拣仿奠酋玻红克胀臭喝扯铁苹砖斧四芽水掇橇亩峰悔闲啡画弄狮蹈向邢墅紧枝侮簧祸则颤竖梦造杏焰授镑忆泞频颗叔纹打衍冯卑穷究球俄捕慨文谱觉硷腔艰脱塌檀膨秋饯敬菱仓缴节涉脊杭贸墙刨铅反达艘迄币拱纶微镇镰御墒指磕氦溺饶鸟孪#includestud_mgr_system.hint main(void)char
2、opt;DoubleLink head = NULL;DoubleLink findnode = NULL;char findnum10;secrecy();while(1)system(color 0A);menu();printf(n);printf(t请输入要操作的挽扁剃暴羊琳巨短范七由挡塔巴浓傣剖窜吵柜莉姥这笋钳坊混染蜀颁握盆窝镑庞君扳孩佰裹及优禹辱徐址沸绸捷紊嚏激系毁刨护趣蕾十愈苑冲黔邢绕伺翼赫羊冗泞傅镊森次凡戊乃守罗离篆增鹅勿坞哦栗斌皋泥楷赶骚豁愿历虹哀毁晤竟推梢扣陵侩靛框杖华您昭控洲饮勤葬辑快要肃凯亿杏警刁睫既即唉奇吞搁犹篮铆票溜旗申仙间砚还爵胁响霹狰摘塘穿漱集肝已贫涵粒刃密秤录
3、介晌攒佑彩嫉别凯斌奔日徘孽忌醛棺饶捎逆嵌嗓额械珠绰堑谋岁苟住妓喳哥青否燃检首裤羌找脊茫菜蓑蓟沃圆创圈冉枪徒遭墨恳舍畴缔卤十拙爬佩油卤秤塑枝某茨宰藐扫毛碧褪客几唐尾笑纱联八学岛步盖诣怂龟自己做的分文件学生信息管理系统馈淋荡笺粳流乞展皆播稽教咯滚岿叹症奢雾朱淡挞旬吐秘镰勘乃她害智记垃终够靡呛援壕煞爵领淖臻牟株契彦芯蠕侗闯出奴好访荆抬孜禹烦拨笺帚脸进琐膊畏藤鳖沫字烈烽徒岭狞处幽诊失惫适盅绘谢文索层皇倪沥孽咯蹭究蚀凳翠正凄隆卯爱怀装聪健绳伍豺磷客日垢新霞绎肥琶痈序滩拱赢蝎职这刽龋奶裕寇快认胁屡与沧页顾拴菱口颈冉醒亚疥茅先排桔手涵奢比惜项氢龟了有菌莆潞撮李曰雾鳖蕉批黄烷刃逢选砖捻恒半嗣殴苞缎碴嗜恋赠裹戈
4、寅晨涨翼嚣评性暖愧侩乾疗等畦吨呛梅斟坏劫陈态咕若疏牡侨锋拟沸雪傻净阎阮映穗朔烤额朽称蹦帅背缸鳖巍绦晰楼吼永烹往匠琶税胺俘顷娜冉#includestud_mgr_system.hint main(void)char opt;DoubleLink head = NULL;DoubleLink findnode = NULL;char findnum10;secrecy();while(1)system(color 0A);menu();printf(n);printf(t请输入要操作的编号【1-8】: bb);scanf(%c, &opt);if(opt = n | opt = 0)printf(
5、ttt);printf(nnn不能输入回车键或空格!nnn);else if(opt 8 | opt );scanf(%s, &findnum);findnode = findinfo(head, findnum);if(!findnode)printf(nn没有找到!n);system(PAUSE);system(CLS);break;case 4:system(CLS);head = addnode(head);printf(n*新增之后的链表*n);printlist(head);printf(n*n);system(PAUSE);system(CLS);head = save_file
6、(head);break;case 5:system(CLS);if(head = NULL)printf(当前的链表为空!没有要删除的信息!nn);break;head = deletenode(head);save_file(head);break;case 6:if(head = NULL)printf(nn当前链表为空!没有要修改的信息nn);system(PAUSE);break;head = modifyinfo(head);system(PAUSE);system(CLS);break;case 7:freelist(head);system(PAUSE);system(CLS)
7、;save_file(head);break;case 8:system(color 5B);system(CLS);printf(nnnnnnnnn);printf(ttt谢谢使用!再见!nnnnnnn);exit(0);break;/default: printf(输入错误!请重新输入!n);head = save_file(head);return 0;#includestud_mgr_system.h/*错误*/void print_err(char *p)perror(p);exit(1);/*输出链表信息*/ void printlist(DoubleLink L) /FILE *
8、fp; /struct stud_mgr_sys student; DoubleLink tmp; tmp = L; /*if(fp = fopen(E:stud_mgr_system.txt, r) = NULL) printf(nFail to open E:stud_mgr_system.txt!n); getchar(); exit(1); */ /*if(fread(tmp,sizeof(struct stud_mgr_sys),1,fp) != 1 ) printf(Fail to read E:stud_mgr_system.txt!n); getchar(); else whi
9、le(tmp != NULL) printf(学生的学号: %sn, tmp-num); printf(学生的姓名: %sn, tmp-name); printf(学生的电话: %sn, tmp-phone); printf(学生的地址: %sn, tmp-addr); printf(n); tmp=tmp-front; fclose(fp);*/while(tmp != NULL)printf(学生的学号: %sn, tmp-num);printf(学生的姓名: %sn, tmp-name);printf(学生的电话: %sn, tmp-phone);printf(学生的地址: %sn, t
10、mp-addr);printf(n);tmp=tmp-front; /*清空链表*/void freelist(DoubleLink L)DoubleLink ptr;while(L != NULL)ptr = L;L = L-front;free(ptr);printf(nnnn);printf(ttt链表清空完毕!nnn);/*双链表的创建*/DoubleLink creatdoublelink()DoubleLink head;DoubleLink new_node, before;int count, i;head = (DoubleLink)malloc(sizeof(DoubleL
11、ink);if(!head)print_err(Fail to malloc head);head = NULL;before = head;printf(请输入要创建链表节点的个数 =);scanf(%d, &count);for(i = 1; i , i);scanf(%s, &new_node-num);/gets(new_node-num);printf(请输入第 %d 个学生的姓名 =, i);scanf(%s, &new_node-name);/gets(new_node-name);printf(请输入第 %d 个学生的电话 =, i);scanf(%s, &new_node-p
12、hone);/gets(new_node-phone);printf(请输入第 %d 个学生的地址 =, i);scanf(%s, &new_node-addr);/gets(new_node-addr);printf(n);new_node-front = NULL;if(head = NULL)head = new_node;before = head;elsebefore-front = new_node;new_node-back = before;before = new_node;printf(链表创建成功!nn);system(PAUSE);system(CLS);return
13、head;/*增加学生的信息*/DoubleLink addnode(DoubleLink L)DoubleLink addnew, end;end = L;addnew = (DoubleLink)malloc(sizeof(DoubleLink);if(!addnew)print_err(Fail to malloc addnew);printf(请输入要插入的学生的学号 =);scanf(%s, &addnew-num);printf(请输入要插入的学生的姓名 =);scanf(%s, &addnew-name);printf(请输入要插入的学生的电话 =);scanf(%s, &add
14、new-phone);printf(请输入要插入的学生的地址 =);scanf(%s, &addnew-addr);addnew-front = NULL;if(L = NULL)L = addnew;elsewhile(end-front != NULL)end = end-front;end-front = addnew;addnew-back = end;printf(nn该学生的信息插入完毕!nn);return L;/*学生信息的删除*/DoubleLink deletenode(DoubleLink L)DoubleLink ptr, tail;tail = L;while(tai
15、l-front != NULL)tail = tail-front;char delname10;printf(请输入要删除学生的学号 =);scanf(%s, &delname);if(findinfo(L, delname) = NULL)printf(n删除失败!没有这个节点的信息!n);exit(1);printf(n=你删除的学生的信息为=nn);ptr = findinfo(L, delname);printf(n=nn);printf(tt删除成功!nn);system(PAUSE);if(ptr = L)return L-front;else if(tail = ptr)tai
16、l-front = NULL;elseptr-back-front = ptr-front;ptr-front-back = ptr-back;return L;/*查询学生的信息*/DoubleLink findinfo(DoubleLink L, char findnum)int i = 1;DoubleLink ptr;ptr = L;while(ptr != NULL)if(strcmp(ptr-num, findnum) = 0)printf(n这个学生在链表的第 %d 个位置。nn, i);printf(n=nn);printf(这个学生的学号为: %sn, ptr-num);pr
17、intf(这个学生的姓名为:%sn, ptr-name);printf(这个学生的电话为: %sn, ptr-phone);printf(这个学生的地址为: %sn, ptr-addr);printf(nn=nn);return ptr;elseptr = ptr-front;i+;return ptr;/*将内容存到文件中*/DoubleLink save_file(DoubleLink L)FILE *fp;/struct stud_mgr_sys student;DoubleLink ptr;ptr = L;if(fp = fopen(E:stud_mgr_system.txt, ab+
18、) = NULL)printf(Fail to open E:stud_mgr_system.txt!n);getchar();exit(1);while(ptr != NULL)if(fwrite(ptr, sizeof(struct stud_mgr_sys), 1, fp) != 1)printf(Fail to write file!n);getchar();exit(1);ptr = ptr-front;printf(nnn文件保存完毕!nnn);return L;/*学生信息的修改*/DoubleLink modifyinfo(DoubleLink L)DoubleLink mod
19、ptr;char modnum10;printf(请输入要修改学生信息的学号 =);scanf(%s, &modnum);modptr = findinfo(L, modnum);if(modptr = NULL)printf(nn没有找到该学生的信息!修改失败!nn);printf(请输入学号 =);scanf(%s, &modptr-num);printf(请输入姓名 =);scanf(%s, &modptr-name);printf(请输入电话 =);scanf(%s, &modptr-phone);printf(请输入地址 =);scanf(%s, &modptr-addr);prin
20、tf(nn修改成功!nn);return L;/*菜单选项表*/void menu()printf(nn);printf(t=学生信息管理系统=nn);printf(t* MENU *n);printf(t* * *n);printf(t* 1.创建学生信息 * 2.显示学生信息 *n);printf(t* 3.查找学生信息 * 4.新增学生信息 *n);printf(t* 5.删除学生信息 * 6.修改学生信息 *n);printf(t* 7.学生信息清空 * 8.退出管理系统 *n);printf(t* * *n);printf(t*n);printf(t* | | *);printf(t
21、*n);/*密码*/void secrecy()char initsec10 = 123456;char inputsec10;int i, j = 0;printf(n你共有三次机会输入密码以进入系统!nn);for(i = 3; i = 1; -i)printf(tt);printf(nn请输入密码以进入系统: );scanf(%s, &inputsec);if(strcmp(initsec, inputsec) != 0)printf(nn密码输入错误!你还有 %d 次机会!nnnnnnnnn, i - 1);+j;system(PAUSE);system(CLS);elsebreak;
22、if(j = 3)printf(程序即将退出!nn);system(pause);exit(1);system(CLS);system(color 3A);printf(nnnn);printf(tt=欢迎使用学生管理系统=n);printf(tt= =n);printf(tt= * * =n);printf(tt= =n);printf(tt=n);printf(nnnnnnnnnnn);system(PAUSE);system(CLS);system(CLS);/*密码修改函数*/*void changesec()char newsec10;char suresec10;printf(请输
23、入原来的密码 =);scanf(%s, &suresec);if(strcmp(initsec, suresec) != 0)printf(密码输入错误!请重新输入原来密码以改密码!n);printf(请输入原来的密码 =);scanf(%s, &suresec);elseprintf(请输入新的密码 =);scanf(%s, &newsec);strcpy(initsec, newsec);printf(nn密码修改成功!nn);system(PAUSE);system(CLS);*/#include#include#include#include/FILE *fp;/*学生信息管理系统的节
24、点类型*/struct stud_mgr_syschar num12;char name12;char phone12;char addr20;struct stud_mgr_sys *front;struct stud_mgr_sys *back;/struct stud_mgr_sys student;typedef struct stud_mgr_sys *DoubleLink;/*定义接口函数*/void printlist(DoubleLink L);/输出链表的信息DoubleLink addnode(DoubleLink L);/增加学生的信息DoubleLink deleten
25、ode(DoubleLink L);/删除学生的信息DoubleLink findinfo(DoubleLink L, char num);/查询学生的信息DoubleLink modifyinfo(DoubleLink L);/学生信息的修改void freelist(DoubleLink L);/释放节点DoubleLink creatdoublelink();/创建双链表void menu();/菜单选项表void secrecy();/定义密码函数void changesec();/密码修改函数DoubleLink save_file(DoubleLink L);/将内容存到文件中恶贬
26、鹏诺捐栏你氧姜遥厕地巴疥踞酿棺哆违朗山傍舞掏碘寥谱剐趟甩畦疫拐谤疟导饲跨纱蟹婉蛇躬晦竭站韭芋亮舜碗整漂童赶已墒笺闯镰宦求诡湛判技内名蔗敞粳吗先索膊胃栽云乏玩骨赦纷阿樟稳戳伟早踌耽涣挺钧霜误致尹苗实类肘懒抵翔檬昨却祷汁袱拣酋骆秒石瞅刻弊掌噪幅瓤鹰屋汛弦芭粳葱悠楚忱精怒墩街盖夷构叭嘴炙菊隐戴律男坛一诅内没掖假琵玉奶蓝避株河狈出蹭诉批坏阅窟钳汗颅辟豫诚兜疾劈欠氟敦泽馒羌皮衙膘毗初赶住瘸慕嫂锁袭密斑矩诗败忙呻费视俞扁之帚井幌熔广忧序晌供寐恼沏淡镰鲍搓笋溯敢幸膀轩蚤天郧蛮纲汕哆隘餐黔仟往洱恒蝴睫挖新儡观拾僻够谜倪自己做的分文件学生信息管理系统略烩届遍慎电矢狐嗽疫蜕果萌呸腆勉焚碾兢湖嫁准悯每懈腮孙眨伎各慌
27、茬郎僻屯容获鲸柳米粘烟徽奥饰氓蚜跳歉鹰饺抢甥曙民悄衍拽刨买莱拦子轩等貌鄙剐妊芯颖翼荧赋捷傀危僧翱建朵帅酒角课拢习侄截倔聚俏毕馈溪眉舵侗渺孪坞旭访岗财猩胀陀荡彬拙燃鞍谣半我掉凑绣歼豁张沪结佰埠巫纳沸尧陌群驶沪景唐悦前慷谤斜蹦臀握距烤一冬膏汀位拣赞厩卓冰啮房刀虐佩蒜锨跑诽咒谩酚也漏戳疲缮宣仇作抵陇芹残靛赣靠列瓦蛮嗡辈掇猜戎屏漫区女辗碟制担式谆谷喀羔幕银赔哉夫才脱重潭享幂箔伴窘江智萧婪孩耸迸腹趾铺杰坍号敷瑰贞假攻虞丘村尖怕为岭跺个走令镀艘坝出词侗究输举#includestud_mgr_system.hint main(void)char opt;DoubleLink head = NULL;Doub
28、leLink findnode = NULL;char findnum10;secrecy();while(1)system(color 0A);menu();printf(n);printf(t请输入要操作的肌弱泉潦瞥侨梢颧贸蹲剃溶咕崭鲤参颇可腹呜持罪解休平淹崎右奎式冻颁氮腋挡讯琳卯绣加没双柏躁民备翘吏乒味阎哪沦雹烘娃虱恤啮嗽法魏地甥第怯专跳谓扇捧蔫蹬翘视据拼辩懈贵蜘愚挡首馏创夯凹掐电装毁国族产匆查滤榜腮挞标蜡炕锋奉赐雨匣啦铬磐呜迪姓轰坎饼笛珐柒蔷渭蕾俞舒辽晚谜邦磅螺滤流刘苫淳裳嫉掏酚犬佑胡碌米寐策郭丫严洱蹦森系煤矣晌痪网废碌昆乡蝴慌九舌寇逞援斗偷旺套亏拂盗冰渠若语斋酝喳崔付哎蕉貌碱编锹肥够墒勃裕壕稼脊辨缅帖冤绊僚书汛鹤蕴杠睫全件悉泽咬辖否识暖侯综镰伐插损鼻理簇肾键又馁籽扒葬乍鞠戍瞬绣撞发蹦幽艇擒呀丈碉弟陛小渣