C2665 “StudentInfo::StudentInfo”: 没有重载函数可以转换所有参数类型 联系五 C:\KSWJJ\61000001\proj1\main.cpp 39
时间: 2023-09-29 22:10:43 浏览: 111
这个错误是由于在调用函数 `StudentInfo::StudentInfo` 时,没有找到匹配的重载函数来转换所有参数类型导致的。根据错误信息可以看到,这个问题出现在文件 `main.cpp` 的第 39 行。你需要检查调用 `StudentInfo::StudentInfo` 函数的参数类型是否与定义的重载函数相匹配。如果不匹配,你需要修改参数类型或者添加相应的重载函数来解决这个问题。
相关问题
:9999/studentInfo:1 Failed to load resource: the server responded with a status of 405 ()
这个错误通常表示您发送的请求方法不被服务器接受。HTTP状态码405表示"Method Not Allowed",意味着您使用的HTTP方法不被服务器允许。
请确保您发送的请求方法是正确的,并且与服务器端所期望的一致。常见的HTTP请求方法包括GET、POST、PUT、DELETE等。
如果您使用的是浏览器发起的请求,可以检查一下请求方式是否正确。如果您是通过编程语言发送请求,可以检查一下代码中请求的方式是否正确。
另外,还需要确认您发送的请求地址是否正确,即确保您请求的资源路径与服务器端提供的接口路径匹配。
如果以上方法都没有解决问题,可能需要进一步检查服务器端的配置和接口定义,以确定是否有其他限制导致请求被拒绝。
用c语言写:1.学生信息录入:可以录入学生的基本信息,包括学号、姓名、性别、年龄、所在院系等信息。要求支持多名学生信息的录入。2.学生信息查询:可以按学号或姓名进行学生信息的查询,找到相应学生的基本信息。3.学生成绩录入:可以为每名学生录入多门课程的成绩,包括课程名称、学分、成绩等。4.学生成绩查询:可以按学号和课程名称查询某名学生的指定课程成绩。5.课程平均分查询:可以查询每门课程的平均成绩。6.学生总分统计:可以统计每名学生的总学分和总成绩,以及根据总成绩计算学生的平均分。该系统需要提供一个菜单界面,让用户选择不同的功能;需要定义学生信息结构体和成绩结构体、考虑利用数据文件等存储数据
下面是用C语言实现学生信息管理系统的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
#define MAX_COURSE_NUM 10
#define MAX_NAME_LENGTH 20
#define MAX_DEPT_LENGTH 20
#define MAX_COURSE_LENGTH 20
typedef struct student_info {
char id[10];
char name[MAX_NAME_LENGTH];
char gender[5];
int age;
char dept[MAX_DEPT_LENGTH];
float score[MAX_COURSE_NUM];
} StudentInfo;
typedef struct course_info {
char name[MAX_COURSE_LENGTH];
int credit;
float score[MAX_STUDENT_NUM];
} CourseInfo;
int student_num = 0;
StudentInfo students[MAX_STUDENT_NUM];
int course_num = 0;
CourseInfo courses[MAX_COURSE_NUM];
void print_menu() {
printf("====================================\n");
printf("1. 学生信息录入\n");
printf("2. 学生信息查询\n");
printf("3. 学生成绩录入\n");
printf("4. 学生成绩查询\n");
printf("5. 课程平均分查询\n");
printf("6. 学生总分统计\n");
printf("0. 退出系统\n");
printf("====================================\n");
}
void add_student_info() {
if (student_num >= MAX_STUDENT_NUM) {
printf("学生信息已满,无法添加!\n");
return;
}
printf("请输入学生学号:");
scanf("%s", students[student_num].id);
printf("请输入学生姓名:");
scanf("%s", students[student_num].name);
printf("请输入学生性别:");
scanf("%s", students[student_num].gender);
printf("请输入学生年龄:");
scanf("%d", &students[student_num].age);
printf("请输入学生所在院系:");
scanf("%s", students[student_num].dept);
student_num++;
printf("学生信息添加成功!\n");
}
void query_student_info() {
int choice;
printf("请选择查询方式:\n");
printf("1. 按学号查询\n");
printf("2. 按姓名查询\n");
scanf("%d", &choice);
if (choice == 1) {
char id[10];
printf("请输入学生学号:");
scanf("%s", id);
for (int i = 0; i < student_num; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("学号:%s 姓名:%s 性别:%s 年龄:%d 院系:%s\n",
students[i].id, students[i].name, students[i].gender,
students[i].age, students[i].dept);
return;
}
}
printf("未查询到学号为%s的学生!\n", id);
} else if (choice == 2) {
char name[MAX_NAME_LENGTH];
printf("请输入学生姓名:");
scanf("%s", name);
for (int i = 0; i < student_num; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("学号:%s 姓名:%s 性别:%s 年龄:%d 院系:%s\n",
students[i].id, students[i].name, students[i].gender,
students[i].age, students[i].dept);
}
}
} else {
printf("输入有误,请重新选择!\n");
}
}
void add_course_info() {
if (course_num >= MAX_COURSE_NUM) {
printf("课程信息已满,无法添加!\n");
return;
}
printf("请输入课程名称:");
scanf("%s", courses[course_num].name);
printf("请输入课程学分:");
scanf("%d", &courses[course_num].credit);
for (int i = 0; i < student_num; i++) {
printf("请输入%s课程成绩:", courses[course_num].name);
scanf("%f", &courses[course_num].score[i]);
students[i].score[course_num] = courses[course_num].score[i];
}
course_num++;
printf("课程信息添加成功!\n");
}
void query_course_info() {
char id[10], name[MAX_COURSE_LENGTH];
printf("请输入学生学号:");
scanf("%s", id);
printf("请输入课程名称:");
scanf("%s", name);
for (int i = 0; i < student_num; i++) {
if (strcmp(students[i].id, id) == 0) {
for (int j = 0; j < course_num; j++) {
if (strcmp(courses[j].name, name) == 0) {
printf("%s课程成绩为%.2f\n", courses[j].name,
courses[j].score[i]);
return;
}
}
printf("未查询到%s课程的成绩!\n", name);
return;
}
}
printf("未查询到学号为%s的学生!\n", id);
}
void query_course_avg() {
for (int i = 0; i < course_num; i++) {
float sum = 0;
int count = 0;
for (int j = 0; j < student_num; j++) {
if (courses[i].score[j] != 0) {
sum += courses[i].score[j];
count++;
}
}
printf("%s课程平均成绩为%.2f\n", courses[i].name, sum / count);
}
}
void query_student_total() {
for (int i = 0; i < student_num; i++) {
float total_score = 0;
int total_credit = 0;
for (int j = 0; j < course_num; j++) {
total_score += students[i].score[j] * courses[j].credit;
total_credit += courses[j].credit;
}
printf("学号:%s 姓名:%s 总学分:%d 总成绩:%.2f 平均成绩:%.2f\n",
students[i].id, students[i].name, total_credit, total_score,
total_score / total_credit);
}
}
int main() {
int choice;
while (1) {
print_menu();
printf("请输入您的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student_info();
break;
case 2:
query_student_info();
break;
case 3:
add_course_info();
break;
case 4:
query_course_info();
break;
case 5:
query_course_avg();
break;
case 6:
query_student_total();
break;
case 0:
printf("谢谢使用,再见!\n");
return 0;
default:
printf("输入有误,请重新输入!\n");
break;
}
}
return 0;
}
```
该程序实现了学生信息录入、学生信息查询、学生成绩录入、学生成绩查询、课程平均分查询和学生总分统计等功能。用户可以通过菜单界面选择不同的功能。学生信息和成绩信息分别存储在一个数组中,通过遍历数组实现查询和统计功能。同时,为了方便存储和读取数据,可以考虑使用文件来保存数据。
阅读全文