【C语言期末实训】学生学籍管理系统
目录:一,设计要求1,总体要求:2,具体功能:二,设计框架三,程序代码1,声明函数和头文件2,声明结构体3,声明全局变量4,主体启动函数5,主菜单函数6,创建学生档案函数7,编辑学生档案函数8,查询学生档案函数9,输出籍贯与专业函数10,查询学籍变化函数11,删除学生信息函数四,测试代码1,运行界面2,创建学生档案3,修改学生档案信息4,查询学生档案信息5,查询学生籍贯和专业信息6,查询学生学籍变化7,删除学生信息五,设计的总结和感想
给读者的话:由于期末作业简单,而且没有要求用到文件的知识,毕竟都还没怎么上过结构体,所以这个系统的代码也略显简单,希望以后回过头来再看这些代码,有更好的见解和领悟。如果你也是为了完成实训或者交作业而看到这篇文章,请不要直接抄袭,注释我写得非常清楚,希望能够真正地帮助到你。
设计要求:
1,总体要求
用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。
2,具体功能:
1,系统以菜单方式工作。
2,登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;
3,删除已知学号的学生信息;
4,查找已知学号的学生信息;
5,按学号,专业输出学生籍贯表。
6,查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。
程序代码:
1, 声明函数和头文件
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#define N 100void menu();void Student_Create();void Student_Edit();void Student_find();void Student_native();void Student_changes();void Student_pop();
2, 声明结构体
struct Studen_book {int num;char name[20];char sex;int age;char native[80]; //籍贯char depart[20]; //系别char majoy[20]; //专业char clas[20]; //班级char native_changes[30]; //学籍 }stu[N];
3, 声明全局变量
static int i=0;
4, 主体启动函数
int main() //启动程序 {menu();return 0;}
5, 主菜单函数
void menu() //主菜单 {char sel='a';while(sel!='0'){system("cls");//清屏函数 printf("|-----------------------------------------------|\n");printf("| 学 生 学 籍 管 理 系 统 主 菜 单 |\n");printf("|-----------------------------------------------|\n");printf("| 1------创建学生档案信息 【欢】 |\n");printf("| 2------修改学生档案信息 【迎】 |\n");printf("| 3------删除学生档案信息 【使】 |\n");printf("| 4------查询学生档案信息 【用】 |\n");printf("| 5------查询学生籍贯信息 【本】 |\n");printf("| 6------查询学生学籍变化 【程】 |\n");printf("| 0------退出学籍管理系统 【序】 |\n");printf("|-----------------------------------------------|\n");printf("请输入选项编号(0-6):");sel = getch(); //无需回车switch(sel){case '1':Student_Create();break;case '2':Student_Edit();break;case '3':Student_pop();break;case '4':Student_find();break;case '5':Student_native();break;case '6':Student_changes();break;case '0':break; }if(sel=='0')printf("\n Thanks for your used!");} }
6, 创建学生档案函数
void Student_Create() //创建学生档案 {char choose;Add:system("cls");printf("请输入学生学号:\n");scanf("%d",&stu[i].num);printf("请输入学生姓名:\n");scanf("%s",&stu[i].name);getchar();printf("请输入学生性别(M或F):\n");scanf("%c",&stu[i].sex);printf("请输入学生年龄:\n");scanf("%d",&stu[i].age);printf("请输入学生籍贯:\n");scanf("%s",&stu[i].native);printf("请输入学生系别:\n");scanf("%s",&stu[i].depart);printf("请输入学生专业:\n");scanf("%s",&stu[i].majoy);printf("请输入学生班级:\n");scanf("%s",&stu[i].clas);printf("请输入学生学籍变化:\n");scanf("%s",&stu[i].native_changes);i++; //输完一项++,方便下一项输入 ,同时计输入的学生总数 getchar(); //回车继续 printf("是否继续添加('Y'or'N')?");choose=getchar();if(choose=='Y'||choose=='y')goto Add; }
7, 编辑学生档案函数
void Student_Edit() //根据学号查找学生信息并编辑 {int t,number,n;char x;printf("\n输入学号:");scanf("%d",&number);for(t=0;t<i;t++){if(stu[t].num==number)n=t;}printf("\n学生的信息如下:\n");printf("1—学号:%d\n",stu[n].num);printf("2—姓名:%s\n",stu[n].name);printf("3—性别:%c\n",stu[n].sex);printf("4—年龄:%d\n",stu[n].age);printf("5—籍贯:%s\n",stu[n].native);printf("6—系别:%s\n",stu[n].depart);printf("7—专业:%s\n",stu[n].majoy);printf("8—班级:%s\n",stu[n].clas);printf("9—学籍变化:%s\n",stu[n].native_changes);printf("0—退出编辑\n");printf("请输入要编辑的选项(0-9):");x=getch();switch(x){case '1':scanf("%d",&stu[n].num);break;case '2':scanf("%s",&stu[n].name);break;case '3':scanf("%c",&stu[n].sex);break;case '4':scanf("%d",&stu[n].age);break;case '5':scanf("%s",&stu[n].native);break;case '6':scanf("%s",&stu[n].depart);break;case '7':scanf("%s",&stu[n].majoy);break;case '8':scanf("%s",&stu[n].clas);break;case '9':scanf("%s",&stu[n].native_changes);break; case '0':return; } }
8, 查询学生档案函数
void Student_find() //根据学号查找学生信息 {char choose;int t,n,number;Find:int s=0;printf("\n请输入要查询的学号:");scanf("%d",&number);for(t=0;t<i;t++)if(stu[t].num==number){n=t;printf("\n【%d号】学生的信息如下:\n",number);printf("1—学号:%d\n",stu[n].num);printf("2—姓名:%s\n",stu[n].name);printf("3—性别:%c\n",stu[n].sex);printf("4—年龄:%d\n",stu[n].age);printf("5—籍贯:%s\n",stu[n].native);printf("6—系别:%s\n",stu[n].depart);printf("7—专业:%s\n",stu[n].majoy);printf("8—班级:%s\n",stu[n].clas);printf("9—学籍变化:%s\n",stu[n].native_changes);s=1;}if(s==0)printf("无此学生信息");getchar();printf("是否继续(Y/N)?:");choose=getchar();getchar();if(choose=='y'||choose=='Y')goto Find;
9, 输出籍贯与专业函数
void Student_native() //按学号,专业输出学生籍贯表 { char choose;int number=0;int t;Native:int s=0;printf("\n输入查询的学号:");scanf("%d",&number);for(t=0;t<i;t++)if(stu[t].num==number){printf("【%d号】学生的信息如下:\n",number);printf("学号:%d\n",stu[t].num);printf("籍贯:%s\n",stu[t].native);printf("专业:%s\n",stu[t].majoy);s=1;}if(s==0)printf("暂无该学生信息");getchar();printf("是否继续(Y/N)?:");choose=getchar();getchar();if(choose=='y'||choose=='Y')goto Native;}
10,查询学籍变化函数
void Student_changes() //查询学生的学籍变化 { int t;for(t=0;t<i;t++){printf("\n%s的学籍情况如下:\n",stu[t].name);printf("%s",stu[t].native_changes);}getchar();}
11,删除学生信息函数
void Student_pop() //删除学生信息 {int k=0,number,t;char choose;Del:system("cls"); /*清屏*/printf("\n请输入要删除的学号:");scanf("%d",&number);getchar();for(t=0;t<i;t++){if(number==stu[t].num){ k=1;break;} } if(k==1) {for(k=t;k<i-1;k++){stu[k]=stu[k+1];}i--; //删除一项 总数对应减少 printf("已删除\n\n");}else{printf("找不到要删除的记录!\n");printf("按回车键返回:");getchar();}printf("是否继续(Y/N)?:");choose=getchar(); getchar();if(choose=='y'||choose=='Y')goto Del; }
主菜单界面:
转载于:https://www.cnblogs.com/tqing/p/10289852.html
【C语言期末实训】学生学籍管理系统相关推荐
- C语言报告书学生信息管理系统,C语言实训 学生信息管理系统
C语言实训 学生信息管理系统 实 训 报 告 实训名称 C语言编程开发实训 专业班级 物联1541 姓 名 张禄泽 学 号 指导教师 黄标兵.王丽平 实训时间 2016.2.29-2016.3.11 ...
- c语言学生学籍管理修改,C语言课设之学生学籍管理系统.doc
C语言课设之学生学籍管理系统.doc 题目学生学籍管理系统 目录一.个人简介.二.报告摘要.三.报告目录.四.报告正文. 1.系统需求分析 2.系统总体设计 3.系统详细设计六.总结. 二.报告摘要 ...
- 课设 c语言编译学籍管理系统,C语言课设之学生学籍管理系统
<C语言课设之学生学籍管理系统>由会员分享,可在线阅读,更多相关<C语言课设之学生学籍管理系统(10页珍藏版)>请在人人文库网上搜索. 1.题目:学生学籍管理系统 目录:一.个 ...
- Java实训学生信息_(java实训)学生信息管理系统.doc
您所在位置:网站首页 > 海量文档  > 计算机 > Java (java实训)学生信息管理系统.doc9页 本文档一 ...
- 大一项目实训—学生成绩管理系统
大一项目实训-学生成绩管理系统 项目实训总结 由于自己大一在Java课中没有好好听讲,导致项目实训中完全是一边学习一边敲代码.但自己付出了很多努力,早上8.30起床,晚上2,3点才睡甚至通宵,虽然做的 ...
- C语言课程设计之学生学籍管理系统
做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdli ...
- 学籍管理查找学生信息 c语言,【C语言期末实训】学生学籍管理系统
目录: 一,设计要求1,总体要求:2,具体功能: 二,设计框架 三,程序代码1,声明函数和头文件2,声明结构体3,声明全局变量4,主体启动函数5,主菜单函数6,创建学生档案函数7,编辑学生档案函数8, ...
- c语言学籍管理系统实训作业,学籍管理系统C语言实训报告
学籍管理系统C语言实训报告 实训报告 课程名称: C语言程序设计课设 项目名称: 学籍管理系统 学 院: 专 业: 姓 名: 学 号: 指导教师: 成 绩: 目录 1 问题提出 ........... ...
- C语言期末大作业-学生成绩管理系统(完整源码+设计报告)
C语言-学生成绩管理系统 一.学生成绩管理系统源码(完整) 二.程序设计报告 1.课程设计目的 2.课程设计任务与要求: 4.课程设计成果(运行截图) 5.课程设计心得 一.学生成绩管理系统源码(完整 ...
最新文章
- MIT出品2017-2018深度学习最新进展汇总
- 【博弈论】【SG函数】bzoj1457 棋盘游戏
- python处理表格数据-基于Python快速处理PDF表格数据
- TCP 的那些事儿(上)
- java hashtable 数据结构_数据结构--哈希表(Java)
- 用c语言求解n阶线性矩阵方程组,用C语言求解N阶线性矩阵方程Axb简单解法.docx
- 使用 simiki 搭建个人 wiki(简易的博客)
- mysql 日志抓取变化_MySQL慢查询日志分析提取【转】
- 为什么办理房产证要经过开发商和物业?
- ArrayList详细
- MFC调用dos窗口使用printf,cout打印输出
- Qt: 监听文件夹QFileSystemWatcher;
- 【QGIS】【OsGeo4w】安装方法
- linux 列出指定目录下所有文件的 列表集合
- 配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现
- arduino动态刷新显示_玩家国度XG27UQ绝影游戏显示器评测:DSC加持的满血4K显示器...
- python开发者是谁_Python 太蹩脚了?开发者总结了 8 大缘故
- 一种绘制有向图的方法<TSE93> - 2. 最优层级分配
- MacOSX安装OpenCC实现繁体字转简体字
- 定积分问题的区间再现公式应用
热门文章
- python 相关系数函数会产生无穷大吗_python 求相关系数
- 扫雷java讲解_java课程设计(扫雷游戏)讲解.doc
- mysql 左连接 和全连接_mysql左连接,右连接,内连,全连
- tu-ctf-2016:re-for-50-plz-50
- ubuntu 18.04使用sysbench测试MySQL性能
- python---django中url路由分发
- 浏览器解析html全过程详解
- CSDN改版问题多多
- Case 2-1:用空间平滑法分析华南地区的TAI语地名分布
- 集成 Tomcat、 Servlet 的生命周期