c语言招生系统课程设计,完整的c语言学生管理系统课程设计

这段代码展示了如何使用C语言进行学生信息的输入和按姓名查找。`input`函数用于从用户那里获取学生信息并保存到二进制文件中,`output1`函数根据学生姓名查找并更新信息,`output2`函数则读取并打印所有学生信息。
摘要由CSDN通过智能技术生成

#include struct student

{

char name[20];

char sex[5];

char num[100];

int age;

int high;

int weight;

}stu;

void input(struct student *p)

{

FILE *fp;

fp=fopen("information.dat","wb");

printf("请输入学生的信息:

");

printf("在姓名处输入-1表示结束

");

while(1)

{

printf("姓名:");

scanf("%s",p->name);

if(!strcmp(p->name,"-1"))

break;

printf("性别:");

scanf("%s",p->sex);

printf("学号:");

scanf("%s",p->num);

printf("年纪:");

scanf("%d",&stu.age);

printf("身高:");

scanf("%d",&stu.high);

printf("体重:");

scanf("%d",&stu.weight);

fwrite(p,sizeof(struct student),1,fp);

}

fclose(fp);

printf("输入完成!");

system("pause");

system("cls");

}

void output1(struct student *p)

{

FILE *fp1,*fp2; char name1[20];

fp1=fopen("information.dat","rb+");

fp2=fopen("temp","wb+");

printf("请输入学生姓名:

");

scanf("%s",name1);

while(1)

{

fread(p,sizeof(struct student),1,fp1);

if(!strcmp(p->name,name1))

{

fwrite(p,sizeof(struct student),1,fp2);

}

break;

}

fclose(fp1);

fclose(fp2);

remove("information.dat");

rename("temp","information.dat");

fp1=fopen("information.dat","rb");

fread(p,sizeof(struct student),1,fp1);

printf("姓名:%s

",p->name);

printf("性别:%s

",p->sex);

printf("学号:%s

",p->num);

printf("年纪:%d

",stu.age);

printf("身高:%d

",stu.high);

printf("体重:%d

",stu.weight);

fclose(fp1);

system("pause");

system("cls");

}

void output2(struct student *p)

{

FILE *fp;

if ((fp=fopen("information.dat","rb")) == NULL)

{

printf ("文件打开失败!

");

exit (0);

}

fread(p,sizeof(struct student),1,fp);

while(!feof(fp))

{

printf("姓名:%s

",p->name);

printf("性别:%s

",p->sex);

printf("学号:%s

",p->num);

printf("年纪:%d

",stu.age);

printf("身高:%d

",stu.high);

printf("体重:%d

",stu.weight);

fread(p,sizeof(struct student),1,fp);

}

fclose(fp); system("pause");

system("cls");

}

void end()

{

exit(0);

}

void main()

{

struct student *a=&stu;

int chose;

while(1)

{

printf("

");

printf("请输入正确的选择:

");

printf("1.全部输入

");

printf("2.按照姓名查找

");

printf("3.全部输出

");

printf("4.退出

");

printf("请输入选择:");

scanf("%d",&chose);

switch(chose)

{

case 1:input(a);

break;

case 2:output1(a);

break;

case 3:output2(a);

break;

case 4:end();

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值