学生学籍管理系统
源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
//结构体
typedef struct student
{
char num[20]; //学号
char name[20]; //姓名
char sex[10]; //性别
int age; //年龄
char addr[50]; //籍贯
char dept[50]; //系别
char major[30];//专业
char classes[30];//班级
}stu;
//链表
typedef struct LNode //节点
{
stu data;
struct LNode *next;
}LinkList; //指针类型
char num[20]; //学号
char name[20]; //姓名
char sex[10]; //性别
int age; //年龄
char addr[50]; //籍贯
char dept[50]; //系别
char major[30];//专业
char classes[30];//班级
/*----主菜单----*/
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("姓名:");