C语言学生信息管理系统 (实现了循环插入、删除与修改信息的功能)


 




#include<stdio.h>

#include<stdlib.h>

#define INIT_SIZE 100  /*线性表存储空间的初始分配量*/
#define INCREMENT 10  /*线性表存储空间的分配增量*/
//student结构体定义
typedef struct
{
char sno[15];     //学号 
char sname[15];   //姓名 
char sex[6];   //性别 
int score; //专业 
}student;


//SqList结构体类型定义


typedef student ElemType; /*定义元素类型为student*/
typedef struct {
ElemType *elem;    /*存储空间的基地址*/
int length;         /*当前长度*/
int listsize;    /*当前分配的存储容量(以sizeof(ElemType)为单位)*/
}SqList;

//顺序表的初始化


int InitList_Sq(SqList *L)
/*初始化顺序表,成功返回1,失败返回0*/
{
L->elem = (ElemType *)malloc(INIT_SIZE * sizeof(ElemType));
if (!L->elem) return 0;   /*初始化失败*/
L->length = 0;
L->listsize = INIT_SIZE;
return 1;                /*初始化成功*/
}


//顺序表元素浏览
int ListDisplay_Sq(SqList*L)
{
int i;
if (L->length == 0)
{
printf("当前为空表!\n");
return 0;
}
printf("**显示所有学生信息**\n");
printf("学号:      姓名:        课程名:       课程成绩:     \n");
for (i = 0; i<L->length; i++)
{
printf("%-11s%-11s%-12s%-11d\n", L->elem[i].sno, L->elem[i].sname, L->elem[i].sex, L->elem[i].score);
}
return 1;
}


//顺序表插入元素
int ListInsert_Sq(SqList *L, int i, ElemType e)
/*在顺序表L的第i个位置之前插入新的元素e,若插入成功则返回1,否则返回0*/
{
int j;
ElemType *newbase;
if (i<0 || i>L->length)  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值