学生籍贯信息管理系统c语言,学生籍贯信息管理系统(c).doc

学生籍贯信息管理系统(c).txt吃吧吃吧不是罪,再胖的人也有权利去增肥!苗条背后其实是憔悴,爱你的人不会在乎你的腰围!尝尝阔别已久美食的滋味,就算撑死也是一种美!减肥最可怕的不是饥饿,而是你明明不饿但总觉得非得吃点什么才踏实。编制一个学生籍贯信息管理系统,每个学生信息包括:学号、姓名、籍贯。具体功能:

(1)创建信息链表并以磁盘文件保存;

(2)读取磁盘文件并显示输出所有学生的籍贯信息;

(3)按学号或姓名查询其籍贯;

(4)按籍贯查询并输出该籍贯的所有学生;

(5)能添加、删除和修改学生的籍贯信息

#include

#include

#define LEN sizeof(struct student)

#define NULL 0

struct student

{long num;

char name[20];

char jg[20];

struct student *next;

};

int n=0;

void save(struct student *head)

{ FILE *fp;

char filename[20];

struct student *p1;

printf("Please input the filename\n");

scanf("%s",filename);

if((fp=fopen(filename,"w"))==NULL)

{printf("can't open file\n");

return;

}

for(p1=head;p1!=NULL;p1=p1->next)

{fprintf(fp,"%ld",p1->num);

fputc('\t',fp);

fprintf(fp,"%s",p1->name);

fputc('\t',fp);

fputc('\t',fp);

fprintf(fp,"%s",p1->jg);

fputc('\n',fp);

}

free(p1);

fclose(fp);

}

void print(struct student *head)

{ struct student*p;

printf("\nNow,these information is:\n");

p=head;

if(head!=NULL)

do

{printf("%ld\t%s\t\t%s\n",p->num,p->name,p->jg);

p=p->next;

}while(p!=NULL);

}

struct student *creat()

{ struct student *head,*p1,*p2;

char ch;

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

printf("\n Welcome to student jiguan system!\n");

printf("Please input one's num,name and jiguan\n");

printf("\"0 0 0\":exit\n");

scanf("%ld%s%s",&p1->num,p1->name,p1->jg);

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("%ld%s%s",&p1->num,p1->name,p1->jg);

}

p2->next=NULL;

free(p1);

printf("Save?Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='y'||ch=='Y') save(head);

print(head);

return(head);

}

void loadf()

{FILE *fp;

int N=n;

char filename[20];

struct student *p1;

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

printf("Please input the filename\n");

scanf("%s",filename);

if((fp=fopen(filename,"r"))==NULL)

{printf("cannot open file\n");

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值