学生信息管理系统C语言源代码

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

#include

#include

#include

#include

#define len sizeof(struct student)

FILE *fp;

struct student

{

long num;

char name[15];

int age;

char sex[3];

char chushen[10];

char dizhi[20];

char phone[11];

char email[20];

struct student *next;

};

void menu()

{

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

printf(" 1、录入学生信息\n");

printf(" 2、浏览学生信息\n");

printf(" 3、查询学生信息\n");

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

printf(" 5、插入学生信息\n");

printf(" 6、修改学生信息\n");

printf(" 7、排序学生信息\n");

printf(" 8、退出管理系统\n");

printf("=====================================\n");

}

struct student *creat() //录入学生信息

{

int n;

struct student *head;

struct student *p1,*p2;

n=0;

p1=p2=(struct student *) malloc(len);

scanf("%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s",&p1->num,&p1->age,p1->name,p1->sex,p1->chushen ,p1->dizhi,p1->phone,p1->email);

head=NULL;

while(p1->num!=0)

{

n=n+1;

if(n==1) head=p1;

else p2->next=p1;

p2=p1;

p1=(struct student *)malloc(len);

scanf("%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s",&p1->num,&p1->age,p1->name,p1->sex,p1->chu shen,p1->dizhi,p1->phone,p1->email);

}

p2->next=NULL;

return(head);

}

void insert(struct student *head) //插入学生信息

{

int search_num;

struct student *p,*q,*s;

p=head;

printf("在哪个学生前插入请输入学号:\n");

scanf("%d",&search_num);

while((p!=NULL)&&(p->num!=search_num))

{

q=p;

p=p->next;

}

s=(struct student *)malloc(len);

q->next=s;

system("cls");

printf("请输入学生信息:\n");

printf("学号\t年龄\t姓名\t性别\t出生\t地址\t电话\te-mail\n");

scanf("%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s",&s->num,&s->age,s->name,s->sex,s->chushen,s->diz hi,s->phone,s->email);

s->next=p;

}

void printList(struct student *head) //浏览全部学生信息

{

struct student *p;

p=head;

if(head==NULL)

printf("没有学生信息!!\n");

else

{

do

{

fread(p,len,1,fp);

printf("%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s\n",p->num,p->age,p->name,p->sex,p->chushen,p->diz hi,p->phone,p->email);

p=p->next;

}while(p!=NULL);

}

}

void findList_num(struct student *head,long search_num) //按学号查找

{

struct student *p;

p=head;

while((p!=NULL)&&(p->num!=search_num))

p=p->next;

if(p!=NULL)

printf("%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s\n",p->num,p->age,p->name,p->sex,p->chushen,p->diz hi,p->phone,p->email);

else

printf("没有该学生信息!!\n");

}

void findList_name(struct student *head,char *search_name) //按姓名查找

{

struct student *p;

int cmp1=0,cmp=0;

p=head;

while(p!=NULL)

if(strcmp(p->name,search_name)!=0)

{

p=p->next;

cmp++;

}

else

{

printf("%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s\n",p->num,p->age,p->name,p->sex,p->chushen,p->diz

相关文档
最新文档