版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/*#include#include#include #include#define MAX 500 /定义储存容量typedef structint month,day,year。/出生年月BD。typedef structint number。/学号char name13。/姓名char sex7。/性别:male or femaleBD birth。/出生年月MM-DD-YYchar addr35。/地址ST。ST studentMAX。/全局变量/*函数声明*/void menu_show()。/显示菜单void menu()。/菜单响应char get_menu_choice()。/
2、获取菜单选择信息FILE*file_operate(char*mode)。/文件操作模块voidadd(FILE*fp)。/添加学生信息void show(FILE*fp)。/显示学生信息void search(FILE*fp)。/查找学生信息void modify(FILE*fp)。/修改学生信息void del(FILE*fp)。/删除学生信息voidf_backup()。/文件备份void psw_check()。/密码验证voidset_psw()。/设置密码int main()system(cls)。psw_check()。menu()。return 0。/* voidmenu_sh
3、ow()printf(nn)。一叶星尘S欢*主函数*显示菜单*void menu()while(1)menu_show()。switch(get_menu_choice()case 1:add(file_operate(a)。system(pause)。system(cls)。break。case 2:show(file_operate(rb)。system(pause)。system(cls)。break。case3:search(file_operate(rb)。system(pause)。system(cls)。break。case 4:modify(file_operate(rb)。s
4、ystem(pause)。system(cls)。break。case 5:del(file_operate(r)。system(pause)。system(cls)。break。case 6:f_backup()。system(pause)。system(cls)。break。case 7:set_psw()。system(pause)。system(cls)。printf(t+- - +n)。printf(t|学生档案管理系统|n)。printf(t|-|n)。printf(t|【1.输入数据】|【5.删除数据】|n)。printf(t|【2.显示数据】|【6.备份数据】|n)。print
5、f(t|【3.查询数据】|【7.设置口令】|n)。printf(t|【4.修改数据】|【0.退出 】|n)。printf(t+- +n)。*菜单响应模块*break。case 0:printf(Thank you for use this program.n)。system(pause)。system(cls)。exit(0)。/正常退出char get_menu_choice()char menu_choice。dofflush(stdin)。printf(Pleasechoice:)。scanf(%c,&menu_choice)。if(menu_choice7)puts(input
6、error,try again.)。while(menu_choice7)。return menu_choice。FILE*file_operate(char*mode)char choise。FILE*fp。dofflush(stdin)。if(fp=fopen(d:student,mode)=NULL) /打开文件puts(File operation failure)。puts(Try Again(y/n)?)。scanf(%c,&choise)。while(choise=y|choise=Y)。if(choise=n|choise=N)exit(1)。/非正常退出return
7、fp。void add(FILE*fp)*接收菜单选择*文件操作*输入资料*int i=0。char choice=y。doprintf(No.(11101040221): )。scanf(%d,&studenti.number)。printf(Name(less than 12character): )。scanf(%s,&)。printf(Sex(maleor female): )。scanf(%s,&studenti.sex)。printf(Birthday:n)。printf( year:)。scanf(%d,&studenti
8、.birth.year)。printf( month:)。scanf(%d,&studenti.birth.month)。printf( day:)。scanf(%d,&studenti.birth.day)。printf(Address: )。scanf(%s,studenti.addr)。if(fwrite(&studenti,sizeof(ST),1,fp)!=1) puts(data write error.)。i+。fflush(stdin)。printf(Continue(y/n)?)。scanf(%c,&choice)。while(choice=y
9、|choice=Y)。fclose(fp)。void search(FILE*fp)int i,m。char search_name20。/查找姓名变量char choice=y。for(i=0。feof(fp)=0。i+) /读取文件if(fread(&studenti,sizeof(ST),1,fp)!=1&feof(fp)=0) puts(error)。m=i-1。/m被赋值为数组非空数据最大索引值dofflush(stdin)。puts(Enter the name for searching: )。*查找信息*gets(search_name)。for(i=0。im。
10、i+) /遍历数组if(strcmp(search_name,)=0) /判断是否有要查找的学生姓名,有则显示数据printf(No.:%d Name: %s Sex: %s Birth:%d-%d-%dAddress:%sn,studenti.number,,studenti.sex,studenti.birth.year,studenti.birth.month,studenti.birth.day,studenti.addr)if(feof(fp)!=0)puts(searching done.)。puts(continue(y/n)?
11、)。scanf(%c,&choice)。while(choice=y|choice=Y)。fclose(fp)。void show(FILE*fp)int i,m。for(i=0。feof(fp)=0。i+)if(fread(&studenti,sizeof(ST),1,fp)!=1&feof(fp)=0)puts(error)。m=i-1。printf(There %d Record:n,m)。printf(Number Name Sex Birth Addressn)。for(i=0。im。i+)printf(%-8d%-12s%-6s%-4d-%-2d-%-2d3
12、5sn,studenti.number,,studenti.sex,studenti.birth.year,studenti.birth.month,studenti.birth.day,studenti.addr)if(feof(fp)!=0)*显示资料*%-puts(Display Informtion Done.)。fclose(fp)。void modify(FILE*fp)int number_temp。char i,m,j=0。FILE*fp_update。for(i=0。feof(fp)=0。i+) /读取文件if(fread(&a
13、mp;studenti,sizeof(ST),1,fp)!=1&feof(fp)=0) puts(error)。m=i-1。dofflush(stdin)。printf(Enter number for change: )。scanf(%d,&number_temp)。for(i=0。im。i+)if(number_temp=studenti.number)j=i。printf(No.: %d Name: %s Sex: %s birth:Address:%sn,studenti.number,,studenti.sex,studenti.birth.
14、year,studenti.birth.month,studenti.birth.day,studenti.addr)if(j=0)puts(No this record.)。break。fflush(stdin)。printf(change data %d(y/n)?,number_temp)。/修改确认scanf(%c,&choice)。if(choice=n|choice=N) /修改资料continue。printf(No.: )。scanf(%d,&studentj.number)。printf(Name:)。scanf(%s,)。print
15、f(Sex: )。*修改资料*%d-%d-%dscanf(%s,studentj.sex)。printf(Birthday: )。printf( year:)。scanf(%d,&studentj.birth.year)。printf( month: )。scanf(%d,&studentj.birth.month)。printf( day: )。scanf(%d,&studentj.birth.day)。printf(Address: )。scanf(%s,studentj.addr)。fflush(stdin)。printf(continue(y/n)?)。scan
16、f(%c,&choice)。while(choice=y|choice=Y)。fp_update=file_operate(w)。for(i=0。im。i+)if(fwrite(&studenti,sizeof(ST),1,fp_update)!=1)puts(updateerror.)。puts(changedone.)。fclose(fp_update)。void del(FILE*fp)int i,m,t=-1。int number_temp。char choice=y。for(i=0。feof(fp)=0。i+)if(fread(&studenti,sizeof
17、(ST),1,fp)!=1&feof(fp)=0) puts(error)。m=i-2。dofflush(stdin)。printf(Enter the number for delete: )。scanf(%d,&number_temp)。for(i=0。im+1。i+)if(studenti.number=number_temp) /删除前显示学生资料printf(No.: %d Name: %s Sex: %s Brith: Address:%sn,studenti.number,,*删除资料*%d-%d-%dstudenti.sex,stude
18、nti.birth.year,studenti.birth.month,studenti.birth.day,studenti.advoid f_backup()FILE*fp,*fp_bak。char ch。char filename312。/存放备份文件文件名printf(Enter the backup file name:)。scanf(%s,filename)。fp=file_operate(rb)。fp_bak=fp。if(fp_bak=fopen(filename,wb)=NULL)puts(backup file error.)。exit(0)。dr)。fflush(stdin
19、)。printf(delete %d(y/n)?)。scanf(%c,&choice)。if(choice=n|choice=N) break。for(t=i。tm。t+)studentt=studentt+1。puts(delete data done.)。m-。if(t=-1&choice!=n&choice!=N)printf(No %ds data!n,number_temp)。/删除数据fflush(stdin)。printf(continue(y/n)?)。scanf(%c,&choice)。while(choice=y|choice=Y)。fclo
20、se(fp)。fp=file_operate(w)。for(i=0。im+1。i+)if(fwrite(&studenti,sizeof(ST),1,fp)!=1)puts(error)。fclose(fp)。*文件备份*while(!feof(fp)ch=fgetc(fp)。fputc(ch,fp_bak)。fclose(fp)。fclose(fp_bak)。puts(file backup success.)。void psw_check()char psw8,psw_ i,leap。FILE*fp。if(fp=fopen(d:sn.txt,rt)=NULL) /读取密码,如不成功则要求设置密码puts(You must set password first.)。menu()。if(fread(psw,sizeof(psw),1,fp)!=1) puts(error.)。for(i=0。i8。i+) /解密pswi=pswi。doleap=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家具导购实战训练绝对成交吴飞彤
- 2024至2030年中国弹力罗缎面料行业投资前景及策略咨询研究报告
- 制造业主要经济业务的核算
- 2024至2030年中国分布移动式切割机数据监测研究报告
- 2024年中国防滑剂市场调查研究报告
- 2024年中国豪华型易拉宝市场调查研究报告
- 2024年中国耐温耐碱消泡剂市场调查研究报告
- 2024年中国塑胶五金制品市场调查研究报告
- 高中数学总复习系列之集合
- 大学三年专科专升本规划计划书
- GB/T 2492-2003普通磨具交付砂轮允许的不平衡量测量
- GB/T 1957-1981光滑极限量规
- GB/T 19249-2017反渗透水处理设备
- 中小学作文教学论文参考文献,参考文献
- 2023年无锡市惠山区财政局系统事业单位招聘笔试题库及答案解析
- 第16课《我的叔叔于勒》课件(共26张PPT) 部编版语文九年级上册
- 2023年北京城市副中心投资建设集团有限公司校园招聘笔试题库及答案解析
- 棉花种子加工方案
- 2022-2023学年浙科版(2019)选择必修三 5.2 我国禁止生殖性克隆人(1) 课件(25张)
- 中小学幼儿园儿童用药安全及健康教育课件
- DB11-T 3032-2022 水利工程建设质量检测管理规范
评论
0/150
提交评论