C语言版本学生信息管理系统
仍然有一些小bug,后续会发布OC完善版的图书馆管理系统,欢迎批评指正。
#include <stdio.h>
void menu_choose();
typedef struct
{
int Id;
int age;
char name[];
char sex[]; }Student;
Student stuArr[];
int stuCount=; void readStu(Student * stu)
{
printf("所有学生信息为:\n");
for(int i=;i<stuCount;i++)
{
printf("姓名为:%s 性别为:%s 年龄为:%d 学号为:%d\n", stu[i].name, stu[i].sex, stu[i].age, stu[i].Id);
}
menu_choose();
}
void findStu(Student stu)
{
printf("请输入要查找的学生学号:");
scanf("%d",&stu.Id);
for(int i=;i<stuCount;i++)
{
if(stuArr[i].Id==stu.Id)
{
printf("要查找的学生信息为:");
printf("姓名为:%s 性别为:%s 年龄为:%d 学号为:%d\n",stuArr[i].name,stuArr[i].sex,stuArr[i].age,stuArr[i].Id);
}
if(stuArr[stuCount-].Id!=stu.Id)
{
printf("没有找到该学生\n");
} }
}
void addStu(Student stu)
{ printf("请输入学生姓名:");
scanf("%s",stu.name);
printf("请输入学生性别:");
scanf("%s",stu.sex);
printf("请输入学生年龄:");
scanf("%d",&stu.age);
printf("请输入学生学号:");
scanf("%d",&stu.Id);
stuArr[stuCount]=stu;
stuCount++;
printf("添加成功!\n");
// readStu(stuArr);
menu_choose();
}
void delStu(Student stu)
{
printf("请输入要删除的学生学号:");
scanf("%d",&stu.Id);
for(int i=;i<stuCount;i++)
{
if(stuArr[stuCount-].Id!=stu.Id)
{
printf("该学生不存在\n");
}
if(stuArr[i].Id == stu.Id)
{
stuArr[i]=stuArr[i+];
printf("删除成功!\n");
} }
menu_choose(); }
void updateStu(Student stu)
{
printf("请输入要修改的学生学号:");
scanf("%d",&stu.Id);
for(int i=;i<stuCount;i++)
{
if(stuArr[i].Id==stu.Id)
{
printf("你将学生姓名修改为:");
scanf("%s",stu.name);
printf("你将学生性别修改为:");
scanf("%s",stu.sex);
printf("你将学生年龄修改为:");
scanf("%d",&stu.age);
printf("你将学生学号修改为:");
scanf("%d",&stu.Id);
stuArr[i]=stu;
printf("修改成功\n");
}
if(stuArr[stuCount-].Id!=stu.Id)
{
printf("该学生不存在\n");
}
}
menu_choose();
}
int exitSys()
{
return ;
}
void menu_choose()
{ printf(" 学生管理系统 \n");
printf(" 1.查看所有学生 ");
printf(" 2.增加学生信息\n");
printf(" 3.删除学生信息 ");
printf(" 4.修改学生信息\n");
printf(" 5.查找学生信息 ");
printf(" 6.退出系统 \n");
printf("请输入功能编号:");
int menunum;
scanf("%d",&menunum);
Student stu;
switch (menunum)
{
case :
readStu(stuArr);
break;
case :
addStu(stu);
break;
case :
delStu(stu);
break;
case :
updateStu(stu);
break;
case :
findStu(stu);
break;
case :
exitSys();
default:
break;
}
}
int main(int argc, const char * argv[])
{
menu_choose();
return ;
}
C语言版本学生信息管理系统的更多相关文章
- C语言练习-学生信息管理系统
题目要求: 学生信息管理系统struct studentInfo{ int id; char name[128]; int age; char sex; int c_score; int cpp_sc ...
- 【转载】C语言综合实验1—学生信息管理系统
http://www.cnblogs.com/Anker/archive/2013/05/06/3063436.html 实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的 ...
- C语言小练习之学生信息管理系统
C语言小练习之学生信息管理系统 main.c文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- 大一C语言结课设计之《学生信息管理系统》
第一次写这么长的程序,代码仅供參考,有问题请留言. /* ** 学生信息管理系统 ** IDE:Dev-Cpp 4.9.9.2 ** 2014-6-15 */ #include <stdio.h ...
- 学生信息管理系统(c语言)
①注意: 程序中使用了sleep()函数.system()函数 关于 sleep() 函数 sleep() 函数的头文件和用法会因环境的不同而有所不同. 具体见-sleep()函数功能及用法 关于sy ...
- 学生信息管理系统(C语言)
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct student ...
- 基于数组或链表的学生信息管理系统(小学期C语言程序实训)
1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...
- 基于Spring MVC + Spring + MyBatis的【学生信息管理系统】
资源下载:https://download.csdn.net/download/weixin_44893902/45603211 练习点设计: 模糊查询.删除.新增 一.语言和环境 实现语言:JAVA ...
- 学生信息管理系统v1.0
昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...
随机推荐
- ASP Loading
ASP 页面加载等待效果.如 显示"请稍后页面正在加载...",加载完成后隐藏这个loading. <%Response.buffer=false%> <html ...
- 在静态页面中使用 Vue.js
在静态页面中使用 Vue.js 不使用Node.js, NPM, Webpack 等, 在静态页中使用Vue.js. 包括路由, 单文件组件. 1. 创建index.html index.html做为 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_4_定义和使用含有泛型的方法
泛型方法 泛型也可以用在方法上 测试 调用的时候,可以传递多种数据类型 . 泛型的静态方法
- .Net Core 使用 System.Drawing.Common 在CentOS下报错
.Net Core控制台项目,添加了 System.Drawing.Common 引用 #locate libdl /usr/lib64/libdl-2.17.so /usr/lib64/libdl. ...
- 解决Nginx反向代理不会自动对特殊字符进行编码的问题 如gitblit中的~波浪线
问题起因是利用Nginx做反向代理的时候,需要访问如下链接http://192.168.14.141/iserver/services/3D-0524hd/rest/realspace/datas/0 ...
- Caffe深度学习计算框架
Caffe | Deep Learning Framework是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 Yangqing Jia,目前在Google工作.Caffe是 ...
- c# Thread——1.为什么Abort中断线程是不可靠的
Thread.Abort 方法在c#中用作强制中断线程的执行,大多用于线程内部满足某个特定条件而自己调用关闭自身,比如下面的代码在i自增到3的时候就会停止打印. class Program { sta ...
- hbase的TTL机制清除opentsdb的超时数据
我们发现用opentsdb向hbase写数据之后,磁盘占用率飙升得很快,我们存的业务数据只用保存一个月的即可,了解hbase的TTL机制可以清除相关表.相关行的超时数据,之前在数据备份时,我介绍了,o ...
- Python解决ModuleNotFoundError: No module named 'Queue'的问题
我们知道Python2和Python3两个版本之间,有些不兼容的地方,Python3中引入Queue会报出这个问题. Python3中要这样引入: import queue Python2中要这样引入 ...
- Makefile之patsubst
经常要手写项目的Makefile,或者看其他项目的遗留项目的Makefile,有些makefile内置函数常用, 却用完就忘记了,最近项目中使用patsubst,感觉挺好用的 格式:$(pa ...