如何在 C++ 中将字符串放在 int 之后

how can i put string after int in c++

本文关键字:int 字符串 之后 C++      更新时间:2023-10-16

我想创建一个这样的C ++程序

使用 C++ 进行设计和实现,该类存储学生 ID、姓名、40五个不同主题的地址和标记(在具有五个元素的数组中)。假设该分数满分 100 分。该类应该有一个构造函数,一个成员函数输入分数和打印学生详细信息的附加成员函数和分数,以及总分数和百分比。编写主函数创建两个这样的学生对象并显示其详细信息

我想在这个程序中插入学生姓名和标记,但我收到错误为什么......

这是我的程序..

请提供示例解决方案

     #include <iostream>
#include<stdio.h>
using namespace std;
class student{
private:
    int id;
    char *name;
    int marks[5];
    char *address;
public:
    student();
    void input_detail();
    void display_detail();
    double total_marks();
    double percentage();
};
student::student(){
    id=0;
    name='';
    marks[5]=NULL;
    address='';
}
void student::input_detail(){
    int i=1,j=0;
    cout<<"please enter student id: "<<endl;
    cin>>id;
    cout<<"please enter student name: "<<endl;
    gets(name);
    for(i=1,j=0;i<6;i++,j++){
        cout<<"enter marks "<<i<<" subject : "<<endl;
        cin>>marks[j];
    }
    cout<<"please enter student address : "<<endl;
    gets(address);
}
double student::total_marks(){
    double total_marks;
    int i=0;
    for(i=0;i<5;i++){
        total_marks=total_marks+marks[i];
    }
    return total_marks;
}
double student::percentage(){
    double percentage;
    percentage=total_marks()/500*100;
    return percentage;
}
void student::display_detail(){
    int i=1,j=0;
    cout<<"student id: "<<id<<endl;
    cout<<"student id: "<<name<<endl;
    for(i=1,j=0;i<6;i++,j++){
        cout<<"marks "<<i<<" subject : "<<marks[j]<<endl;
    }
    cout<<"student address : "<<address<<endl;
    cout<<"student total marks : "<<total_marks()<<endl;
    cout<<"student percentage : "<<percentage()<<endl;
}
int main()
{
    student s1;
    s1.input_detail();
    s1.display_detail();
    return 0;
}

我正在获得此输出

please enter student id:
anil
please enter student name:
please enter student address :
annn
student id: 0
student id: anil
student address : annn
student total marks : 1.1331e-317
student percentage : 0

返回的进程 0 (0x0) 执行时间 : 19.901 s按任意键继续。

但是它没有显示在程序中的学生分数在哪里

快速检查显示两个错误:

  1. for条件与你想象的相反:当它true时,循环继续,当它为假时,循环退出。像 for(int i=0; i>6; i++){...} 这样的循环永远不会运行,因为启动时条件为 false(0 不大于 6)。

  2. 当你在C++中声明一个变量的双精度时,你需要初始化它;计算总和时会出现此错误(以double total_marks=0开头)。

确实还有许多其他错误和可疑的方法,但这些可能在课堂上讨论得更好......