C语言学生管理系统增删改查

基于C语言和txt文件的增删改查

转载请注明出处

1、背景

本系统基于学生信息管理,完成了学生的信息的读取、增加、删除、修改、查询。本身意义可能不大,但是有很多学生再刚开始学习的时候,往往布置的大作业就是利用C语言实现简单的控制台管理系统,往往要求使用的结构是

  • 在内存中用链表存储数据
  • 从txt中读取信息,并可以删除写入
  • 完成信息的展示、增加、删除、修改、查询

以上就是最简单的功能,其他的功能也就是逻辑复杂一些,但是最终都会归结在这些操作上,用txt操作的意义何在?如果真的要做系统的话,应该使用数据库的,但是往往做这个系统的学生还没有学习数据库,所以数据就用简单的txt存储就行了。

2、环境

VS2015 +win10 别的编译器也可以,可以会有略微不一样

3、目的

  1. 练习和熟悉基本的语法。
  2. 理解链表这种数据结构,查找、删除等操作,以及和数组的区别
  3. 简单的容错机制、健壮性
  4. 字符串处理以及指针的理解
  5. 如果是小组合作的话,还涉及到合作分工集成,集成对新手来说是个很头疼的问题

4、定义数据结构

/*定义一个学生类型*/
typedef struct student
{
    char stuid[16];//学号
    char name[16];//学生姓名
    int num;//学生学号
    struct student* next;//下一个学生的指针
}Stu;

Stu* students;//学生链表
char* stuInfo="test.txt";//学生信息存储的文件
int input = 0;//选择
char tempInput[64];
char tempName[64];
char tempStuid[64];
int tempNum = 0;

以上是我作为示例定义的简单数据结构,结构体中是学生的学号、姓名、学号、指向下一个结构体的指针。
students是链表的头节点
stuInfo存储的是学生信息txt的路径,这里的txt和工程或exe放一个层级,当然可以自己改成自己的
temp...都是用来接收一些数据用的变量

5、定义功能函数

void initFromTxt(void);//初始化读入信息
void deleteInfo(char* stuid);//删除一条信息
void reWrite(void);//将内存中的信息,写入txt
void insert2txt(Stu* stu);//插入一条信息进入文本
int addinfo(char* stuid, char* name, int num);//增加一条信息
void modify(char* stuid, char*name, int num);//修改一条信息
int checkAdd(char* stuid);//判断学号输入是否存在
void showInfo(void);//展示学生信息
Stu* findInfo(char* stuid);//查找学生信息
void view(void);//界面
int checkInput(char* input, int
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值