版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/学 生基本信息管理程序/编程实现学生基本信息管理程序。学生基本信息包括:学号、姓名、性别 、/年龄、班级、学院、专业等。具体实现的管理功能如下:/( 1 ) 输入并显示 多个学生 的 基本信息;/( 2 ) 可根据需要实现学生信息的添加;/( 3 ) 查询(至少提供按学号查询、班级和专业的综合查询两种方式 ) ;/( 4 ) 修改(只提供按照学号进行修改 ) ;/( 5 ) 删除(依据指定的信息删除如姓名、学号等 ) 。/程序所显示的菜单内容如下:/请选择下面的一个项目:/1 创建/2 添加/3 查询/4 修改/5 删除/6 显示/7 退出/请选择:#include #include #in
2、clude /宏定义#define F_NEW 1 /*建立新的学生数据*/#define F_SAVE 2 /*把数据写入文件并保存*/#define F_OPEN 3 /*打开文件并从里读入数据*/#define F_INSERT 4 /*插入一个学生的数据信息*/#define F_SEARCH 5 /*查找学生信息*/#define F_CHANGE 6 /*修改学生信息*/#define F_DELETE 7 /*删除学生信息*/#define F_SHOW 8 /*显示学生信息*/#define F_EXIT 9 /*退出程序*/ #define F_CLOSE 10#define
3、 MAX_NUM 45#define MAX_NAME_STRLEN 25/用户定义的类型声明struct _studentint classnum; /学号char nameMAX_NAME_STRLEN; /姓名char sex; /性别 int age; /年龄char studentclass; /班级char college; /学院char profession; /专业;typedef struct _student STUD;struct _studTb STUD studMAX_NUM; int length;/声明函数void greeting();void Dosave(
4、);void Doopen();void Donew();void Doinsert();void Doshow();void Dodelete();void Dosearch();void Dochange();void Doexit();struct _studTb si;char strClassId15;int main() int userchoose;int mainmenu();system(color 05); greeting();for(;)userchoose=mainmenu();if(F_CLOSE=userchoose)break;switch(userchoose
5、)case F_NEW: Donew(); break;case F_SAVE: Dosave();break;case F_OPEN: Doopen(); break;case F_INSERT: Doinsert(); break;case F_SEARCH: Dosearch();break;case F_CHANGE: Dochange();break;case F_DELETE : Dodelete(); break; case F_SHOW : Doshow();break; case F_EXIT: Doexit();break;default:break;return 0;in
6、t mainmenu()int userchoose;system(cls);printf(功能采单如下,请选择数字:n);printf(1 新建学生信息n);printf(2 保存学生信息n);printf(3 打开学生信息n);printf(4 插入学生信息n);printf(5 查找学生信息n);printf(6 修改学生信息n);printf(7 删除学生信息n);printf(8 显示学生信息n);printf(9 退出学生系统n);printf(请输入一个命令数字代码(1.9):);scanf(%d,&userchoose); return userchoose;void gree
7、ting()int i;printf( - n); printf( | | n); printf( | 欢迎登陆学生信息管理系统 | n); printf( | | n); printf( - n); printf( Please input a number(0.9) to continue!); scanf(%d,&i);void Donew() int num,i;system(cls);printf(ttFUNCION: 新建一个班级:n); printf(tt请输入班级序号(string):); scanf(%s,strClassId);printf(输入新学生信息:n); prin
8、tf(请输入要录入的学生数目:n); scanf(%d,&num); for(i=0;inum;i+)printf(请输入学生学号:);scanf(%d,&si.studi.classnum);printf(请输入学生姓名:); scanf(%s,);printf(请输入学生年龄:);scanf(%d,&si.studi.age);printf(请输入学生性别:); scanf(%s,&si.studi.sex);printf(请输入学生学院:);scanf(%s,&si.studi.college);printf(请输入学生专业:);scanf(%s,&si.stu
9、fession);si.length=num;void Dosave() /保存文件 FILE *fp;int i;system(cls);if(fp=fopen(stu-list.txt,wb)=NULL) printf(打开文件失败n);return;for(i=0;isi.length;i+) if(fwrite(&si.studi,sizeof(si),1,fp)=1) printf(保存成功n); fclose(fp);void Doopen()FILE *fp; int i=0; system(cls); if(fp=fopen(stu-list.txt,ab+)=NU
10、LL) printf(打开文件失败n); return; while(!feof(fp) if(fread(&si.studi,sizeof(si),1,fp)=1) i+; fclose(fp);for(i=0;isi.length;i+)printf(学号 :%d 姓名 :%s 性别: %s 年龄: %d 学院: %s 专业: %s n, si.studi.classnum, , si.studi.sex, si.studi.age, si.studi.college, fession);void Doinsert() FILE *fp;
11、int j,INid,sid; int m=0,i=0,k=0; system(cls); if(fp=fopen(stu-list.txt,ab+)=NULL) printf(t文件打开失败!); getchar(); return; while(!feof(fp) if(fread(&si.studi,sizeof(si),1,fp)=1) m+; i+; /*if(m=0) printf(没有学生记录!); fclose(fp); return; */ printf(t请输入要插入信息在那个学号之后:n); scanf(%d,&INid); for(i=0;ii;j-) si.studj
12、+1=si.studj; stare1: printf(t请输入要插入的学生的信息:n); printf(t请输入要插入的学号); scanf(%d,&sid); while(km) if(si.studk.classnum=sid) printf(t 该学号已经存在,不允许重复插入!n); goto stare1; k+; si.studi+1.classnum=sid; printf(t请输入你想输入的姓名); scanf(%s,si.studi+1.name); printf( 性别 年龄 学院 专业n); scanf(%s %d %s %s,& si.studi+1.sex, & si
13、.studi+1.age, & si.studi+1.college, & si.studi+1.profession); si.length=si.length+1; Dosave(); void Dosearch() int i=0,choice,Sid; char snameMAX_NAME_STRLEN; int flag=0; system(cls); Doopen(); printf(n1按姓名查找:n2按学号查找:); scanf(%d,&choice); switch(choice) case 1: printf(请你输入要查找的姓名); scanf(%s,sname); wh
14、ile(isi.length) if(strcmp(,sname)=0) flag=1; printf(学号:%d 姓名:%s 性别:%s 年龄:%d 班级:%s 学院:%s 专业:%sn,si.studi.classnum, , si.studi.sex, si.studi.age, si.studi.studentclass, si.studi.college, fession); i+; if(flag=0) printf(你输入的姓名不存在,请确认后再输入); break; case 2: printf(请你
15、输入要查找的学号); scanf(%d,&Sid); while(isi.length) if(Sid=si.studi.classnum) flag=1; printf(学号:%d 姓名:%s 性别:%s 年龄:%d 班级:%s 学院:%s 专业:%sn,si.studi.classnum, , si.studi.sex, si.studi.age, si.studi.studentclass, si.studi.college, fession); i+; if(flag=0) printf(你输入的学号不存在,请确认后再输入); bre
16、ak; printf( Please input a number to continue!); scanf(%d,&i); return;void Dochange() int choice1; int i=0; int onum; char choice2; system(cls); Doopen(); printf(你想对那个学生进行操作,请输入学号n); scanf(%d,&onum); while(onum!=si.studi.classnum) i+; if(onum=si.studi.classnum) printf(n你要修改哪一项); printf(1学号t2姓名n3性别n4
17、年龄n5班级n6学院n7专业); printf(请选择); scanf(%d,&choice1); switch(choice1) case 1: printf(n请输入修改后的学号); scanf(%d,&si.studi.classnum); break; case 2: printf(n输入你要修改的姓名); scanf(%s,&); break; case 3: printf(n请输入要修改的性别); scanf(%s,&si.studi.sex); break; case 4: printf(n请输入要修改的班级); scanf(%d,&si.studi.s
18、tudentclass); break; case 5: printf(n请输入要修改的学院); scanf(%d,&si.studi.college); break; case 6: printf(n请输入要修改的专业); scanf(%d,&fession); break; else printf(没有该同学信息); printf( Please input a number(0.9) to continue!); scanf(%d,&i);void Dodelete() int i,id; char fnameMAX_NAME_STRLEN; system(cls
19、); Doopen(); printf(请输入学生学号); scanf(%d,&id); i=0; while(si.studi.classnum!=id) i+; if(si.studi.classnum=id) while(isi.length-1) si.studi=si.studi+1; i+; si.length=si.length-1; for(i=0;isi.length;i+) printf(学号 :%d 姓名 :%s 性别: %s 年龄:%d 班级:%s 学院:%s 专业:%d n, si.studi.classnum, , si.studi.sex, si.studi.age, si.studi.studentclass, si.studi.college, fession); else printf(没有该同学信息); printf( Please input a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代谢相关脂肪性肝病无创评估专家共识
- 电力工程造价从业人员专业能力评价考试(专业技术公共基础)考前模拟试题(上海市2025年)
- 2026上海市助理政工师职称考试(思想政治工作)自测试题及答案解析
- 2026年心理学教育专家考试试题及答案解析
- 2026年施工员岗位技能考试试题及答案解析
- 娲皇宫元素文创设计-以《娲皇印象》为例
- 2026年湖北省路桥工程专业技术职务水平能力测试(交通工程初中级)全真模拟试题及答案
- 2026年成人高考专升本教育真题试卷及答案
- Python猜数字游戏教学课件
- 检验科思想整顿自查报告2026(2篇)
- 2026年卫生健康知识培训
- 电梯意外事件与事故应急救援及演习制度培训
- 2026年东省济南第一中学高考语文二模试卷
- 小学英语三年级下册Unit 5 Old Toys单元整体教学设计
- 2026年高中化学学业水平考试知识点归纳总结(复习必背)
- 护理教育学课件下载
- 生物芯片中光电传感器的技术解析与应用探索
- 三下道法 第三单元《我是家庭一员》素养测评卷26春
- 广西壮族自治区2025广西农业科学院及直属单位招聘笔试历年参考题库典型考点附带答案详解
- 12.2 跨学科实践:制作简易杆秤-课件(内嵌视频)2025-2026学年物理人教版八年级下册
- 2026生物制造关键装备与工艺革新白皮书
评论
0/150
提交评论