学生信息管理系统——c实现

简介: 学生信息管理系统——c实现

学生信息管理系统——c实现

为了给我个人博客(www.gaoyuelong.cn)增加一点价值,我打算写一些小的管理程序或项目放在上面。同时也复习一下之前学的。花了大概三个晚上的时间把之前c语言课设的内容写了一遍。

第一个晚上搭了一下简单的框架,如各个模块函数,菜单显示,主函数与其之间的调用关系。第二个晚上是对功能函数的实现。第三个晚上对其优化。当然,现在就我发现的还有一些问题,是使用上的不方便,但不影响整体使用。就这样吧。

源码放在了github上:

https://github.com/GYueLong/material/tree/master/c

下面简单介绍一下,顺便整理一下遇到的问题。

用链表实现,每个结点存放学生信息:

typedef struct StudentMessage//学生信息结点
{
  char name[20];
  char gnder[20];
  int  id;          //学号
  char college[20];     //学院
  char major[20];       //专业
  char classname[20];     //班级
  char birthday[20];      //出生年月
  int AdmissionTime;        //入学时间
  char DrivingRange[20];    //乘车区间
  struct StudentMessage *next;  //链表
}Stu;

这是主函数,程序入口。我一直觉得这个模板很好用。

void main()
{
  int no = 0;//功能选项
  while (1) {
    system("cls");//清屏
    MainMenu();//菜单显示
    printf("请输入功能选项:\n");
    scanf("%d",&no);
    switch (no) {
    case 0:AllStudentMessage();break;
      ...
    case 9:freeList(); return;
    default:printf("选择错误\n");
    }
    system("pause");
  } 
  return;
}

模块函数

学生信息及功能

学生证信息:姓名、性别、学号、学院、专业、班级、出生年月、入学时间、乘车区间
功能:
添加学生信息(在键盘输入)
查询学生信息(给定学号,显示该学生的学生证信息)
查询班级所有学生信息(给定班号,显示该班所有学生的学生信息)
修改学生信息(给定学号,修改该学生的学生证信息)
删除学生信息(给定学号,删除该学生的学生证信息)
统计班级人数、男女比例
学生信息从文件中读入
学生信息写入文件中

程序运行界面:

写的过程中给我最大的感受就是一个东西一旦熟悉了,知道了他的原理,运用起来会很快。但是大一那会看到这些真是头大。很长时间没用过指针链表了,在写的过程中也遇到了一些问题。

  • 因为我用的环境是vs2015,在vs2015以及更高版本中认为scanf是一个不安全的函数,因此不支持使用,但如果非要用的话,可以更改设置,也可以在代码的顶行加上一句代码#pragma warning(disable:4996);这样就能正常使用scanf函数了。
  • 在c语言中想要表示字符串时,用的是字符数组,这里在对班级名判断时要用strcmp函数。例如(strcmp(p->classname,ClassNo)==0)而不要用if (p->classname == ClassNo)。我曾在调试过程中眼真真看着他数组里面内容都一样但是通不过。
  • 还有一个就是关于结构体成员初始化问题
struct date
{
     int year=0;
};

似乎这种方法并不奏效

因为书上是这么写的

struct date
{
     int year;
}gao={2019};

大概就是这么多,记住一定要多动手,动手你才会发现你根本不会这个东西。

linux命令:ps命令查看当前系统中运行的进程信息

相关文章
|
4月前
|
Java
学生信息管理系统1
学生信息管理系统
48 0
|
4月前
|
Java
学生信息管理系统2
学生信息管理系统
49 0
|
3月前
|
C++
学生信息管理系统(C++实现)
学生信息管理系统(C++实现)
|
4月前
|
SQL 编解码 Java
图书馆信息管理系统(项目实现)
图书馆信息管理系统(项目实现)
55 1
|
4月前
|
JavaScript Java 关系型数据库
基于SSM的宠物医院信息管理系统
基于SSM的宠物医院信息管理系统
76 2
|
11月前
|
XML 开发框架 Oracle
sims-学生信息管理系统
sims-学生信息管理系统
47 0
|
Python
学生信息管理系统
本文用python语言来进行学生信息管理系统的编写。
238 2
|
12月前
|
小程序
综合题-学生信息管理系统
综合题-学生信息管理系统
124 0
|
存储 算法 测试技术
玩转学生信息管理系统——【c++】
设计一个管理系统实现对学生的基本信息(至少包括姓名、学号、性别、出生日期、宿舍号年龄(通过计算得到)的管理;),具有数据的录入、显示、保存、查询(按学号查查询或姓名查询)、修改和删除等功能。
316 0