C语言编辑
来源:百度知道 编辑:UC知道 时间:2024/05/21 19:08:31
学号 姓名 语文 数学 英语
056 zhang 85 46 57
057 cun 80 76 86
058 li 90 76 61
059 lin 91 46 88
若输入你要删除记录的学号,然后就删除掉
若要添加记录和修改记录呢??
这样的程序怎么写??哪个高手帮忙下!!!!!!!!
能不能不用指针和链表,用最简单的方法!!
同意楼上的。这里假定你的数据量不大,比如只有1,2个班级的,在数据搜索方面就不做优化了。
先定义一个struct用来存储每个记录的数据,其中包含一个指针用来指向下一个记录。
typedef struct _STUDENT
{
struct STUDENT * next;
int number; //学号
char name[10]; //姓名一般不会超过9个字符吧
int chinese; //语文成绩
int math; //数学成绩
int english; //英语成绩
} STUDENT;
再定义一个各种操作的enum变量集
typedef enum _MYOPERATION
{
addSTUDENT = 1,
deleteSTUDENT = 2,
changeSTUDENT = 3,
} MYOPERATION;
再定义一个出错信息enum
typedef enum _MYERROR
{
noError = 0,
inValidNumber = 1,
inValidFirst = 2,
inValidOperation = 3,
notEnoughMemory = 4,
} MYERROR;
下面是一个函数用来执行对链表的上述操作
MYERROR modifyStudent(STUDENT * first, MYOPERATION operation, int number, char* name, int chinese, int math, int english)
{
STUDENT * current;
STUDENT * previous;
int i;
if (number <= 0) return inValidNumber;
if (first == NULL) return inValidFirst;
current = f