一、题目设计及其要求

1、题目:学生学籍管理系统

用数据文件存放学生的学籍,可对学生学籍进行注册、修改、查找、统计、学籍变化等操作。(用文件保存)

2、功能要求:

(1)系统以菜单方式工作;

(2)登记学生的学号,姓名,性别,年龄,籍贯,学院,专业,班级;

(3)修改已知学号的学生信息;

(4)查找已知学号的学生信息;

(5)按学号和专业输出学生籍贯表;

(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。

二、设计平台

Visual C++ 6.0

三、设计思路及过程

1、初步完成总体结构设计,主要运用结构体及函数调用的知识设计程序框架,根据功能确定函数个数及储备每个功能所需的知识;

2、创建工程,同时在工程路径下创建记事本保存文件数据,写出程序的主要框架;

3、写主函数以及被调用函数,完成上述登记、修改、查找、输出学生信息等功能;

4、调试代码,不断修改以达到运行成功和取得最佳效果。

四、运行结果

(1)系统以菜单方式工作

(2)登记学生的学号、姓名、性别、年龄、籍贯、学院、专业、班级,并用文件保存

(3)修改已知学号的学生信息

(4)查找已知学号的学生信息

(5)按学号和专业输出学生籍贯表

(6)查询学生学籍变化,比如入学、转专业、退学、降级、休学、毕业

(7)退出系统

、程序代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>    //头文件#define LEN 20     //学号和姓名最大字符数,20
#define N 50        //最大的学生人数int M = 0;//当前已经有的学生数量//函数声明void insert();  //录入学生信息
void modify();  //修改学生信息
void search();  //查询学生信息
void menu();    //主菜单函数
void save();    //保存学生信息
void jiguanbiao();  //输出学生籍贯信息
void xueji();   //查询学生学籍变化信息//结构体保存学生信息
struct student{long int Id;  //学号char Name[LEN+1];    //姓名char Sex[LEN+1];    //性别int  Age;     //年龄char BirthPlace[LEN+1];    //籍贯char YuanXi[LEN+1];          //院系char ZhuanYe[LEN+1];        //专业int  BanJi;      //班级char xueji[LEN+1];//学籍变化信息}stu[N];//主函数
int main()
{while (1){menu();}system("pause");return 0;}void menu()//菜单函数
{int num;printf("\n");printf("——————————————————————————\n");printf("*************欢迎使用学生信息管理系统***************\n");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("*                 7.退出系统                       *\n");printf("——————————————————————————\n");printf("请选择菜单编号:");scanf("%d", &num);switch (num){case 1:printf("Input student number(M<=50):\n");scanf("%d", &M);insert();break;case 2:modify();break;case 3:search();break;case 4:jiguanbiao();break;case 5:save();break;case 6:xueji();break;case 7:printf("退出程序成功!\n");exit(0);default:printf("请在1-8之间选择\n");system("pause");//提示完成之后显示按任意键继续}}
void insert()//添加学生信息{  int i;for(i=1;i<=M;i++){printf("请输入第%d个学生的学号:",i);scanf("%ld",&stu[i].Id);printf("请输入第%d个学生的姓名:",i);scanf("%s",&stu[i].Name);printf("请输入第%d个学生的性别:",i);scanf("%s",&stu[i].Sex);printf("请输入第%d个学生的年龄:",i);scanf("%d",&stu[i].Age);printf("请输入第%d个学生的籍贯:",i);scanf("%s",&stu[i].BirthPlace);printf("请输入第%d个学生的学院:",i);scanf("%s",&stu[i].YuanXi);printf("请输入第%d个学生的专业:",i);scanf("%s",&stu[i].ZhuanYe);printf("请输入第%d个学生的班级:",i);scanf("%d",&stu[i].BanJi);printf("请输入第%d个学生的学籍(如入学、转专业、退学、降级、休学、毕业):",i);scanf("%s",&stu[i].xueji);}printf("学生信息添加完毕!请立即保存数据信息到文件!");}
void modify()//修改学生信息{int i, item;long int a;printf("请输入要修改学生的学号:\n");scanf("%ld",&a);for (i=1; i<=M; i++){if (stu[i].Id==a){printf("1.修改名字:\n");printf("2.修改性别:\n");printf("3.修改年龄:\n");printf("4.修改籍贯:\n");printf("5.修改学院:\n");printf("6.修改专业:\n");printf("7.修改班级:\n");printf("8.修改学籍\n");printf("0.End of program!\n");while (1){printf("please choose:");scanf("%d", &item);switch (item){case 1:printf("Please input new name:\n");scanf("%s", &stu[i].Name);break;case 2:printf("Please input sex:\n ");scanf("%s", &stu[i].Sex);break;case 3:printf("Please input new age:\n");scanf("%d", &stu[i].Age);break;case 4:printf("Please input BirthPlace:\n");scanf("%s", &stu[i].BirthPlace);break;case 5:printf("Please input new yuanxi:\n");scanf("%s", &stu[i].YuanXi);break;case 6:printf("Please input new zhuanye:\n");scanf("%s", &stu[i].ZhuanYe);break;case 7:printf("Please input new banji:\n ");scanf("%d", &stu[i].BanJi);break;case 8:printf("Please input new xueji:\n");scanf("%s", &stu[i].xueji);break;default: printf("Input error!\n");}if (item == 0)break;}}}}
void search()  //查找已知学号的学生信息
{long int b,term=-1;int i;printf("请输入要查找学生的学号:");scanf("%ld",&b);for (i=1; i<=M; i++){if (stu[i].Id==b){printf("学号:%ld  姓名:%s  性别:%s  年龄:%d  籍贯:%s  学院:%s  专业:%s  班级:%d  学籍:%s  \n",stu[i].Id,stu[i].Name,stu[i].Sex,stu[i].Age,stu[i].BirthPlace,stu[i].YuanXi,stu[i].ZhuanYe,stu[i].BanJi,stu[i].xueji);term=-2;}}if(term!=-2){printf("Not found!\n");}}
void jiguanbiao()//按学号和专业输出学生籍贯表{int i;FILE *fp;fp=fopen("student.txt","r");printf("********************学生籍贯表*********************\n");printf("学号      姓名       籍贯\n");for(i=1;i<=M;i++){  printf("%ld        %s         %s\n",stu[i].Id,stu[i].Name,stu[i].BirthPlace);}fclose(fp);}
void save()//保存学生信息到文件{int i;FILE *fp;fp=fopen("student.txt","w");//在工程路径下创建名为“student.txt”的记事本for(i=1;i<=M;i++){fprintf(fp,"%ld         %s         %s         %d        %s         %s         %s         %d       %s  \n",stu[i].Id,stu[i].Name,stu[i].Sex,stu[i].Age,stu[i].BirthPlace,stu[i].YuanXi,stu[i].ZhuanYe,stu[i].BanJi,stu[i].xueji);}fclose(fp);printf("学生信息保存成功!");}
void xueji()   //查询学生学籍变化信息{long int c,t=-1;int i;printf("请输入要查询学生的学号:");scanf("%ld",&c);for (i=1; i<=M; i++){if (c==stu[i].Id){printf("学号:%ld  姓名:%s   学籍:%s  \n",stu[i].Id,stu[i].Name,stu[i].xueji);        t=-2;} }if(t!=-2) printf("Not found!\n");}

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

  1. C语言编程学生学籍登录窗口,C语言实现学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include #include #include #include #include //*********** ...

  2. c语言代码学生学籍系统,C语言实现学生学籍管理系统.pdf

    C语言实现学生学籍管理系统 这篇文章主要为大家详细介绍了C语言实现学生学籍管理系统,具有一定的 考价值,感兴趣的小伙伴们可以 考 一下 本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家 ...

  3. c语言程序学生成绩系统论文,c语言程序设计-学生成绩管理系统论文.doc

    c语言程序设计-学生成绩管理系统论文 C语言程序设计课程设计报告 - PAGE 11 - 中南民族大学工商学院 电子信息与计算机技术系 项目名称: 学生成绩管理系统 学生姓名: 学 号: 班 级: 指 ...

  4. 基于c语言的学生学籍管理系统

    系统需求分析 1.1 设计目的 (1)体验面向对象的编程思想,了解封装,继承,多态的基本思想. (2)熟练运用文件操作,函数定义与使用,头文件引入,数组,类,循环结构,选择结构,判断结构等基本工具进行 ...

  5. c语言程序设计 学生档案管理系统,C语言程序设计--班级档案管理系统.doc

    PAGE PAGE 2 C语言程序设计 课程名称 : C语言课程设计 设计题目: 班级档案管理系统 学生姓名: 学 号: 专业班级: 指导老师: 数学与信息技术学院 2011 年 11 月1日 说 明 ...

  6. 成绩管理系统c语言程序设计,学生成绩管理系统(C语言)

    C语言课程设计报告 一.实践的目的和要求 加深对<C语言程序设计>课程所学知识的理解,进一步巩固C语言讲法规则.学会编制结构清晰.风格良好.数据结构适当的C语言程序,从而具备解决综合性实际 ...

  7. c语言程序设计成绩管理应用书,C语言程序设计学生成绩管理系统实验报告

    移通学院 C语言程序设计报告书 设计名称:学生成绩管理系统 专业: 指导老师: 班级: 姓名: 学号: 座号: 时间- 一.实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解: 2.加强实 ...

  8. 学生宿舍管理系统c语言程序设计,学生宿舍管理系统C语言编程.doc

    实用文案 标准文档 "学生宿舍管理系统" C语言课程设计报告 程序功能简介 我设计的是"学生宿舍管理系统",主要是针对住宿学生个人信息的管理,适用对象主要是学校 ...

  9. C语言程序设计--学生信息管理系统

    题目:学生信息管理系统 1  系统设计 1.1设计要求 1.1.1设计任务 创建一个学生信息管理系统,让它来运行和管理学生信息,进行对学生学号.姓名.性别.年龄.出生年月日.住址.电话.E-maill ...

  10. c语言学籍管理实验报告,c语言实验报告(学生学籍管理系统)

    c语言实验报告(学生学籍管理系统) (20页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 实实 验验 报报 告告学学 生生 学学 籍籍 ...

最新文章

  1. ES6 系列之 let 和 const
  2. html(3)标签(2)
  3. 【环境搭建000】详细图解ubuntu 上安装配置eclips
  4. java判断float相等_在java中判断两个浮点型(float)数据是否相等的案例
  5. 马斯克:特斯拉Model S Plaid交付时间将推迟至6月10日
  6. 马化腾又要发红包!648亿港元,最多腾讯2%股份,我酸了...
  7. C++单例实现及回收(转)
  8. 数据结构十大经典排序算法--Python
  9. 深度学习面试题及参考答案
  10. 计算机公式算乘法,excel表格乘法计算公式的用法
  11. 简历里计算机能力,简历上计算机能力怎么写
  12. ESP8266 SOC门磁系统(一)---短信报警功能
  13. h5 页面唤起微信和qq
  14. java计算机毕业设计科技专业师生沟通平台源码+数据库+lw文档+系统
  15. 学习笔记-《python程序员面试宝典》-基础知识-数据结构-编程思维(一)
  16. (Emitted value instead of an instance of Error) Do not use v-for index as key on <transition-group>
  17. 软件工程_0, 软件开发约定
  18. PHP调用API接口
  19. 很难找齐的常识(转收藏)
  20. IL2CPP does not support marshaling delegates that point to instance methods to native code

热门文章

  1. Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax
  2. 转载]:[面试题:接口和抽象类的区别
  3. SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息
  4. [项目总结-原创]InternetRadio项目Ajax技术方案选型
  5. 互不相识的人在什么情况下会给你点赞呢?
  6. Oprofile工具的使用
  7. 浅谈SpringMVC源码的SpringServletContainerInitializer的完整加载流程
  8. python最小特征值_阿里巴巴举荐,Python视频,免费分享,用python求解特征向量和拉普拉斯矩阵...
  9. 名字正则只能是中文英文_F开头的英文名字有哪些?英文名字典词典,根据中文名姓名发音起关联英文名,最强英文名取名攻略大全!...
  10. Qt5.9配置安卓开发环境