目录:一,设计要求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语言期末实训】学生学籍管理系统相关推荐

  1. C语言报告书学生信息管理系统,C语言实训 学生信息管理系统

    C语言实训 学生信息管理系统 实 训 报 告 实训名称 C语言编程开发实训 专业班级 物联1541 姓 名 张禄泽 学 号 指导教师 黄标兵.王丽平 实训时间 2016.2.29-2016.3.11 ...

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

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

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

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

  4. Java实训学生信息_(java实训)学生信息管理系统.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava (java实训)学生信息管理系统.doc9页 本文档一 ...

  5. 大一项目实训—学生成绩管理系统

    大一项目实训-学生成绩管理系统 项目实训总结 由于自己大一在Java课中没有好好听讲,导致项目实训中完全是一边学习一边敲代码.但自己付出了很多努力,早上8.30起床,晚上2,3点才睡甚至通宵,虽然做的 ...

  6. C语言课程设计之学生学籍管理系统

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

  7. 学籍管理查找学生信息 c语言,【C语言期末实训】学生学籍管理系统

    目录: 一,设计要求1,总体要求:2,具体功能: 二,设计框架 三,程序代码1,声明函数和头文件2,声明结构体3,声明全局变量4,主体启动函数5,主菜单函数6,创建学生档案函数7,编辑学生档案函数8, ...

  8. c语言学籍管理系统实训作业,学籍管理系统C语言实训报告

    学籍管理系统C语言实训报告 实训报告 课程名称: C语言程序设计课设 项目名称: 学籍管理系统 学 院: 专 业: 姓 名: 学 号: 指导教师: 成 绩: 目录 1 问题提出 ........... ...

  9. C语言期末大作业-学生成绩管理系统(完整源码+设计报告)

    C语言-学生成绩管理系统 一.学生成绩管理系统源码(完整) 二.程序设计报告 1.课程设计目的 2.课程设计任务与要求: 4.课程设计成果(运行截图) 5.课程设计心得 一.学生成绩管理系统源码(完整 ...

最新文章

  1. MIT出品2017-2018深度学习最新进展汇总
  2. 【博弈论】【SG函数】bzoj1457 棋盘游戏
  3. python处理表格数据-基于Python快速处理PDF表格数据
  4. TCP 的那些事儿(上)
  5. java hashtable 数据结构_数据结构--哈希表(Java)
  6. 用c语言求解n阶线性矩阵方程组,用C语言求解N阶线性矩阵方程Axb简单解法.docx
  7. 使用 simiki 搭建个人 wiki(简易的博客)
  8. mysql 日志抓取变化_MySQL慢查询日志分析提取【转】
  9. 为什么办理房产证要经过开发商和物业?
  10. ArrayList详细
  11. MFC调用dos窗口使用printf,cout打印输出
  12. Qt: 监听文件夹QFileSystemWatcher;
  13. 【QGIS】【OsGeo4w】安装方法
  14. linux 列出指定目录下所有文件的 列表集合
  15. 配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现
  16. arduino动态刷新显示_玩家国度XG27UQ绝影游戏显示器评测:DSC加持的满血4K显示器...
  17. python开发者是谁_Python 太蹩脚了?开发者总结了 8 大缘故
  18. 一种绘制有向图的方法<TSE93> - 2. 最优层级分配
  19. MacOSX安装OpenCC实现繁体字转简体字
  20. 定积分问题的区间再现公式应用

热门文章

  1. python 相关系数函数会产生无穷大吗_python 求相关系数
  2. 扫雷java讲解_java课程设计(扫雷游戏)讲解.doc
  3. mysql 左连接 和全连接_mysql左连接,右连接,内连,全连
  4. tu-ctf-2016:re-for-50-plz-50
  5. ubuntu 18.04使用sysbench测试MySQL性能
  6. python---django中url路由分发
  7. 浏览器解析html全过程详解
  8. CSDN改版问题多多
  9. Case 2-1:用空间平滑法分析华南地区的TAI语地名分布
  10. 集成 Tomcat、 Servlet 的生命周期