做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456

代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct student
{char xuehao[100];//输入学号char name[100];//输入姓名char sex[100];//输入性别int age;//输入年龄char jiguan[100];//输入籍贯char dianhua[100];//输入电话char yuanxi[100];//输入院系char banji[100];//输入班级
} stu[1000];
void shouye()//首页
{int i;printf("^-^-----------------------------------------------------^-^\n");printf("\n");printf(" $               欢迎使用学生学籍管理系统!               $\n");printf(" $                            制作人:                    $\n");printf(" $                                   李威鹏              $\n");printf(" $                           时间:2017.12               $\n");printf("\n");printf("^-^-----------------------------------------------------^-^\n");printf("Enter键继续!");getchar();system("cls");
}
void zhuxiao()//注销用户
{system("shutdown -f ");
}
void denglu()//登陆
{void menu();int i,j;char mima[16];for(j=1; j<=4;){if(j==4)break;else if(j<4){printf("请输入6位密码:\n");printf("剩余输入次数%d\n",4-j);for(i=0; i<6; i++){mima[i]=getch();printf("*");}}mima[i]='\0';if(strcmp(mima,"123456")==0){system("cls");printf("密码正确\n");printf("登陆成功!\n");printf("按Enter键继续!");getchar();menu();return;}else{system("cls");printf("密码错误\n");j++;}}printf("注销用户!!!\n");zhuxiao();getch();}
void menu()//菜单
{system("cls");printf("*-----------------------------学生管理系统--------------------------------*\n");printf("\n");printf("1.添加学生信息    2.删除某个学生信息     3.浏览学生信息\n");printf("4.修改学生信息    5.查找某个学生信息     6.显示信息数量\n");printf("0.退出系统\n");printf("\n");printf("*-------------------------------------------------------------------------*\n");}
void save(int m)
{int i;FILE*fp;if ((fp=fopen("系统","wb"))==NULL){printf ("文件打开失败\n");exit(0);}for (i=0; i<m; i++)if (fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("文件打开失败\n");fclose(fp);
}
int load()//打开文件,读取里面的数据
{FILE*fp;int i=0;if((fp=fopen("系统","rb"))==NULL){printf ("文件打开失败\n");exit(0);}else{do{fread(&stu[i],sizeof(struct student),1,fp);i++;}while(feof(fp)==0);}fclose(fp);return(i-1);
}
int menuchoose()//选择菜单
{int n;menu();printf("请选择菜单0~6:");while(1 != scanf("%d", &n) || n < 0 || n> 6){menu();printf("选择菜单错误,请重新选择(0 ~ 6):");fflush(stdin);//清空输入缓冲区}return n;
}
void add()//添加学生信息
{int i,m,q,s=1;system("cls");printf("---------------输入学生信息---------------\n");printf("请输入需要添加学生的总人数:\n");scanf("%d",&m);for (i=0; i<m; i++){printf("\n输入第 %d 个学生学籍信息.\n",i+1);printf("请输入学号:");scanf("%s",stu[i].xuehao);for(q=0; q<m; q++){if(strcmp(stu[q].xuehao,stu[i].xuehao)==0&&q!=i){printf("该学号已经存在,请重新输入:\n");printf("请输入学号:\n");s=1;scanf("%s",stu[q].xuehao);}}printf("请输入姓名:");scanf("%s",stu[i].name);printf("请输入性别:");scanf("%s",stu[i].sex);printf("请输入年龄:");scanf("%d",&stu[i].age);getchar();printf("请输入籍贯:");scanf("%s",stu[i].jiguan);printf("请输入电话:");scanf("%s",stu[i].dianhua);printf("请输入院系:");scanf("%s",stu[i].yuanxi);printf("请输入班级:");scanf("%s",stu[i].banji);}save(m);
}
void show()
{system("cls");int i;int m=load();if(m==0){printf("\n暂无学生信息!\n");printf("是否添加学生信息?\n     是:1    否:2\n");int a2;scanf("%d",&a2);if(a2==1)add();elsemenu();}else{printf("----------------------浏览学生信息--------------------------\n");printf("\n");printf("\t\t\t\t\t\t\t\n");for(i=0; i<m; i++){printf("第%d位同学的信息为:\n",i+1);printf("学号:%s\n",stu[i].xuehao);printf("姓名:%s\n",stu[i].name);printf("性别:%s\n",stu[i].sex);printf("年龄:%d\n",stu[i].age);printf("籍贯:%s\n",stu[i].jiguan);printf("电话:%s\n",stu[i].dianhua);printf("院系:%s\n",stu[i].yuanxi);printf("班级:%s\n",stu[i].banji);}system("pause");}
}
void del()
{int m=load();int i,j,n,t,flag;char xuehao[20];printf("\n 原有的学生信息为:\n");show();printf("\n");printf("请输入要删除的学生的学号:\n");scanf("%s",xuehao);for(flag=1,i=0; flag&&i<m; i++){if(strcmp(stu[i].xuehao,xuehao)==0){printf("学号:%s\n",stu[i].xuehao);printf("姓名:%s\n",stu[i].name);printf("性别:%s\n",stu[i].sex);printf("年龄:%d\n",stu[i].age);printf("籍贯:%s\n",stu[i].jiguan);printf("电话:%s\n",stu[i].dianhua);printf("院系:%s\n",stu[i].yuanxi);printf("班级:%s\n",stu[i].banji);printf("是否要删除此人信息?\n是请按1,否请按0:\n");scanf("%d",&n);if(n==1){for(j=i; j<m-1; j++){strcpy(stu[j].name,stu[j+1].name);strcpy(stu[j].xuehao,stu[j+1].xuehao);strcpy(stu[j].sex,stu[j+1].sex);stu[j].age=stu[j+1].age;strcpy(stu[j].yuanxi,stu[j+1].yuanxi);strcpy(stu[j].banji,stu[j+1].banji);strcpy(stu[j].jiguan,stu[j+1].jiguan);strcpy(stu[j].dianhua,stu[j+1].dianhua);}flag=0;}}}if(!flag)m=m-1;elseprintf("\n无此人信息!\n");save(m);printf("\n是否继续删除信息\n 继续请按1\n退出请按0\n");scanf("%d",&t);switch(t){case 1:del();break;case 0:menu();break;default :break;}
}
void xiugai()//修改学生信息
{system("cls");FILE *fp;int n,i,j,c,x,y;char m[10];n=load();show();printf("请输入要修改学生的学号或姓名:");scanf("%s",&m);do{printf("\n请选择要修改的选项:\n\n1.学号  2.姓名  3.性别  4.年龄  5.籍贯  6.电话  7.院系  8.班级  9.取消并返回\n");printf("请选择?:\n ");scanf("%d",&c);if(c>9||c<1){menu();puts("\n选择错误!请重新选择!");fflush(stdin);//清空输入缓冲区}}while(c>9||c<1);for (i=0; i<n; i++)if (!strcmp(stu[i].xuehao,m)||!strcmp(stu[i].name,m)){switch (c){case 1:printf("学号:");scanf("%s",stu[i].xuehao);break;case 2:printf("姓名:");scanf("%s",stu[i].name);break;case 3:printf("性别:");scanf("%s",stu[i].sex);break;case 4:printf("年龄:");scanf("%d",&stu[i].age);break;case 5:printf("籍贯:");scanf("%s",stu[i].jiguan);break;case 6:printf("电话:");scanf("%s",stu[i].dianhua);break;case 7:printf("院系:");scanf("%s",stu[i].yuanxi);break;case 8:printf("班级:");scanf("%s",stu[i].banji);break;case 9:menu();/*返回主菜单*/}printf("是否保存?\n");printf("是:1\n否:2\n");scanf("%d",&x);}if(x==1){save(n);printf("保存成功!\n");printf("是否继续修改?继续:1  否:2\n");int p;scanf("%d",&p);if(p==1){xiugai();}else{menu();}}else{printf("退出请按0,继续修改请按1\n");scanf("%d",&y);switch(y){case 0:break;case 1:xiugai();break;}}
}
void showone(int c) /*输出一个学生的信息*/
{printf("学号:%s\n",stu[c].xuehao);printf("姓名:%s\n",stu[c].name);printf("性别:%s\n",stu[c].sex);printf("年龄:%d\n",stu[c].age);printf("籍贯:%s\n",stu[c].jiguan);printf("电话:%s\n",stu[c].dianhua);printf("院系:%s\n",stu[c].yuanxi);printf("班级:%s\n",stu[c].banji);
}
void chazhao()//查找某个学生的信息
{system("cls");FILE*fp;int a1,b1,c1,d1,e1,n,i;char t[10];n=load();printf("请输入要查找的学生的学号或姓名:");scanf("%s",t);for(i=0; i<n; i++)if (!strcmp(stu[i].xuehao,t)||!strcmp(stu[i].name,t)){printf("学号:%s\n",stu[i].xuehao);printf("姓名:%s\n",stu[i].name);printf("性别:%s\n",stu[i].sex);printf("年龄:%d\n",stu[i].age);printf("籍贯:%s\n",stu[i].jiguan);printf("电话:%s\n",stu[i].dianhua);printf("院系:%s\n",stu[i].yuanxi);printf("班级:%s\n",stu[i].banji);printf("是否继续查找?继续:1   返回主菜单:2\n");scanf("%d",&c1);switch(c1){case 1:chazhao();return ;case 2:system("cls");menu();return;}}if (strcmp(stu[i].xuehao,t)||strcmp(stu[i].name,t)){printf("无该学生信息!\n");printf("是否继续查找?   继续:1    返回主菜单:2\n");scanf("%d",&b1);switch(b1){case 1:chazhao();return;case 2:menu();return ;}}
}
void shuliang()
{system("cls");int n,h;n=load();printf("共有 %d 个学生的记录.\n",n);if(n==0){printf("暂无学生信息!\n");system("pause");menu();}else{printf("是否显示学生信息?\n是:1   否:2\n");scanf("%d",&h);if(h==1){show();}else{menu();}}menu(); /*返回主函数*/
}
int main()
{shouye();denglu();int test=1;while(test){switch(menuchoose()){case 0:test=0;printf("\n                       ^-^谢谢使用!^-^         \n");printf("             代码有点长,错误也有点多,望见谅^-^\n");break;case 1://增加学生学籍信息add();break;case 2://删除某个学生信息del();break;case 3://显示学生信息show();break;case 4://修改学生信息xiugai();break;case 5://查找某个学生信息chazhao();break;case 6:shuliang();//显示学生学籍数量break;}}return 0;
}

C语言课程设计之学生学籍管理系统相关推荐

  1. c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统

    <C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...

  2. c语言课程设计(学生籍贯管理系统)学完c语言你可以做的案例

    目录 第一章 设计简介及设计方案讨论 1.1背景和意义 1.1.1背景: 1.1.2意义: 1.2需求分析 1.3使用说明 1.4流程图 1.5设计 1.5.1功能实现 第二章   核心代码讲解 2. ...

  3. c语言课程设计报告15页左右,C语言课程设计报告——学生信息管理系统(15页)-原创力文档...

    C语言程序设计 课程设计报告 设计题目:学生信息管理系统 专 业 电子信息工程 班 级 学 生 指导教师 年 学期 设计任务: C语言课程设计任务书及指导书 5 题目:学生信息管理系统 功能:学生信息 ...

  4. C语言课程设计(1)-学生成绩管理系统

    源码.经验交流QQ群:613879714,有问题QQ群提问,这里不能及时回复 1. 主要功能 输入学生数据 显示学生数据 计算成绩 成绩排序 成绩查找 成绩修改 添加学生数据 删除学生成绩 2.演示 ...

  5. c语言学生学籍管理修改,C语言课设之学生学籍管理系统.doc

    C语言课设之学生学籍管理系统.doc 题目学生学籍管理系统 目录一.个人简介.二.报告摘要.三.报告目录.四.报告正文. 1.系统需求分析 2.系统总体设计 3.系统详细设计六.总结. 二.报告摘要 ...

  6. 课设 c语言编译学籍管理系统,C语言课设之学生学籍管理系统

    <C语言课设之学生学籍管理系统>由会员分享,可在线阅读,更多相关<C语言课设之学生学籍管理系统(10页珍藏版)>请在人人文库网上搜索. 1.题目:学生学籍管理系统 目录:一.个 ...

  7. c语言课程设计自我评价,学生成长卡,个人表现,自评

    技校网专门为您推荐的类似问题答案 问题1: 网络对中小学生成长的弊大于利的论据 中小学生,还是学生,社会经验不足....没有好的制度条例去管理实施的话,任其上网,是弊大于利...... 问题2: 乌鲁 ...

  8. 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03)

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03) Java Web课程设计(代码+课程报告) ---------------------我是分割线------------ ...

  9. 数据结构课程设计论文--学生信息管理系统

    数据结构课程设计论文--学生信息管理系统 1.学生成绩分析问题 (1)问题描述.录入并保存一个班级学生多门课程的成绩,并对成绩进行分析. (2)基本要求.a)通过键盘输入各学生的多门课程的成绩,建立相 ...

最新文章

  1. 剑指offer:面试题10- I. 斐波那契数列
  2. 漫画 | Bug是如何产生的?
  3. 批量修改文件名称(Python)
  4. mac安装mysql修改密码_Mac下安装MySQL 5.7.28并且修改root密码-Go语言中文社区
  5. addListener添加事件监听器,第三个参数useCapture (Boolean) 的作用
  6. 以深圳.NET俱乐部名义 的技术交流会圆满成功
  7. windows 7资源管理器崩溃解决方法
  8. 两种方法查看MFC源代码
  9. MapReduce中的排序(附代码)
  10. 原生前端:input标签 number类型输入框如何清除上下加减按钮?
  11. 敏捷开发案例:用白板解决项目管理和团队沟通
  12. centos7配置时间同步服务器
  13. 奥多朗WIFI 插座
  14. 解决Mac自动切换输入法
  15. Golang Fyne项目实战(含源码)
  16. scanf输入回车问题
  17. Docker安装Tomcat镜像并部署web项目简述
  18. MySQL 大量sleeping before entering InnoDB 故障诊断
  19. seq2seq 解释
  20. windows远程桌面反向代理

热门文章

  1. 学生成绩管理系统升序排序c语言,学生成绩管理系统(查询、排序、增加)急!!!!!...
  2. java -- IO流之字节流
  3. [思维模式-8]:《如何系统思考》-4- 认识篇 - 什么是系统思考?系统思考的特征?系统思考的思维转变。
  4. linux 虚拟机ubuntu 安装软件失败解决方法最全总结!!以tree为例~
  5. 【Markdown】2022 Typora+PicGo+gitee配置(附资源)
  6. [Android4.4.3] Nubia Z5S Mokee4.4.3 RC2.0 by syhost
  7. ESA Sentinel-2 视角下的 US Aircraft Carrier
  8. 如何将电脑复制的内容粘贴进MobaXterm?如何复制粘贴
  9. CVPR2022论文速递(2022.3.21)!共12篇多篇目标检测相关内容
  10. “保姆级”车载CAN总线教程(三)-堪称全网“最细”系列