devc++学生成绩管理系统
时间: 2023-11-12 09:06:32 浏览: 290
devc++学生成绩管理系统是一个使用C语言编写的学生成绩管理软件,它可以实现学生信息的录入、查询、修改、删除、浏览和成绩分析等功能。该系统采用链表数据结构存储学生信息,通过分模块编程的方式实现各个功能模块的独立性和可重用性。其中,stdd.h头文件定义了学生信息结构体,cjfx.h头文件定义了成绩分析函数。该系统的主函数为main.cpp,通过菜单选择实现各个功能模块的调用。
相关问题
dev c++学生成绩管理系统
学生成绩管理系统是一种用于管理学生成绩信息的软件系统。在Dev C++中,可以通过定义一个学生类或结构体来实现学生成绩管理系统。该系统可以包含班级、学号、姓名、各科成绩和平均分等属性。同时,该系统还可以将学生成绩信息存储到文件中,以便于后续的查询和分析。在文件中,每条记录包含班级、学号、姓名、各科成绩和平均分等信息,一条记录占一行。通过学生成绩管理系统,可以方便地对学生成绩进行管理和分析,提高教学质量和效率。
dev c++学生成绩管理系统代码
以下是一个简单的Dev C++学生成绩管理系统代码,它可以实现添加学生信息、查询学生信息、修改学生信息和删除学生信息等功能。代码中使用了结构体来存储学生信息,使用文件来保存学生信息。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILENAME "students.txt" // 存储学生信息的文件名
#define MAX_STUDENT_NUM 100 // 最大学生数
// 学生结构体
typedef struct {
char class_0[20]; // 班级
int num; // 学号
char name[8]; // 姓名
float elec; // 电子成绩
float c_program; // C++成绩
float media; // 多媒体成绩
float english; // 英语成绩
float math; // 数学成绩
float physics; // 大学物理成绩
float sport; // 体育成绩
float polity; // 政治成绩
float average; // 平均分
} Student;
// 学生数组
Student stu[MAX_STUDENT_NUM];
int stu_num = 0; // 学生数
// 添加学生信息
void add_student() {
if (stu_num >= MAX_STUDENT_NUM) {
printf("学生数已达到最大值,无法添加新学生!\n");
return;
}
printf("请输入学生信息:\n");
printf("班级:");
scanf("%s", stu[stu_num].class_0);
printf("学号:");
scanf("%d", &stu[stu_num].num);
printf("姓名:");
scanf("%s", stu[stu_num].name);
printf("电子成绩:");
scanf("%f", &stu[stu_num].elec);
printf("C++成绩:");
scanf("%f", &stu[stu_num].c_program);
printf("多媒体成绩:");
scanf("%f", &stu[stu_num].media);
printf("英语成绩:");
scanf("%f", &stu[stu_num].english);
printf("数学成绩:");
scanf("%f", &stu[stu_num].math);
printf("大学物理成绩:");
scanf("%f", &stu[stu_num].physics);
printf("体育成绩:");
scanf("%f", &stu[stu_num].sport);
printf("政治成绩:");
scanf("%f", &stu[stu_num].polity);
stu[stu_num].average = (stu[stu_num].elec + stu[stu_num].c_program + stu[stu_num].media + stu[stu_num].english + stu[stu_num].math + stu[stu_num].physics + stu[stu_num].sport + stu[stu_num].polity) / 8.0;
stu_num++;
printf("添加成功!\n");
}
// 查询学生信息
void query_student() {
int num;
printf("请输入要查询的学生学号:");
scanf("%d", &num);
for (int i = 0; i < stu_num; i++) {
if (stu[i].num == num) {
printf("班级:%s\n", stu[i].class_0);
printf("学号:%d\n", stu[i].num);
printf("姓名:%s\n", stu[i].name);
printf("电子成绩:%.2f\n", stu[i].elec);
printf("C++成绩:%.2f\n", stu[i].c_program);
printf("多媒体成绩:%.2f\n", stu[i].media);
printf("英语成绩:%.2f\n", stu[i].english);
printf("数学成绩:%.2f\n", stu[i].math);
printf("大学物理成绩:%.2f\n", stu[i].physics);
printf("体育成绩:%.2f\n", stu[i].sport);
printf("政治成绩:%.2f\n", stu[i].polity);
printf("平均分:%.2f\n", stu[i].average);
return;
}
}
printf("未找到该学生!\n");
}
// 修改学生信息
void modify_student() {
int num;
printf("请输入要修改的学生学号:");
scanf("%d", &num);
for (int i = 0; i < stu_num; i++) {
if (stu[i].num == num) {
printf("请输入修改后的学生信息:\n");
printf("班级:");
scanf("%s", stu[i].class_0);
printf("学号:");
scanf("%d", &stu[i].num);
printf("姓名:");
scanf("%s", stu[i].name);
printf("电子成绩:");
scanf("%f", &stu[i].elec);
printf("C++成绩:");
scanf("%f", &stu[i].c_program);
printf("多媒体成绩:");
scanf("%f", &stu[i].media);
printf("英语成绩:");
scanf("%f", &stu[i].english);
printf("数学成绩:");
scanf("%f", &stu[i].math);
printf("大学物理成绩:");
scanf("%f", &stu[i].physics);
printf("体育成绩:");
scanf("%f", &stu[i].sport);
printf("政治成绩:");
scanf("%f", &stu[i].polity);
stu[i].average = (stu[i].elec + stu[i].c_program + stu[i].media + stu[i].english + stu[i].math + stu[i].physics + stu[i].sport + stu[i].polity) / 8.0;
printf("修改成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
// 删除学生信息
void delete_student() {
int num;
printf("请输入要删除的学生学号:");
scanf("%d", &num);
for (int i = 0; i < stu_num; i++) {
if (stu[i].num == num) {
for (int j = i; j < stu_num - 1; j++) {
stu[j] = stu[j + 1];
}
stu_num--;
printf("删除成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
// 保存学生信息到文件
void save_student() {
FILE *fp;
fp = fopen(FILENAME, "w");
if (fp == NULL) {
printf("无法打开文件!\n");
return;
}
fprintf(fp, "%d\n", stu_num);
for (int i = 0; i < stu_num; i++) {
fprintf(fp, "%s %d %s %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f\n", stu[i].class_0, stu[i].num, stu[i].name, stu[i].elec, stu[i].c_program, stu[i].media, stu[i].english, stu[i].math, stu[i].physics, stu[i].sport, stu[i].polity, stu[i].average);
}
fclose(fp);
printf("保存成功!\n");
}
// 从文件中读取学生信息
void load_student() {
FILE *fp;
fp = fopen(FILENAME, "r");
if (fp == NULL) {
printf("无法打开文件!\n");
return;
}
fscanf(fp, "%d", &stu_num);
for (int i = 0; i < stu_num; i++) {
fscanf(fp, "%s %d %s %f %f %f %f %f %f %f %f %f", stu[i].class_0, &stu[i].num, stu[i].name, &stu[i].elec, &stu[i].c_program, &stu[i].media, &stu[i].english, &stu[i].math, &stu[i].physics, &stu[i].sport, &stu[i].polity, &stu[i].average);
}
fclose(fp);
printf("读取成功!\n");
}
// 显示菜单
void show_menu() {
printf("1. 添加学生信息\n");
printf("2. 查询学生信息\n");
printf("3. 修改学生信息\n");
printf("4. 删除学生信息\n");
printf("5. 保存学生信息到文件\n");
printf("6. 从文件中读取学生信息\n");
printf("0. 退出程序\n");
}
int main() {
int choice;
while (1) {
show_menu();
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
query_student();
break;
case 3:
modify_student();
break;
case 4:
delete_student();
break;
case 5:
save_student();
break;
case 6:
load_student();
break;
case 0:
return 0;
default:
printf("无效选项!\n");
break;
}
}
return 0;
}
```
阅读全文