学生管理程序c语言数组,学生管理数组文件(C语言).c.doc

学生管理数组文件(C语言).c

#include

#include //for system("cls")

#include

#include //for getche() and getch()

/*定义学生结构体*/

typedef struct //Student

{

char ID[20];

char Name[20];

float Math;

float English;

float Computer;

float Average;

float Sum;

}Student;

/*声明学生数组及学生数量*/

Student students[1000];

int num=0;

/*求平均值*/

float Avg(Student stu)

{

return (stu.Math+stu.English+stu.Computer)/3;

}

/*求总成绩*/

float Sum(Student stu)

{

return (stu.Math+stu.English+stu.Computer);

}

/*通过学号返回数组下标*/

int Student_SearchByIndex(char id[])

{

int i;

for (i=0;i

{

if (strcmp(students[i].ID,id)==0)

{

return i;

}

}

return -1;

}

/*显示单条学生记录*/

void Student_DisplaySingle(int index)

{

printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");

printf("---------------------------------------------------------------------------\n");

printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[index].ID,students[index].Name,

students[index].Math,students[index].English,students[index].Computer,students[index].Average,students[index].Sum);

}

/*查找学生信息*/

void Student_Search()

{

char id[20];

int index;

printf("请输入要查找的学生的学号:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

Student_DisplaySingle(index);

}

/*插入学生信息*/

void Student_Append()

{

while(1)

{

printf("请输入学号:");

scanf("%s",&students[num].ID);

getchar();

printf("请输入姓名:");

scanf("%s",&students[num].Name);

getchar();

printf("请输入数学成绩:");

scanf("%f",&students[num].Math);

getchar();

printf("请输入英语成绩:");

scanf("%f",&students[num].English);

getchar();

printf("请输入计算机成绩:");

scanf("%f",&students[num].Computer);

getchar();

students[num].Average=Avg(students[num]);

students[num].Sum=Sum(students[num]);

num++;

printf("是否继续?(y/n)");

if (getchar()=='n'||getchar()=='N')

{

break;

}

}

}

/*修改学生信息*/

void Student_Modify()

{

float Math,English,Computer;

while(1)

{

char id[20];

int index;

printf("请输入要修改的学生的学号:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值