C语言版 | 您所在的位置:网站首页 › 数据结构及算法设计描述怎么写 › C语言版 |
由于设计到的代码太多,不一一展示,需要源代码
1、私我
2、点击作者主页简介查看QQ联系方式
3、看评论区
4、更多课设访问以下链接
腾讯文档腾讯文档-在线文档https://docs.qq.com/doc/p/71239d69a76f56cf1521717ae6b22c27cf876f10 1. 设计题目 2. 设计思想 2.1设计内容及实现 3. 系统结构 4. 数据结构说明和模块算法说明 4.1结构体顺序表的定义 4.2顺序表的构造 4.3顺序表的插入 4.4顺序表的按值查找 4.5顺序表的删除数据 4.6顺序表的按值查找 4.7顺序表的排序算法---冒泡排序 5. 使用说明书 5.1登录系统 5.2新建输入学生信息的输入格式说明 5.3插入学生输入个数说明 5.4学生个人信息查询输入格式说明 5.5删除学生信息输入格式说明 5.6查询所有学生输入格式说明 5.7按总分排序输入格式说明 5.8按学号排序输入格式说明 5.9 更改学生科目成绩输入格式说明 5.10退出系统格式输入说明 6.运行结果 7.测试过程及结果分析 7.1测试数据: 7.2 程序需改进的地方: 8.附录:源程序清单. 设计题目1.1 学生成绩管理系统 设计思想图2.1 设计结构图 2.1设计内容及实现首先学生成绩管理要有输入输出和学生信息,学生信息又有姓名、班级、学号;学生成绩查询;插入学生成绩数据;修改学生成绩数据;删除学生成绩数据;按成绩或者学号排序等。 于是根据需求完成学生信息管理系统顺序表的建立、查询、插入、删除,以及修改元素、排序;然后我就把整个系统分成不同的模块,每个模块完成一个特定的子功能,最后把这些模块结合起来组成一个整体,来实现各个功能。 本学生成绩管理系统共8个菜单栏:1.新建输入学生的个人信息; 2.插入学生;3学生个人信息查询;4.删除学生信息;5.查询所有学生成绩信息;6. 按学生总分成绩排序;7. 对学生按学号排序;8.更改学生科目成绩;操作者可以根据不同需求选择不同的操作。 (1) 主函数:通过mian函数user[] = "admin\0"; password[] = "root\0";来存储自定义的账号密码,来进行登录系统,如果登录成功,则进入系统,通过调用调用add_student函数、check_oneStudent函数、stu_out函数、sum_grade函数、insert_stu函数、调用del_stu函数、stu_num函数、update_grade函数从而实现各种功能。 (2) menu函数:只作为一个选项菜单函数,打印输出提示。 (3) add_student函数:通过输入录入学生的个数,从而录入学生的姓名、学号、班级、各科成绩,求出总分,循环几次学生信息的录入。 (4) insert_stu函数:首先要做个判断,因为定义了一个全局变量来控制系统里存放多少个学生,如果录入的学生超过系统的最大容量,就报错;否则就录入学生的名字、学号、班级、各科成绩,在本函数中做了一个学号是否重复的判断,因为每个学生的学号都是唯一的。如果录入的学号在系统中已经存在,就报错。否则插入成功。 (5) stu_check函数:用于实现学生信息的查询,学生只需要输入自己的学号,就可以查到对应的信息,本函数也做了判断,如果输入的学生存在于系统就输出,否则查不到该学生信息。 (6) del_stu函数:用于删除学生本人,通过输入学生的学号,去系统中一一遍历寻找,如果找到,就删除;如果遍历后找不到指定输入的学号,就输出没有该学生。 (7) stu_out函数:用于查询所有学生信息并输出,操作者通过输入,如果起初的系统里就没学生,就输出没学生信息;否则就一一输出所有的学生信息。 (8) stu_num函数:用于对学生学号从小到大排序输出;通过遍历每个学生的学号,按冒泡排序的算法,将所有的学生学号,从小到大输出。 (9) sum_grade函数:用于对学生的所有科目的总成绩一一遍历,也是用冒泡排序的算法实现从高到底的总分排序。 (10) update_grade函数:用于实现对系统中已经存在的各科成绩,进行修改,将需要修改的某科成绩分数与系统中已经存在的数据进行查找并修改保存。如果更改的科目不对,就不报错,否则更改成功。 (11)定义结构体studentInformation,用来存储学生的名字、班级、学号、学生的数据库成绩、高数成绩、C语言成绩、学生总分。 系统结构程序问题加Q:3125841747 4、数据结构说明和模块算法说明 4.1结构体顺序表的定义 #include #include //通过strcmp函数比较字符串 #define max 100 //定义顺序表的插入,假设最大值为100 int size = 0; //构造一个空表 /*显示学生属性的信息*/ typedef struct studentInformation { /*定义结构体成员变量*/ char student_name[20]; char student_class[10]; int student_number; float student_mysql; float student_math; float student_C; float sum_grade; } information; /*结构体变量名*/ *模块说明: 定义顺序表的存储结构和实现 4.2顺序表的构造 /*新建学生信息*/ void add_student(information im[], int geshu) { int i; int count = size + geshu; //通过输入录入学生的个数,来确认录入循环的次数 for(i = size; i < count; i++) { printf("----请录入学生的信息----\n"); printf("请录入学生的姓名:\n"); scanf("%s",&im[i].student_name); printf("请录入学生的学号:\n"); scanf("%d",&im[i].student_number); printf("请录入学生的班级:\n"); scanf("%s",&im[i].student_class); printf("请录入学生的数据库成绩:\n"); scanf("%f",&im[i].student_mysql); printf("请录入学生的高数成绩:\n"); scanf("%f",&im[i].student_math); printf("请录入学生的C语言成绩:\n"); scanf("%f",&im[i].student_C); im[i].sum_grade=im[i].student_mysql+im[i].student_math+im[i].student_C; //用来做总成绩的求和 size++; //顺序表的长度+1 } } * 模块说明: 顺序表的建立 * 输入参数: 学生的个人信息及学科成绩 * 其它说明: 学生信息包括学号、姓名、数据库成绩、高数成绩、C语言成绩存入结构体数组中 4.3顺序表的插入 /*实现学生信息的查询*/ void insert_stu(information im[]) { int i,j; i=size;//代表当前的数组下标,size本为全局变量,当插入的时候,只能在末尾插 if(i>max) { printf("数据错误!\n"); return; } printf("请录入插入的学生名字:\n"); scanf("%s",im[i].student_name); printf("请录入插入的学生学号:\n"); scanf("%d",&im[i].student_number); for(j=0; j |
CopyRight 2018-2019 实验室设备网 版权所有 |