ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:20.29KB ,
资源ID:4975849      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4975849.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计学生学籍管理系统源代码.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计学生学籍管理系统源代码.docx

1、课程设计学生学籍管理系统源代码#includestdio.h#includeconio.h#includestdlib.h#includestring.h#define N 1000 /N为可输入的学生总人数,可根据需要更改#define M 2 /M为宏定义的(在创建密码函数中)可建立的登陆用户个数,可更改 struct student /定义学生信息结构体数组 char num9; /学号 char name20; /姓名 char depar15; /院系 char zhuanye15; /专业 char classes5; /班级 char age3; /年龄 char sex4; /

2、性别 char nation5; /民族 char birth9; /出生日期 char add10; /籍贯;struct code /定义密码结构体数组 char name20; char code7;coM,s0;/确认是否新创建密码文件模块int code() FILE *fp; if(fp=fopen(学生学籍管理系统_code.txt,rt)=NULL) printf(密码文件不存在,请输入新的用户名及密码:n); /若不存在此密码文件,则提示用户创建密码 printf(请输入任意键继续!); getch(); system(cls); return 1; /无密码文件返回1 el

3、se return 0; /已有密码文件返回0/新创建初始密码void code_input() FILE *fp; int i; if(fp=fopen(学生学籍管理系统_code.txt,wt)=NULL); /当建立密码文件成功时,进入for循环 for(i=0;iM;i+) /M为宏定义的可建立的登陆用户个数,可更改 printf(请录入第%d个用户名:,i+1); /创建不同的用户名及密码 scanf(%s,coi.name); printf(请录入第%d个密码(最多6位):,i+1); scanf(%s,coi.code); printf(n); fwrite(&coi,sizeo

4、f(struct code),1,fp); /将密码保存进文件中 fclose(fp); getch(); system(cls); /用户登陆验证模块int enter(char name120,char code16) FILE *fp; int flog=0; int i; fp=fopen(学生学籍管理系统_code.txt,rt);/打开存放密码的文件 for(i=0;i=M) /当比较完成后,都没有符合条件的用户名与密码,则直接跳出程序 printf(*您无权进入此管理系统!*); fclose(fp); getch(); exit(1);/从文件读入数据int read_file

5、(struct student stu) FILE *sp; int i=0; system(cls); if(sp=fopen(学生学籍管理系统_学生信息.txt,rt)=NULL)/读文件,若文件不存在,则需要创建一个新的文件(文件创建在save_file函数中完成) printf(n学生学籍管理系统_学生信息文件不存在,请创建!n); getch(); system(cls); return 0; while(fread(&stui,sizeof(struct student),1,sp)=1)/判断文件是否处在结束位置 if(stui.num=0) /若文件内容为空,则跳出循环 bre

6、ak; else /若文件内容不为空,i自加1。 i+; /i为文件内结构体数组的数量 fclose(sp); return i; /返回i值,代表文件中学生的人数/保存学生信息(保存在文件中)void save_file(struct student stu,int sum) FILE *sp; int i; if(sp=fopen(学生学籍管理系统_学生信息.txt,wb)=NULL)/若不存在此TXT文档,则创建; printf(读文件错误!n); /创建不成功,返回menu函数; return; for(i=0;isum;i+) if(fwrite(&stui,sizeof(struc

7、t student),1,sp)!=1) /保存文件,sum为现有总学生人数,若未保存成功,提示写文件错误!; printf(写文件错误!n); fclose(sp); return;/创建并录入信息int found(struct student stu) int i=0,x; system(cls); printf(请输入要录入的学生的个数:n); scanf(%d,&x); if(x=0) return 0; do /输入信息 printf(n请录入第%d个学生的信息:n,i+1); printf(请录入学号:); scanf(%s,stui.num); printf(n请录入姓名:);

