基于C语言文件操作的学生成绩管理系统 您所在的位置:网站首页 输入班级学生的成绩c语言 基于C语言文件操作的学生成绩管理系统

基于C语言文件操作的学生成绩管理系统

2024-06-01 06:23| 来源: 网络整理| 查看: 265

原理

在一个班级学生成绩管理系统中,希望处理每个学生的学习情况信息,其中包括学生的学号、姓名、各科名称和成绩等并能使管理人员通过界面完成对学生信息的录入及对学生信息的录入及对数据的查找、浏览、插入、排序、保存。要求:1、提供用户界面2、每一条记录包括一个学生的学号、姓名、三门课成绩、平均成绩3、输入功能:可以一次完成若干条记录的输入4、显示功能:完成全部学生记录的显示5、查找功能:完成按姓名查找学生记录,并显示6、排序功能:按学生平均成绩进行排序7、插入功能:按平均成绩高低插入一条学生记录8、将学生记录存在文件score中

 

主要数据结构

struct student { char No[10]; //学号 char name[20]; //姓名 int subject1; //成绩 int subject2; int subject3; float average; //平均成绩 };

 

算法分析

代码开始时定义学生管理系统所需要用到的函数,如输入、查找、排序、输出、插入等,然后逐个定义所需函数,输入函数利用循环逐个输入学生信息,查找函数利用if语句和循环进行查找,排序函数利用选择法排序将学生按平均成绩进行从小到大排序,输出函数利用文件把学生信息保存到文件中去,显示菜单函数利用system(“cls”)进行清屏然后显示菜单。

 

测试结果

 

 

 

源码

1 #include 2 #include 3 #include 4 #define N 1000 5 struct student 6 { 7 char No[10]; //学号 8 char name[20]; //姓名 9 int subject1; //成绩 10 int subject2; 11 int subject3; 12 float average; //平均成绩 13 }; 14 int p=1;//判断是否有数据 15 int n=0; 16 struct student *stu=NULL; 17 void menu(); //菜单 18 void input(); //输入学生信息 19 void sort(); 20 void fileoutput(); //输出学生信息 21 void find(); 22 void show(); 23 void insert(); 24 void fileinput(); 25 int main() 26 { 27 fileinput();//从文件读取数据 28 int flag; 29 int first=0; 30 if(p==0) 31 { 32 printf("首先请输入学生人数\n"); 33 scanf("%d",&n); 34 } 35 if(p==0) 36 printf("\n初次选择,输入请选择 0:"); 37 else 38 printf("已有数据,请选择其他操作,若要重新输入,请选择 0:"); 39 while(1) 40 { 41 menu(); 42 if(first==1) 43 printf("\n请继续选择操作的序号:"); 44 else 45 first++; 46 scanf("%d",&flag); 47 if(flag ==-1) 48 break; 49 switch(flag) 50 { 51 case 0:input();break;//输入n个学生成绩 52 case 1:find();break;//输入学生姓名查找 53 case 2:sort();break;//将学生成绩从小到大排序 54 case 3:show();break;//显示所有学生成绩 55 case 4:insert();break;//按平均成绩高低插入一条学生记录 56 case 5:system("cls");break;//调出菜单 57 default:printf("本次选择不成功!\n"); 58 } 59 } 60 fileoutput();//将所有学生成绩保存到score文件中 61 } 62 void menu()//菜单 63 { 64 printf("\n"); 65 printf(" 学生管理系统 \n"); 66 printf("***************************************************\n"); 67 printf("* 请选择操作的序号,如果输入-1,程序结束 *\n"); 68 printf("* *\n"); 69 printf("* 0 输入n个学生信息 1 输入学生姓名查找 *\n"); 70 printf("* *\n"); 71 printf("* 2 将学生成绩从小到大排序 3 显示所有学生成绩 *\n"); 72 printf("* *\n"); 73 printf("* 4 插入一条学生记录 5 显示菜单 *\n"); 74 printf("* *\n"); 75 printf("***************************************************\n"); 76 } 77 void input()//输入n个学生成绩 78 { 79 system("cls"); //清屏 80 int i,num=1; 81 char a[10]; 82 stu = (struct student*)malloc(sizeof(struct student)*n); 83 for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有