学生成绩管理系统(二)

这是一个使用C语言编写的学生成绩管理系统,包括管理、统计、查询和保存学生信息的功能。系统采用结构体数组存储学生数据,并提供了添加、删除、排序、统计最大分、最小分、平均分及通过率等功能。用户可以通过学号、姓名和班级进行查询。程序读取和保存数据至'student.txt'文件。
摘要由CSDN通过智能技术生成

 

4.课程设计成果

一、程序源代码

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

struct Student                  

{

int num;

char name[20];

int clas;

char course[10];

float score;

}stu[45];                        //定义结构体数组,用来存放每一个学生的信息            

int N=20;                        //定义一个全局变量N,用来控制需要输入的学生个数,此处为以后输入节省时间,设为20

int main()                                

{

void manage(struct Student stu[]);     //声明管理信息函数

void count(struct Student stu[]);      //声明统计信息函数

void search(struct Student stu[]);     //声明查找信息函数

void save();                           //声明保存信息函数

void read();                           //声明读入信息函数

read();                                //调用读入信息函数(此处需特别注意read函数的位置:只有先读入信息,才能进行后续操作)

printf("*****************************学生成绩管理系统***********************************");

printf("*                                                                              *");

printf("*       管理学生信息(请输入1)                统计学生信息(请输入2)             *");

printf("*       查询学生信息(请输入3)                保存学生信息(请输入4)             *");

    printf("*                                                                              *");

printf("********************************************************************************");

printf("请输入功能选项(1-manage/2-count/3-search/4-save):\n");

int order;

scanf("%d",&order);

switch(order)                          //用switch选择结构来调用四个不同的函数

{

case 1:

manage(stu);break;

case 2:

count(stu);break;

case 3:

search(stu);break;

case 4:

save();break;

}

return 0;

}

//以下为读取保存函数

void read()            //定义读入函数(注意read函数在主函数中调用的位置)

{

FILE *fp;

int i;

if((fp=fopen("student.txt","r"))==NULL)    //r表示为了输入数据打开一个文本文件

{                                           

printf("cannot open the file!\n");

exit(0);

}

for(i=0;i<N;i++)

{

fscanf(fp,"%d %s %d %s %f",&stu[i].num,stu[i].name,&stu[i].clas,stu[i].course,&stu[i].score);

}               //用格式化的方式读取磁盘文件中的信息

fclose(fp);

}

void save()         //定义保存函数

{

FILE *fp;                                   //定义文件指针表变量fp

int i;

if((fp=fopen("student.txt","w"))==NULL)     //w表示为了输出数据,打开了一个文本文件

{

printf("cannot open the file!\n");

exit(0);

}

for(i=0;i<N;i++)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值