数据结构算法之学生信息管理系统

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

#include

#include

#include

#include

struct student

{

char num[3]; //结构体

char name[9];

char sex;

float score;

};

typedef struct LinkList

{

struct student data;

struct LinkList *next;

}LinkList;

LinkList *student1;

int z=0;

void menu(void)

{

printf("\n 学生信息管理系统\n");

printf("=========================================\n"); printf(" 1.添加学生信息\n");

printf(" 2.查询学生信息\n");

printf(" 3.修改学生信息\n");

printf(" 4.删除学生信息\n");

printf(" 5.输出所有学生信息\n");

printf(" 6.查看平均成绩\n");

printf(" 0.退出管理系统\n");

printf("==========================================\n"); printf("请选择0-6:\n");

}

void Add(LinkList *student1)

{

LinkList *b,*r,*s;

char n[12];

char t;

char x;

int d=0,c=0;

r=student1;

while(r->next!=NULL)

r=r->next;

while(1)

{

d=0;

printf("请输入学生学号\n");

getchar();

scanf("%s",&n);

if(strcmp(n,"0")==0) break;

if(z>0)

{

s=student1->next;

t=strcmp(s->data.num,n);

for(;s!=NULL;)

{

t=strcmp(s->data.num,n);

if(t==0)

d++;

s=s->next;

}

if(d!=0)

{

printf("该学号重复\n");

fflush(stdin);

d=0;

continue;

}

}

z++;

b=(LinkList*)malloc(sizeof(LinkList));

strcpy(b->data.num,n);

printf("请输入学生姓名\n");

scanf("%s",&b->);

printf("请输入学生性别(男:M或m;女:W或w)\n");

scanf("%s",&x);

while(x!='M' && x!='m' && x!='W' && x!='w')

{

printf("输入有误,请重新输入性别\n");

scanf("%s",&x);

}

b->data.sex=x;

printf("请输入成绩\n");

scanf("%f",&b->data.score);

printf("成功添加\n");

b->next=NULL;

r->next=b;

r=b;

printf("\n按0返回菜单或\n");

}

}

void FindOut(LinkList *student1)

{

int j;

int name=0;

char i[12];

LinkList *L;

L=student1->next ;

printf("1:学号查找\n");

printf("2:姓名查找\n");

scanf("%d",&j);

if (j==1)

{

printf("请输入学号\n");

scanf("%s",&i);

for(;L!=NULL&&L->next!=NULL&&strcmp(L->data.num,i)!=0;L=L->next);

if(strcmp(L->data.num,i)==0)

{

printf("\n学号;%s\t姓名;%s\t性别;%c\t成绩:%f\n",L->data.num,L->,L->data.sex,L->data.score);

}

else

{

printf("\n抱歉,并未找到学生信息\n");

}

}

else if(j==2)

{

printf("\n请输入学生姓名\n");

scanf("%s",&i);

for(;L!=NULL;)

{

if(strcmp(L->,i)==0)

{

name++;

printf("\n学号;%s\t姓名;%s\t性别;%c\t成绩:%f\n",L->data.num,L->,L->data.sex,L->data.score);

}

L=L->next;

}

if(name==0)

printf("\n抱歉,并未找到学生信息\n");

}

}

void Alternum(LinkList *student1)

{

char n[12];

LinkList *L;

L=student1->next;

printf("\n请输入修改前的学号\n");

scanf("%s",&n);

for(;L!=NULL&&L->next!=NULL&&strcmp(L->data.num,n)!=0;L=L->next);

if(strcmp(L->data.num,n)==0)

{

printf("\n请输入修改后的学号\n");

scanf("%s",&L->data.num);

相关文档
最新文档