源代码:
#include
#include
#include
#include
//结构体
typedef struct student{
char num[20]; //学号
char name[20]; //姓名
char addr[50]; //籍贯
}stu;
//链表
typedef struct LNode{ //节点
stu data;
struct LNode *next;
}LinkList; //指针类型
char num[20]; //学号
char name[20]; //姓名
char addr[50]; //籍贯
void menu(){
printf("nttt欢迎使用学生籍贯管理系统!n");
printf("n");
printf(" ***************************学生学籍管理系统***************************** nn");
printf(" * 系统功能菜单 * nn");
printf(" * 1--- 学生籍贯登记 --- * nn");
printf(" * 2--- 修改学生信息 --- * nn");
printf(" * 3--- 删除学生信息 --- * nn");
printf(" * 4--- 查找学生信息 --- * nn");
printf(" * 5--- 统计学生信息 --- * nn");
printf(" * 6--- 保存学生信息 --- * nn");
printf(" * 7--- 退出系统 --- * nn");
printf(" ************************************************************************ nn");
printf("退出前别忘了保存!不然数据会丢失哦!n");
}
void InitList(LinkList *&L){//初始化链表
L = (LinkList *)malloc(sizeof(LinkList));
L->next = NULL;
}
void ListInsert(LinkList *&L,LinkList *p){//插入新的节点
LinkList *q = NULL;
q = L;
p->next = q->next;
q->next = p;
}
void addstu(LinkList *&L){//学生学籍登记
system("cls");
printf("请输入学生的信息:n");
printf("学号:");
scanf("%s",&num);
LinkList *q = L->next;
while(q != NULL ){ //用于判断学生信息是否已经存在
if(strcmp(q->data.num,num ) == 0){
printf("该学生已存在n");
break;
}
q = q->next;
}
if(q == NULL){
LinkList *p;
InitList(p);
strcpy(p->data.num,num);
printf("姓名:");
scanf("%s",name);
strcpy(p->data.name,name);
printf("籍贯:");
scanf("%s",&addr);
strcpy(p->data.addr,addr);
ListInsert(L,p);
}
getchar();
getchar();
}