8、 scanf(%s,stui.name); printf(n请录入院系:); scanf(%s,stui.depar); printf(n请录入专业:); scanf(%s,stui.zhuanye); printf(n请录入班级:); scanf(%s,stui.classes); printf(n请录入性别:); scanf(%s,stui.sex); printf(n请录入年龄:); scanf(%s,stui.age); printf(n请录入出生日期(yyyymmdd):); scanf(%s,stui.birth); printf(n请录入民族:); scanf(%s,stui.n

9、ation); printf(n请录入籍贯:); scanf(%s,stui.add); i+; system(cls); while(i=x(用户要求创建学生的人数)时,跳出输入信息的for循环; save_file(stu,x); /保存学生信息致文件 printf(录入完毕,请按任意键返回); getch(); return i; /返回创建学生的人数/修改学生信息void modify(struct student stu,int sum) int i,item,a=1; /i控制数组下标,item控制子菜单的选择 char s18; FILE *sp; system(cls); re

10、ad_file(stu,sum); /读函数 do printf(nnn请输入你要修改的学号:n); scanf(%s,s1); /要修改的学生学号 for(i=0;isum;i+) /查找此学生 if(strcmp(stui.num,s1)=0) /若找到该生,输出该生的信息 printf(该学生学号:%sn,stui.num); printf(该学生姓名:%sn,stui.name); printf(该学生院系:%sn,stui.depar); printf(该学生专业:%sn,stui.zhuanye); printf(该学生班级:%sn,stui.classes); printf(该学

11、生性别:%sn,stui.sex); printf(该学生年龄:%sn,stui.age); printf(该学生出生日期:%sn,stui.birth); printf(该学生民族:%sn,stui.nation); printf(该学生籍贯:%sn,stui.add); a=0; /找到该生,a=0; break; /出for循环 if(a=1) /若没有找到该生,a=1,输出提示语句 printf(nn该学号不存在!请重新输入学号:n); while(a); /当a=0,即没有找到该生,则继续循环重新输入学生学号 printf(t*n); printf(t你选择你要修改的选项:n); p

12、rintf(t1.*修改姓名n); printf(t2.*修改年龄n); printf(t3.*修改性别n); printf(t4.*修改出生日期n); printf(t5.*修改籍贯n); printf(t6.*修改院系名称n); printf(t7.*修改专业名称n); printf(t8.*修改班级n); printf(t9.*修改民族n); printf(t0.*退出菜单n); printf(t*n); while(1) printf(nt请选择你要进行的操作:); scanf(%d,&item); /item控制子菜单的选择 switch(item) case 1: /修改姓名 pr

13、intf(t请输入新的姓名:); scanf(%s,stui.name); printf(nnn修改成功!n); save_file(stu,sum); break; case 2: /修改年龄 printf(t请输入新的年龄:); scanf(%s,stui.age); printf(nnn修改成功!n); save_file(stu,sum); break; case 3: /修改性别 printf(t请输入新的性别:); scanf(%s,stui.sex); printf(nnn修改成功!n); save_file(stu,sum); break; case 4: /修改出生日期 pr

14、intf(t请输入新的出生年月(yyyy.mm):); scanf(%s,stui.birth); printf(nnn修改成功!n); save_file(stu,sum); break; case 5: /修改籍贯 printf(t请输入新的籍贯:); scanf(%s,stui.add); printf(nnn修改成功!n); save_file(stu,sum); break; case 6: /修改院系 printf(t请输入新的院系:); scanf(%s,stui.depar); printf(nnn修改成功!n); save_file(stu,sum); break; case

15、 7: /修改专业 printf(t请输入新的专业名称:); scanf(%s,stui.zhuanye); printf(nnn修改成功!n); save_file(stu,sum); break; case 8: /修改班级 printf(t请输入新的班级:); scanf(%s,stui.classes); printf(nnn修改成功!n); save_file(stu,sum); break; case 9: /修改民族 printf(t请输入新的民族名称:); scanf(%s,stui.nation); printf(nnn修改成功!n); save_file(stu,sum);

16、 break; case 0: return; /不修改,退出 default:printf(t请在0到9之间选择:); /若输入的值不在09,则提示 /查询学生信息void seek(struct student stu,int sum) int i,item,flag; /i控制数组下标,item控制子菜单的选择,flag为判断条件 char s111; system(cls); while(1) system(cls); printf(nntt-n); printf(tt 1.按学号查询n); printf(tt 2.按姓名查询n); printf(tt 3.退出本菜单n); print

17、f(tt-n); printf(tt 请选择子菜单编号:); scanf(%d,&item); /选择子菜单 flag=0; switch(item) case 1: /按学号进行查找 printf(tt请输入要查询的学生的学号:); scanf(%s,s1); for(i=0;isum;i+) if(strcmp(stui.num,s1)=0) /判断学号是否存在 /输出 flag=1; printf(该学生学号:%sn,stui.num); printf(该学生姓名:%sn,stui.name); printf(该学生院系:%sn,stui.depar); printf(该学生专业:%sn

18、,stui.zhuanye); printf(该学生班级:%sn,stui.classes); printf(该学生性别:%sn,stui.sex); printf(该学生年龄:%sn,stui.age); printf(该学生出生日期:%sn,stui.birth); printf(该学生民族:%sn,stui.nation); printf(该学生籍贯:%sn,stui.add); getch(); if(flag=0) /当上一个if条件不成立,flag=0,学生学号不存在,输出提示; printf(nnntt该学号不存在!n); getch(); break; case 2: /按姓名

19、进行查找 printf(nntt请输入要查询的学生的姓名:); scanf(%s,s1); for(i=0;isum;i+) if(strcmp(stui.name,s1)=0) /判断姓名是否存在 /输出 flag=1; printf(该学生学号:%sn,stui.num); printf(该学生姓名:%sn,stui.name); printf(该学生院系:%sn,stui.depar); printf(该学生专业:%sn,stui.zhuanye); printf(该学生班级:%sn,stui.classes); printf(该学生性别:%sn,stui.sex); printf(该学

20、生年龄:%sn,stui.age); printf(该学生出生日期:%sn,stui.birth); printf(该学生民族:%sn,stui.nation); printf(该学生籍贯:%sn,stui.add); getch(); if(flag=0) /当上一个if条件不成立,flag=0,学生姓名不存在,输出提示; printf(nnntt该姓名不存在!n); getch(); break; case 3: system(cls); return; default:printf(nnntt请在1-3之间选择n); /若输入的值不在13,则提示 getch(); /删除某学生信息int

21、 del(struct student stu,int sum) int i,j,flag=0; char s19; system(cls); printf(nntt请输入要删除学生的学号:); scanf(%s,s1);for(i=0;isum;i+)if(strcmp(stui.num,s1)=0) /判断学号是否存在 flag=1; /该学号存在,用后一个数组覆盖此数组,循环,即可删除 for(j=i;jsum-1;j+) stuj=stuj+1; if(flag=0) /该学号不存在 printf(nntt该学号不存在!n); getch(); if(flag=1) /删除成功,输出提

22、示 printf(nnntt删除成功n); getch(); sum-; /删除成功,sum自-1; save_file(stu,sum); /保存 return sum; /返回删除后存在的学生人数 /显示打印已有学生信息 void show(struct student stu,int sum) int i; system(cls); printf(nntt 所有学生的信息为:n); for(i=0;isum;i+) /for循环打印信息 printf(学号:%st,stui.num); printf(姓名:%st,stui.name); printf(院系:%st,stui.depar)

23、; printf(专业:%st,stui.zhuanye); printf(班级:%st,stui.classes); printf(性别:%st,stui.sex); printf(年龄:%st,stui.age); printf(出生日期:%st,stui.birth); printf(民族:%st,stui.nation); printf(籍贯:%snn,stui.add); printf(按任意键返回); getch(); system(cls);/添加学生信息int insert(struct student stu,int sum) int i,j,flag,m; FILE *sp; system(cls); printf(t请输入要添加的学生的个数:); scanf(%d,&m); read_file(stu); /在添加前读文件 do flag=1; i=sum; /此时i表示数组下标,添加学生,保存到当前已有数组的下一个,sum为总数,stui表示第sum+1个人 while(flag) flag=0; printf(nn 请输入第 %d 个学生的学号:,i+1); scanf(%s,stui.num); for(j=0;ji;j+) /判断此学号是否存在

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1