仍然有一些小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语言版本学生信息管理系统的更多相关文章

  1. C语言练习-学生信息管理系统

    题目要求: 学生信息管理系统struct studentInfo{ int id; char name[128]; int age; char sex; int c_score; int cpp_sc ...

  2. 【转载】C语言综合实验1—学生信息管理系统

    http://www.cnblogs.com/Anker/archive/2013/05/06/3063436.html 实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的 ...

  3. 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 ...

  4. 大一C语言结课设计之《学生信息管理系统》

    第一次写这么长的程序,代码仅供參考,有问题请留言. /* ** 学生信息管理系统 ** IDE:Dev-Cpp 4.9.9.2 ** 2014-6-15 */ #include <stdio.h ...

  5. 学生信息管理系统(c语言)

    ①注意: 程序中使用了sleep()函数.system()函数 关于 sleep() 函数 sleep() 函数的头文件和用法会因环境的不同而有所不同. 具体见-sleep()函数功能及用法 关于sy ...

  6. 学生信息管理系统(C语言)

    #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct student ...

  7. 基于数组或链表的学生信息管理系统(小学期C语言程序实训)

    1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...

  8. 基于Spring MVC + Spring + MyBatis的【学生信息管理系统】

    资源下载:https://download.csdn.net/download/weixin_44893902/45603211 练习点设计: 模糊查询.删除.新增 一.语言和环境 实现语言:JAVA ...

  9. 学生信息管理系统v1.0

    昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...

随机推荐

  1. 十二、python字符串方法汇总

    '''1. index():检测字符串str1中是否包含字符串str2 语法:str1.index(str2,beg,end) str:指定检索的字符串:beg开始的索引,默认为0:end结束的索引, ...

  2. Django路由小知识

    from django.urls import path,re_path from app01 import views urlpatterns = [ re_path(r'^articles/200 ...

  3. redis和memcached的对比与选型

    相似处:     1:Memcached与Redis都属于内存内.键值数据存储方案.均属于NoSQL家族,而且都基于同样的键值数据模型.双方都选择将全部数据保存在内存当中,这自然也就让它们成为非常理想 ...

  4. VMware 虚拟化编程(12) — VixDiskLib Sample 程序使用

    目录 目录 前文列表 vixDiskLibSample 安装 Sample 程序 Sample 程序使用方法 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/V ...

  5. 抓包工具tcpdump用法说明--2

    第一招: 通俗的说,tcpdump是一个抓包工具,用于抓取互联网上传输的数据包.形象的说,tcpdump就好比是国家海关,驻扎在出入境的咽喉要道,凡是要入境和出境的集装箱,海关人员总要打开箱子,看看里 ...

  6. python基础-9__import__ 反射和面向对象基础 self 封装 继承(多继承顺序) 多态

    一 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删 ...

  7. linux 截取变量字符串

    STR=123456abc FINAL=`echo ${STR: -1}` 或者 FINAL=${STR: -1} 都可以让FINAL获得c这个最后一个字符   Linux 的字符串截取很有用.有八种 ...

  8. HDU-1394 Minimum Inversion Number (逆序数,线段树或树状数组)

    The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that ...

  9. vue修改Element的el-table样式

    修改Element中的el-table样式,可以使用以下几种方法: 1. row-style 行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style. 2. ...

  10. 全面优化MySQL(一)

    mysql执行一条查询语句的内部执行过程 权限验证 客户端通过连接器连接到 MYSQL服务器. 查询缓存 查询是否有查询缓存, 如果有缓存(之前执行过此语句),则直接返回缓存数据. 语法检查 分析器会 ...