写一个学生成绩管理系统c++
时间: 2023-05-15 17:06:07 浏览: 81
好的,我可以为您提供一个简单的学生成绩管理系统的C代码。以下是代码:
#include <stdio.h>
#include <stdlib.h>
struct student {
char name[50];
int roll;
float marks;
} s;
int main() {
FILE *fptr;
fptr = fopen("student.txt", "w");
if (fptr == NULL) {
printf("Error!");
exit(1);
}
printf("Enter information of students:\n\n");
printf("Enter name: ");
scanf("%s", s.name);
printf("Enter roll number: ");
scanf("%d", &s.roll);
printf("Enter marks: ");
scanf("%f", &s.marks);
fprintf(fptr, "Name: %s\nRoll number: %d\nMarks: %.2f\n", s.name, s.roll, s.marks);
fclose(fptr);
return 0;
}
这个程序可以让用户输入学生的姓名、学号和成绩,并将这些信息写入一个名为“student.txt”的文本文件中。
相关问题
写一个学生成绩管理系统c++程序
以下是一个简单的学生成绩管理系统C++程序:
```C++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Student {
string name;
int id;
vector<int> grades;
};
// 根据成绩计算平均分
double calculateAverage(vector<int> grades) {
int sum = 0;
for (int grade : grades) {
sum += grade;
}
return static_cast<double>(sum) / grades.size();
}
// 打印学生信息
void printStudentInfo(Student student) {
cout << "学生姓名:" << student.name << endl;
cout << "学生学号:" << student.id << endl;
cout << "学生成绩:";
for (int grade : student.grades) {
cout << grade << " ";
}
cout << endl;
cout << "平均分数:" << calculateAverage(student.grades) << endl;
}
int main() {
vector<Student> students;
int choice = 0;
while (true) {
// 打印菜单
cout << "学生成绩管理系统" << endl;
cout << "1. 添加学生信息" << endl;
cout << "2. 显示学生信息" << endl;
cout << "3. 退出" << endl;
cout << "请选择操作:" << endl;
cin >> choice;
if (choice == 1) {
// 添加学生信息
Student student;
cout << "请输入学生姓名:" << endl;
cin >> student.name;
cout << "请输入学生学号:" << endl;
cin >> student.id;
cout << "请输入学生成绩(以-1结束):" << endl;
int grade = 0;
while (true) {
cin >> grade;
if (grade == -1) {
break;
}
student.grades.push_back(grade);
}
students.push_back(student);
cout << "添加成功!" << endl;
} else if (choice == 2) {
// 显示学生信息
if (students.empty()) {
cout << "没有学生信息!" << endl;
} else {
for (Student student : students) {
printStudentInfo(student);
}
}
} else if (choice == 3) {
// 退出
cout << "谢谢使用!" << endl;
break;
} else {
// 无效输入
cout << "无效的操作,请重新选择!" << endl;
}
}
return 0;
}
```
该程序使用了结构体 `Student` 保存学生信息,包括姓名、学号和成绩。程序提供了以下菜单选项:
1. 添加学生信息:用户可以输入学生的姓名、学号和成绩,成绩以-1为结束标志,程序会将输入的学生信息保存到一个 `vector` 中。
2. 显示学生信息:程序会遍历保存学生信息的 `vector`,并调用 `printStudentInfo` 函数打印每个学生的信息和平均分数。
3. 退出:结束程序运行。
该程序使用了函数 `calculateAverage` 计算平均分,函数 `printStudentInfo` 打印学生信息。
该程序的主要逻辑是一个无限循环,根据用户的选择执行不同的操作。如果用户输入了无效的操作,程序会提示用户重新选择。
请写一个学生成绩管理系统C++
好的,我可以为您提供一个简单的学生成绩管理系统的C++代码。以下是代码:
```c++
#include <iostream>
using namespace std;
struct Student {
string name;
int id;
double grade;
};
int main() {
const int MAX_STUDENTS = 100;
Student students[MAX_STUDENTS];
int numStudents = 0;
while (true) {
cout << "1. 添加学生信息" << endl;
cout << "2. 显示学生信息" << endl;
cout << "3. 计算平均成绩" << endl;
cout << "4. 退出程序" << endl;
cout << "请选择: ";
int choice;
cin >> choice;
if (choice == 1) {
if (numStudents >= MAX_STUDENTS) {
cout << "学生信息已满,无法添加!" << endl;
} else {
Student student;
cout << "请输入学生姓名: ";
cin >> student.name;
cout << "请输入学生学号: ";
cin >> student.id;
cout << "请输入学生成绩: ";
cin >> student.grade;
students[numStudents] = student;
numStudents++;
cout << "学生信息添加成功!" << endl;
}
} else if (choice == 2) {
if (numStudents == 0) {
cout << "没有学生信息!" << endl;
} else {
for (int i = 0; i < numStudents; i++) {
cout << "姓名: " << students[i].name << ", 学号: " << students[i].id << ", 成绩: " << students[i].grade << endl;
}
}
} else if (choice == 3) {
if (numStudents == 0) {
cout << "没有学生信息!" << endl;
} else {
double totalGrade = 0;
for (int i = 0; i < numStudents; i++) {
totalGrade += students[i].grade;
}
double avgGrade = totalGrade / numStudents;
cout << "平均成绩为: " << avgGrade << endl;
}
} else if (choice == 4) {
cout << "退出程序!" << endl;
break;
} else {
cout << "选择无效,请重新选择!" << endl;
}
}
return 0;
}
```
这个程序实现了四个功能:添加学生信息、显示学生信息、计算平均成绩和退出程序。您可以根据需要进行修改和扩展。