C语言程序设计——学生学籍管理系统

这篇具有很好参考价值的文章主要介绍了C语言程序设计——学生学籍管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、题目设计及其要求

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

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

2、功能要求:

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

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

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

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

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

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

二、设计平台

Visual C++ 6.0

三、设计思路及过程

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

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

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

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

四、运行结果

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

C语言程序设计——学生学籍管理系统

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

C语言程序设计——学生学籍管理系统

C语言程序设计——学生学籍管理系统

C语言程序设计——学生学籍管理系统

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

C语言程序设计——学生学籍管理系统

C语言程序设计——学生学籍管理系统

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

C语言程序设计——学生学籍管理系统

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

C语言程序设计——学生学籍管理系统

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

C语言程序设计——学生学籍管理系统

 (7)退出系统

C语言程序设计——学生学籍管理系统

 五、程序代码文章来源地址https://www.toymoban.com/news/detail-500495.html

#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语言程序设计——学生学籍管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java程序设计】学生成绩管理系统

     相关文章: 【Java程序设计】宠物商店管理系统 【Java程序设计】Java基础知识实验 对于学生成绩管理系统,主要可以分为如下几个功能: 录入学生成绩 统计学生成绩 查找学生成绩 修改学生成绩 删除学生成绩 按平均分排序 显示所有成绩 退出管理系统 进入系统之后,我们

    2024年01月17日
    浏览(47)
  • 程序设计基础大作业——学生管理系统

    声明:这是本人所写的程序设计期末大作业实验报告,可供大家学习和参考,也希望能得到一些建议和改正,但如果只为抄袭代码,本人必究! 目录 一、任务描述 二、代码实现 三、运行结果 四、实验体会 写一个命令行交互式C语言程序。该程序需要实现下述菜单功能: 1

    2024年02月10日
    浏览(57)
  • ASP.NET程序设计课程设计——学生信息管理系统

    点击查看详细信息 ASP.NET程序设计课程设计——学生信息管理系统 一、实验目的 综合运用们所学的ASP.NET知识,开发学生信息管理系统,完成相关功能: (1)教师管理 (2)学生信息 (3)课程信息 (4)成绩管理 (5)班级管理 二、实验环境 (1)Windows 10 (2)Visual Studio 2

    2024年02月03日
    浏览(58)
  • 【java 程序设计实训】学生请假管理系统

    声明:未经允许,请勿转载 下载链接 https://download.csdn.net/download/weixin_66397563/87976888

    2024年02月08日
    浏览(71)
  • 学生管理系统实验报告-asp.net程序设计

    课程名称 ASP.NET程序设计 实验名称 学生信息管理系统 下载链接:https://download.csdn.net/download/mariodf/85671926?spm=1001.2014.3001.5501 目录 一、实验目的 ... 3 二、实验环境 ... 3 1. 运行环境 .. 3 2. 开发工具 .. 3 三、实验设计 ... 3 1. 系统框架 .. 3 2. 系统总体设计 .. 4 3. 数据库表结构设计

    2024年02月04日
    浏览(49)
  • 面向对象程序设计(Java)课程设计——学生信息管理系统(GUI+文件)

    一、团队成员及任务 组长:宗庆亮  计科(智能)22-1  202203200021 负责模块:静态登录界面实现以及学生信息系统管理界面的创建 组员:郑金洲  计科(智能)22-1  202203200022 负责模块:增加,删除,修改以及查询功能的实现 团队博客:面向对象程序设计(Java)课程设计——学生

    2024年02月03日
    浏览(57)
  • java毕业设计——基于JSP+sqlserver的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统

    大家好,今天给大家介绍基于JSP+sqlserver的学生信息管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦 文章目录: 随着学校规模的

    2024年02月04日
    浏览(68)
  • 基于Python 课程设计-学生管理系统(附源码+可执行程序)

    基于Python 课程设计-学生管理系统(附源码+可执行程序) 非常完整的一个项目,可以作为课程设计去学习。 本系统的完整源码在文章结尾处,大家自行获取即可。 本系统的软件开发及运行环境具体如下。 操作系统:Windows 7、Windows 10。 Python版本:Python 3.7.0。 开发工具

    2024年02月06日
    浏览(53)
  • asp毕业设计——基于asp+access的学生排课管理系统设计与实现(毕业论文+程序源码)——学生排课管理系统

    大家好,今天给大家介绍基于asp+access的学生排课管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦 文章目录: 选排课系统功能的

    2024年02月04日
    浏览(47)
  • 基于微信小程序的班级学生作业管理系统设计与实现

    💗博主介绍:✌全网粉丝10W+,CSDN全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者。 👇🏻 精彩专栏 推荐订阅👇🏻 计算机毕业设计精品项目案例-200套 🌟 文末获取源码+数据库+文档 🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编

    2024年01月21日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包