C语言课设班级档案管理系统(大作业)

article/2025/9/12 7:51:32

一、设计功能(文章仅供参考)

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。 2、本系统显示这样的菜单: 请选择系统功能项: a. 学生基本信息录入 b. 学生基本信息显示 c. 学生基本信息保存 d. 学生基本信息删除
e. 学生基本信息修改(要求先输入密码) f. 学生基本信息查询 (1) 按学号查询 (2) 按姓名查询 (3) 按性别查询 (4) 按年龄查询 g. 退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。 4、将学生基本信息保存到文件中。 5、进入系统之前要先输入密码。

二、功能展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、思维导图

在这里插入图片描述

在这里插入图片描述

四、程序源码

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>
#include <conio.h> 
#define N 3 
struct  student 
{char name[10];char no[10];char sex;int  age;char bnote[100];
};
void print(bool menu)//打印基本信息
{if (!menu){printf("学生基本信息录入 ,press 1\n");     }else{printf("学生基本信息显示 ,press 2\n");  printf("学生基本信息保存 ,press 3\n");  printf("学生基本信息删除 ,press 4\n"); printf("学生基本信息修改 ,press 5\n"); printf("学生基本信息查询 ,press 6\n");  }printf("退出学生信息系统 ,press 7\n"); 
}
void GetInfo(struct student *arr,int n)//学生基本信息录入
{for (int i = 0;i<n;i++){printf("输入学生的基本信息:name   no    sex  age   bnote\n");scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);} 
}
void Display(struct student* arr,int n)//学生基本信息显示
{printf("学生信息: Name     NO    Sex   age  Note\n");for (int i = 0;i<n;i++){printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);} 
}void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt
{FILE * fp;fp= fopen("c:\\student.txt","w+");if (fp == NULL){printf("文件不存在!\n");exit(0);}fwrite(arr,sizeof(struct student)*n,n,fp);fclose(fp);
}void Modfiy(struct student* arr,int n)//学生基本信息修改
{char number[10];bool flag=false;char pass[6];printf("修改学生信息:\n");printf("请输入学号:\n");scanf("%s",number);for (int i =0;i<n;i++){if (!strcmp(number,arr[i].no)){printf("infor:   name   no   sex  age note\n");printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);printf("please input information:\n");scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);Save(arr,n);flag = true;}}if (flag == false){printf("该学生不存在!:\n");}}void Delete(struct student* arr,int n)//学生基本信息删除
{char number[10];bool flag=false;printf("Delete information:\n");printf("please input the no:\n");scanf("%s",number);for (int i =0;i<n;i++){if (!strcmp(number,arr[i].no)){strcpy(arr[i].name," ");strcpy(arr[i].no," ");strcpy(arr[i].bnote," ");arr[i].sex = ' ';arr[i].age = 0;Save(arr,n);flag = true;}}if (flag == true){printf("该学生不存在!:\n");}
}void Search(struct student* arr,int n)//学生基本信息查询
{int temp,i;bool flag=false;printf("---------------通过学号查询,press 1-------------\n");  printf("---------------通过姓名查询,press 2-----------\n");  printf("---------------通过性别查询,press 3------------\n");  printf("---------------通过年龄查询,press 4------------\n");  printf("---------------退出,press 5      ------------\n");  scanf("%d",&temp);switch (temp){case 1://按照学号查询{char num[10];printf("请输入学号:\n");scanf("%s",num);for ( i =0;i<n;i++){if (!strcmp(num,arr[i].no)){printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 2://按照名字查询{char num[10];printf("please input name:\n");scanf("%s",num);for ( i =0;i<n;i++){if (!strcmp(num,arr[i].name)){printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 3://按照性别查询{char ch;printf("请输入性别:\n");//scanf("%c",&ch);ch = getch();for ( i =0;i<n;i++){if (ch == arr[i].sex){printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("t该学生不存在.\n");}}break;case 4://按照年龄查询{char num_age;printf("请输入年龄:\n");scanf("%d",&num_age);for ( i =0;i<n;i++){if (num_age == arr[i].age){printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;default:break;}
}main()
{struct student arr[N];char ps[6];bool flag =false;int select;print(false); scanf("%d",&select);while (0<select && select <7 ){switch (select){case 1:GetInfo(arr,N);print(true);break;case 2:Display(arr,N);print(true);break;case 3:Save(arr,N);print(true);break;case 4:Delete(arr,N);print(true);break;case 5:Modfiy(arr,N);print(true);break;case 6:Search(arr,N);print(true);break;default:break;}printf("请选择:\n");scanf("%d",&select);}  }  

请添加图片描述

大家可以点个关注后续会持续更新0.0(在此先谢过各位了)


http://chatgpt.dhexx.cn/article/Xh5iI6CX.shtml

相关文章

C语言:班级成绩管理系统

文章目录 前言&#xff1a;程序要求说明代码main.cdef.cmyIO.cfile.cmenu.cfunction.c 前言&#xff1a; 有朋友最近在做c语言课设&#xff0c;要求写一个班级成绩管理系统&#xff0c;便写份简单的代码来玩。代码原创&#xff0c;未参考任何其他人的代码 程序要求 说明 本程序…

班级档案管理系统(C语言)

这是本人基本学完C语言时做的一个课程设计&#xff0c;希望能够帮到大家&#xff08;设计要求如上图片&#xff09;。 怎么说呢&#xff1f;这个也是我第一次写课程设计&#xff0c;准确来说&#xff0c;对于第一次确实时有难度的。 现在我要分享我写这个课程设计的一些心得分…

学生信息管理系统----班级信息管理

嵌入班级信息到System页面 这一部分要实现班级信息的相关操作。   还是在名为servlet的package下创建一个显示班级列表的Servlet——ClazzServlet。这样取名字是避免与系统关键字class起冲突&#xff0c;以免出现不必要的麻烦。 public class ClazzServlet extends HttpServ…

数据库系统及应用——班级管理系统

我的GitHub网址 数据库技术 在本次设计中&#xff0c;用SQL Server建了六个表用来存储基本信息&#xff0c;分别为Tb_Student &#xff08;学生信息表&#xff09;、Tb_Course&#xff08;课程信息表&#xff09;、Tb_Course2&#xff08;选修课程表&#xff09;、Tb_ScoreSt…

班级管理系统的设计与实现/java/SSM

SSM班级管理系统 摘 要 随着社会的发展&#xff0c;计算机的优势和普及使得SSM班级管理系统的开发成为必需。SSM班级管理系统主要是借助计算机&#xff0c;通过对首页、商铺信息、班级综合评测数据、综合评测数据商品、新闻资讯、我的、跳转到后台、购物车等信息进行管理。减…

学生管理系统

学生信息管理系统设计 一、需求分析 1、开发背景&#xff1a; 信息化已经渗透到我们生活的方方面面&#xff0c;学校信息化的发展也是一种不可避免的趋势。伴随着高等院校招生规模的不断扩大&#xff0c;传统人工管理信息的方法不但不能满足这种管理上的需求&#xff0c;而且…

基于Java的班级管理系统的设计与实现(论文+源码)_kaic

摘 要 伴随着信息技术不断的飞速发展&#xff0c;信息技术给现在的生活也在带来翻天覆地的变化。信息时代的到来已经成为一种趋势&#xff0c;人类的发展历史正在进入到一个新的时代。信息技术已经在生活中的各个领域得到普及以及被应用。班级管理在信息技术发展之前一直都是…

班级管理系统(SSM+LayUI)

项目预览 1.项目预览 获取项目q 2300852495&#xff08;有偿&#xff09; 项目预览地址 项目源码 角色分类账号密码管理员1705145123老师170507111123学生170507106123 2.系统功能介绍 3.开发环境 系统开发及运行环境 班级管理系统开发环境如下&#xff1a; 操作系统&…

C++课程设计班级管理系统

整体代码展示&#xff1a;借鉴作业的同学可以直接复制粘贴ctrlACV一气呵成&#xff0c;代码可以直接运行。如果怕和同学的重复了再改下参数名就可以&#xff0c;不过记得先备份一份哦。 如果觉得对你们有用还请不要忘记一键三连哟。ヾ(≧▽≦*)o #include <iostream> #i…

c语言编译器好玩的代码,读懂这4个函数,528行代码,你也可以实现一个C语言编译器...

引言 自从华为方舟编译器横空出世,一举成为全民网红之后,一下子点燃了大家对编译器的热情。不过,对于大多数人来说,编译器依旧是遥不可及的神秘存在。 今天,介绍一个国外大牛写的C语言编译器 - C4,揭开编译器的神秘面纱。原来实现一个具备基本功能的编译器,竟是如此简单…

c语言编译器 dev,1.1开篇一:C语言编译器的选择---Dev C++

目录&#xff1a; 1.Dev C的下载&安装&#xff1a; 2.Dev C的使用&#xff1a; 前言&#xff1a; 那么多编译器&#xff0c;为什么选择Dev C&#xff1f;理由有下 理由一&#xff1a;Dev C 体积比较小&#xff0c;不占用太多的内存。 理由二&#xff1a;Dev C 打开速度快&a…

C语言推荐编译器

前言&#xff1a;vs虽然好,但是2015往后的版本相对使用起来比较复杂,对小白不太友好 既然是第一次打C语言,就要使用一个简洁明了,通俗易懂的编译器,这里 推荐 小熊猫devC,这非常的简洁,没有过多的插件,点击下方链接就可以下载&#xff01; DevC官方下载-DevC中文最新版下载(…

C语言编译器Visual Studio官方正版下载安装

首先打开微软官网。 微软官网https://www.microsoft.com/zh-cn/进入Visual Studio的产品介绍页。 一般我们用的是win系统。 点击下载。 选择社区版&#xff0c;因为其他版本要花钱&#xff0c;专业版和企业版。 打开安装包。 选择c&#xff0c;确定没选错&#xff0c;接下来进行…

【Linux03-基本工具之GCC】Linux下的C语言编译器

前言 接上篇&#xff0c;继续学习基本工具。 三、gcc 是什么 Linux下的C语言编译器&#xff08;C的编译器是g&#xff0c;用法选项基本一样&#xff09;。 既然是编译器&#xff0c;我们就再来加点餐…… 链接其实分为两种类型&#xff1a;静态链接和动态链接&#xff0…

初学者-C语言基础练习(二)——C语言编译器的使用方法

安装完之后我们就可以开始我们的程序编写了&#xff0c;但是这里还是有必要讲一下初学者该注意的事项。 1.拒绝堆排多个文件 2.切记不能使用中文输入&#xff0c;编写程序一定要在英文状态下编写&#xff0c;注释内容除外 3.每个语句结束不要忘记分号 说完这三个注意了&am…

c语言编译器苹果下载,c语言编译器ios下载

c语言编译器ios介绍 c语言编译器ios是一款非常实用的编程语言学习类手机软件&#xff0c;软件可以给我们带来许多的功能可以让我们使用&#xff0c;通过软件我们就能够进行代码的编译而且在这里就能够验证许多的小程序&#xff0c;还支持我们文件代码的打开可以在这里进行浏览非…

手机c语言编译器ide文件位置,C语言编译器IDE

C语言编译器IDE是一个手机上的C语言编辑软件&#xff0c;支持在线编译各种代码&#xff0c;创建代码文件或管理不同的代码项目等&#xff1b;里面设置了C语言工程管理中心&#xff0c;其中的工程项目内容一目了然&#xff0c;所有工程项目名称都清晰展示&#xff0c;还显示自己…

新手c语言编译器推荐

c语言程序开发需要在某种编程环境中进行。 c语言常用的编程环境有Dev-C、C-Free、Code::Blocks、CLion、Turbo C、VS、VS Code、Visual C等。 1、VS/VS Code vs和vs code是很好用的编辑器&#xff0c;但是占用空间很大、操作有点繁琐对新手不太友好。 2、C-Free/Turbo C C…

windows系统c语言编译器安装

windows系统c语言编译器安装 1、安装包下载及说明 MinGW 的全称是&#xff1a;Minimalist GNU on Windows &#xff0c;实际上是将gcc&#xff08;c/c编译器&#xff09;移植到了 Windows 平台下&#xff0c;并且包含了 Win32API &#xff0c;因此可以将源代码编译为可在 Win…

c语言如何用编译器编辑,C语言编译器怎么用,C语言编译器使用教程

C语言编译器怎么用的详细解析 一、本站站点下载并安装&#xff0c;解压缩后&#xff0c;运行exe安装文件&#xff0c;单击“下一步” 二、选择已安装的组件后&#xff0c;单击“下一步” 三、单击“下一步”&#xff0c;默认情况下可以设置软件的安装位置&#xff0c;或者单击“…