学生成绩管理系统源代码 (数据结构与算法课设)C语言版

  • 格式:doc
  • 大小:206.50 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运行前

需在功程里新建个ni.txt.内容如下

7

004 sun 98.0 89.0 97.0 94.7 284.0 005 li 98.0 48.0 78.0 74.7 224.0 002 zhao 98.0 78.0 59.0 78.3 235.0 006 zhou 89.0 97.0 86.0 90.7 272.0 003 qian 78.0 98.0 89.0 88.3 265.0 001 chen 59.0 60.0 98.0 68.3 205.0 007 wu 57.0 76.0 87.0 73.3 220.0

代码

# include //使程序包含头文件

# include //使程序包含头文件

# include //使程序包含头文件

# define SIZE 50 //定义常量SIZE来控制数组的长度

void input_num(struct Student stud[], int n, int i); //声明学号输入函数

void input_name(struct Student stud[], int n, int i); //声明姓名输入函数

void input_score(struct Student stud[], int n, int i); //声明成绩输入函数

void output_stu(struct Student stud[], int n, int i); //声明输出函数void stat_stu(struct Student stud[], int n, int o); //声明统计函数float class_avr(struct Student stud[], int n, int o); //声明排序函数void chenji_stu(struct Student stud[], int n, int o);

void desc_stu(struct Student stud[], int n, int o); //声明降序函数int find_stu(struct Student stud[], int n); //声明查找函数void delete_stu(struct Student stud[], int n, int y); //声明删除函数void amend_stu(struct Student stud[], int n, int y); //声明修改函数void write_text(struct Student stud[], int n); //声明保存文件函数

int add_text(struct Student stud[], int n); //声明读取文件函数

struct Student /*声明结构体*/ {

char num[10];

char name[20];

float score[5];

};

void main() /*主函数,是程序的入口*/

{

struct Student stu[SIZE]; //定义一个结构数组

int count = 0; //定义整型变量count用来存放学生信息的个数,初始化为0

int choice; //定义choice用于存放用户对主菜单的选择 int a; //用于接收主选单中scanf()函数的返回值 char judge; //用于帮助判断输入的选择是否正确

int flag_main; //用于判断主菜单用户输入的选择是否有误 int stat_choice = 0; //定义stat_choice用于用户对统计项目的选择,初始化为0

int flag_stat; //用于接收scanf()函数的返回值

int flag_find; //定义flag_find用于接收查寻函数的返回值

char man_choice; //定义man_choice用于接收用户对是否进行修改删除的选择

int con_choice; //定义con_choice用于接收用户对修改或删除的选择

char sign_main; //定义sign_main接收用户对是否离开程序的选择

char sign_input; //定义sign_main接收用户对是否继续输入的选择

int i; //定义i,j作为控制循环的变量

while (1) //形成一个死循环

{

system("color 71"); //设置输出显示颜色

/*输出主选菜单*/

printf("\n============================欢迎使用班级成绩管理系统============================\n\n");

printf("==============================请选择您要使用的功能==============================\n\n");

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

printf("\t\t★※★\t\t 1:班级成绩录入★※★\n\n");

printf("\t\t★※★\t\t 2:班级成绩显示★※★\n\n");

printf("\t\t★※★\t\t 3:班级成绩统计★※★\n\n");

printf("\t\t★※★\t\t 4:班级成绩查询★※★\n\n");

printf("\t\t★※★\t\t 5:班级成绩修改★※★\n\n");

printf("\t\t★※★\t\t 6:班级成绩表★※★\n\n");

printf("\t\t★※★\t\t 7:班级成绩存档★※★\n\n");

printf("\t\t★※★\t\t 8:班级成绩读入★※★\n\n");

printf("\t\t★※★\t\t 0:退出★※★\n\n");

printf("\t\t-◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆-");

printf("======================================================================= =========");

/*输入对菜单的选择*/

do

{

flag_main = 0;

printf("\n\t\t\t 请您选择需要的操作(0-6):");

fflush(stdin);

a = scanf("%d%c", &choice, &judge);

if (a<2 || judge != '\n')

{

printf("\n\t\t\t 您的选择有误,请重新输入!\n");

flag_main--;

}

}while (flag_main < 0);

printf("\n\t\t\t ");

system("pause"); //令屏幕暂停待输入任意键后恢复运行 system("cls"); //清屏

system("color 71"); //设置输出显示颜色

switch (choice) //把用户对主菜单的选择作为switch结构的判断条件

{

case (1):

printf("\n\t\t请录入学生信息:\n");

i=0; //循环前对i清零

do

{

if (count+i == 50)

{

break;

}

input_num(stu, count, i); //输入学号