学生管理系统(数据结构课程设计之完整代码)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计

学生信息管理系统C语言编写仅供参考:

#include

#include

#include

#include

#define LEN sizeof(LNode)

typedef struct LNode

{

//用于存放学生信息节点

int stuNumber;

char telenum[50];

int age;

char chass[50];

char deptName[50];

/*char zhuanYe[50];

char adress[50];*/

char name[20];

struct LNode *next;

}LNode,*Link;

//****************创建链表结点************************************************************************** Link createLink(Link L)

{ //初始化定义函数,声明变量

void inserStu(Link L,Link Elem);//定义插入函数

int count(Link L);

int temp;

temp=count(L);

printf("节点个数为%d:\n",temp);

Link p;

int num=1, stuNumber;

char telenum[50];

char name[20];

int age;

/* char deptName[50];

char adress[50];

char zhuanYe[50];*/

char chass[50];

//开始输出学生信息

while(1)

{

printf("请输入学生的信息:学号,姓名,年龄,班级,院系,专业,家庭住址,电话号码\n");

printf("学号输入负数结束!\n");

printf("请输入学号%d: ",num);

scanf("%10d",&stuNumber);

if(stuNumber<0) {break;}

printf("请输入姓名%d: ",num);

getchar();

gets(name);

printf("请输入年龄%d: ",num);

scanf("%d",&age);

printf("请输入班级%d: ",num);

getchar();

gets(chass);

printf("请输入电话号码: ",num);

getchar();

gets(telenum);

/* printf("请输入院系%d: ",num);

getchar();

gets(deptName);*/

if(stuNumber>=0)

{

p=(Link)malloc(LEN);

p->stuNumber=stuNumber;

strcpy(p->chass,chass);

/* strcpy(p->deptName,deptName);*/

p->age=age;

strcpy(p->telenum,telenum);

strcpy(p->name,name);//插入新结点

inserStu(L,p);

num++;

}

}

return (L);

}

//******************打印头结点为L的学生记录********************************************************

void printList(Link L)

{

printf("\n*********************学号,姓名,年龄,班级,电话号码

**************************\n");

printf("\n 学号姓名年龄专业班级电话号码\n");

int n=1;

Link p=L;

int count(Link L);

int temp;

temp=count(L);//结点个数:

if(temp==0)printf("系统中没有元素\n");//判断学生管理系统中有无信息

else

while(p->next!=NULL)

{

printf("%2d %-9d",n,p->next->stuNumber);

printf("%-8s %-5d %-12s %s \n",p->next->name, p->next->age,p->next->chass,p->next->telenum/*p->next->deptName*/);//首个字符打印不出来

p= p->next;

n++;

}

printf("\n****************************************************************** *****************\n");

return;

}

//********************************插入学生信息**************************************

void inserStu(Link L,Link Elem)

{

Link prior(Link L,Link p);

Link p=L->next;//*******%%%%****

while(p!=NULL&&Elem->stuNumber>=p->stuNumber)

{

if(p->stuNumber==Elem->stuNumber)

{

printf("重复输入学号,输入失败!");return ;

}

p=p->next;

}//确定Elem的插入位置

if(p==NULL)

{

p=prior(L,p);Elem->next=NULL;p->next=Elem;//若为空表,插入到头结点之后}

else

{

相关文档
最新文档