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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言下的学生管理系统含密码加密和验证码.docx

1、C语言下的学生管理系统含密码加密和验证码#include #include #include #include #include #define N 20void input();/增加学生信息void del();/删除学生信息void change();/修改学生信息void find();/查询学生信息void sorting();/排序void save();/保存到文件void read();/读取文件void stu_search();/学生查询信息void modify();/学生修改自己密码struct score_stu/定义分数构造体 int score1; int sco

2、re2; int score3;int sum;score;struct student /定义学生构造体 int no; char name20; char spwd20; int classnum; struct score_stu score; int age; int ranking;stuN,*p;void inputPasswd(char passwd)/隐藏密码 char s20; char temp2; int n; /strcpy(s, ); s0=0; while(1) while(1) n=getch(); if(n = 13)/13为回车r break; printf(

3、*); memset(temp,0,sizeof(temp);/将temp里面的数据用0替换 sprintf(temp,%c,n);/将n打印成一个字符保存到temp里面 strcat(s,temp);/把temp所指字符串添加到s结尾处(覆盖s结尾处的0) break; printf(n); strcpy(passwd, s);void captcha(char str,int n)/验证码 char a=1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJLMNPQRSTUVWXYZ; int i,j,k; k=strlen(a);/k表示字符串的长度

4、 srand(time(0);/随机数初始化 for(i=0;in;i+) j=rand()%k;/取0-58的随机数 stri=aj; stri=0;void admin()/管理员操作 int choose1; printf(tt1:增加学生信息t2:删除学生信息t3:修改学生信息t4:查询学生信息t5:排序学生信息t6:退出程序n); printf(tt); scanf(%d,&choose1); printf(tt=n); fflush(stdin); switch(choose1) case 1: input();break; case 2: del();break; case 3:

5、 change();break; case 4: find();break; case 5: sorting();break; case 6: printf(tt退出成功!n); exit(0); break; default : printf(tt你所选择的操作不是上述操作,请重新选择n); admin(); break; void admin_login()/管理员登录 static int i=0; int j=3; char username10; char pwd10; char codeN,strN; printf(tt*欢送进入管理员登录界面*n); printf(tt请输入XX

6、:n); printf(tt); gets(username); printf(tt=n); printf(tt请输入密码:n); printf(tt); inputPasswd(pwd); printf(tt=n); fflush(stdin); if(strcmp(username,admin)=0) &(strcmp(pwd,admin)=0) while(1) captcha(code,4); printf(tt请输入验证码:%sn,code); printf(tt); scanf(%s,str); printf(tt=n); if(strcmp(code,str)=0) printf

7、(ntt 您已成功登录 n ); printf(tt请选择你要执行的操作:n); admin(); else j-; if(j=0) printf(tt错误次数过多,系统自动退出n); exit(0); else while(i2) printf(n 用户名和/或密码无效请重新输入 n ); i+; admin_login(); printf(登录次数超限,自动退出!n); exit(0); void student(int userNO)/学生操作 int x; printf(tt1:查询个人信息t2:修改密码t3:退出n); printf(tt); scanf(%d,&x); printf

8、(tt=n); switch(x) case 1:stu_search(userNO);break; case 2:modify(userNO);break; case 3:printf(tt退出成功!n); exit(0);break; default:printf(tt你所选择的工程错误!重新选择!); student(userNO);break; int student_login()/学生登录 static int j=0; int i; int k=3; int userNO; char pwd20; char codeN+1,strN+1; printf(tt*欢送进入学生登录界面

9、*n); printf(tt请输入学号:n); printf(tt); fflush(stdin); scanf(%d,&userNO); printf(tt=n); printf(tt请输入密码:n); printf(tt); fflush(stdin); inputPasswd(pwd); printf(tt=n); read(); for(i=0;iN;i+) if(userNO = stui.no)&(strcmp(pwd,stui.spwd)=0) while(1) captcha(code,4); printf(tt请输入验证码:%sn,code); printf(tt); sca

10、nf(%s,str); printf(tt=n); if(strcmp(code,str)=0) printf(tt登录成功!n); printf(tt请选择操作!n); student(userNO); else k-; if(k=0) printf(tt错误次数过多,系统自动退出n); exit(0); else while(j2) printf(tt登录失败,请重新登录!n); j+; student_login(); printf(tt登陆次数超限!系统自动退出!); exit(0); return userNO;void stu_ranking()/计算排名 int i,j; int

11、 count=1; read(); for(i=0;stui.no!=0;i+) for(j=0;stuj.no!=0;j+) if(stui.score.sumstuj.score.sum) count+; stui.ranking=count; count=1; save();void stu_search(int userNO)/学生查询个人信息 int i,x; read(); for(i=0;iN;i+) if(userNO = stui.no) printf(tt学号tXXt密码t班级t成绩一t成绩二t成绩三t总分t年龄t排名n); printf(tt%dt%st%st%dt%dt

12、%dt%dt%dt%dt%dnn,stui.no,stui.name,stui.spwd,stui.classnum, stui.score.score1,stui.score.score2,stui.score.score3,stui.score.sum, stui.age,stui.ranking); printf(tt=n); printf(tt请选择退出系统或返回主菜单n); printf(tt1:返回主菜单t2:退出n); printf(tt); scanf(%d,&x); printf(tt=n); switch(x) case 1:student(userNO);break; c

13、ase 2:printf(tt退出成功!n); exit(0); else printf(tt输入错误,系统自动返回主菜单!n); student(userNO); void modify(int userNO)/学生修改个人密码 fflush(stdin); static int k=0; int i; char pwd_old20; char pwd_new20; char pwd_new120; read(); for(i=0;iN;i+) if(userNO = stui.no) printf(tt请输入旧密码:n); printf(tt); gets(pwd_old); printf

14、(tt=n); if(strcmp(pwd_old,stui.spwd)=0) printf(tt请输入新密码:n); printf(tt); gets(pwd_new); printf(tt=n); printf(tt请再次输入新密码:n); printf(tt); gets(pwd_new1); printf(tt=n); if(strcmp(pwd_new,pwd_new1)=0) printf(tt修改完成!n); strcpy(stui.spwd,pwd_new); printf(tt=n); break; else while(1) k+; if(k=3) printf(tt错误次

15、数过多,自动返回主菜单!n); printf(tt=n); student(userNO); else printf(tt输入两次密码不一致请重新进入!n); printf(tt=n); modify(userNO); else printf(tt密码输入不正确!自动返回主菜单n); printf(tt=n); student(userNO); save(); student(userNO);void input()/增加学生信息 char ch; int i,n,count= 0; printf(tt请输入添加学生信息的条数:n); printf(tt); scanf(%d,&n); pri

16、ntf(tt=n); if(nN) printf(tt输入不合法,请重新输入:n); input(); printf(tt请添加学生信息:n); printf(tt学号tXXt密码t班级t成绩一t成绩二t成绩三t年龄n); read(); for(i=0;iN;i+) if(count = n) break; if(stui.no=0) fflush(stdin); printf(tt); scanf(%d%s%s%d%d%d%d%d,&stui.no,stui.name,stui.spwd,&stui.classnum, &stui.score.score1,&stui.score.scor

17、e2,&stui.score.score3,&stui.age); stui.score.sum=stui.score.score1+stui.score.score2+stui.score.score3; count+; save(); stu_ranking(); printf(tt=n); printf(tt添加学生信息成功!n); printf(tt是否继续?(Y/N)n); fflush(stdin); printf(tt); scanf(%c,&ch); if(ch=Y|ch=y) input(); admin();void del()/删除学生信息 fflush(stdin);

18、int i,j; char ch; int del_no; printf(tt请输入想要删除记录的ID:n); printf(tt); scanf(%d,&del_no); printf(tt=n); read(); for(i=0;stui.no!=0;i+) if(del_no = stui.no) for(j=i;jN-1;j+) stuj=stuj+1; save(); stu_ranking(); printf(tt=n); printf(tt删除信息成功!n); printf(tt是否继续?(Y/N)n); fflush(stdin); printf(tt); scanf(%c,&

19、ch); if(ch=Y|ch=y) del(); admin();void change()/修改学生信息 fflush(stdin); int i; char ch; int change_no; printf(tt请输入想要修改记录的ID:n); printf(tt); scanf(%d,&change_no); printf(tt=n); read(); printf(tt学号tXXt密码t班级t成绩一t成绩二t成绩三t年龄n); for(i=0;stui.no!=0;i+) if(change_no = stui.no) printf(tt%dt%st%st%dt%dt%dt%dt%dn,stui.no,stui.name,stui.spwd, stui.classnum,stui.score.score1,stui.score.score2,stui.score.score3,stui.age); printf(tt请输入你要修改后的信息!n); printf(tt=n); printf(tt); scanf(%d%s%s%d%d%d%d%d,&stui.

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

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