| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 810 人关注过本帖
标题:c++的编程问题求帮忙找出问题!!
只看楼主 加入收藏
明晚打老虎
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2017-9-17
结帖率:100%
收藏
 问题点数:0 回复次数:0 
c++的编程问题求帮忙找出问题!!
目前程序的主要内容是通过创建一个顺序表来代表班级,然后向其中传入一个个的学生类,然后能够通过这个顺序表调用出学生类的一系列信息并进行之后的操作。但是程序运行的时候总是中途中断,实在是不知道怎么改了,求帮助啊!!
程序代码:
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<string>
#define LIST_INIT_SIZE 50
#define LISTINCREMENT 10
using namespace std;
class Student
{
    public:
        
        void InputStudent();//输入学生信息
        void OutputStudent();//输出学生信息
        void ChangeStudent();//修改学生信息
        void DeleteStudent();//删除学生信息
        void SearchStudent();//查找
        friend class Class;
    private:
         
        string name,sex;
        int id,age;
        float english_score,math_score,computer_score;
         
};
void Student::InputStudent()
{ 
    cout<<"请输入你要录入的学生的姓名:";
    cin>>name;
    cout<<"\n"<<"性别:";
    cin>>sex;
    cout<<"\n"<<"年龄:";
    cin>>age;
    cout<<"\n"<<"学号:";
    cin>>id;
    cout<<"\n"<<"数学成绩:";
    cin>>math_score;
    cout<<"\n"<<"英语成绩:";
    cin>>english_score;
    cout<<"\n"<<"计算机成绩:";
    cin>>computer_score;
    cout<<"\n";
}
void Student::OutputStudent()
{
    cout<<"姓名 性别 学号 年龄 数学 英语 计算机"<<endl;
    cout<<name<<" "<<sex<<" "<<id<<" "<<age<<" "<<math_score<<" "<<english_score<<" "<<computer_score<<" ";
    cout<<"\n";
}
typedef struct {
    Student *elem;
    int length;
    int listsize;
}SqList;
class Class
{
    public:
        
        void InputClass();//输入班级信息
        void OutputClass();//输出班级信息
        void InitClass_Sq(SqList &L);
        void FillClass_Sq(SqList &L,int i,Student St);//将学生类插入到班级的线性表中 
        int GetClassNumber();
        SqList GetClass();
    private:
        SqList Class;
        string ClassName;
        int ClassNumber;
        //要增加学生类的顺序表 
      
};
void Class::InputClass()
{
    cout<<"请输入你要创建的班级的名称:";
    cin>>ClassName;
    cout<<"\n";
    cout<<"请输入该班级的人数:";
    cin>>ClassNumber;
    cout<<"\n";
}
void Class::OutputClass()
{
    cout<<"该班级总人数为:"<<ClassNumber<<endl;
    cout<<"该班级所有学生姓名为:";
    for(int i=1;i<=ClassNumber;i++)
    {
        cout<<Class.elem[i-1].name<<"\n";
    }
    cout<<"\n";
}
void Class::InitClass_Sq(SqList &L){

    L.elem=(Student *)malloc(LIST_INIT_SIZE*sizeof(Student));
    if(!L.elem)exit(OVERFLOW);
    L.length=0;
    L.listsize=LIST_INIT_SIZE;
}
void Class::FillClass_Sq(SqList &L,int i,Student St){

    if(L.length>=L.listsize){
        Student *newbase;
        newbase=(Student *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(Student));
        if(!newbase)exit(OVERFLOW);
        L.elem=newbase;
        L.listsize+=LISTINCREMENT;
    }
    L.elem[i-1]=St;
    ++L.length; 
}
int Class::GetClassNumber()
{
    return ClassNumber;
}
SqList Class::GetClass()
{
    return Class;
}
int main()
{
    Class Classone;
    Classone.InputClass();
    SqList ClassoneList;
    Classone.InitClass_Sq(ClassoneList);
    Student stud[Classone.GetClassNumber()];
    
    for(int j=0;j<Classone.GetClassNumber();j++){
    
        
        
        stud[j].InputStudent();
        Classone.FillClass_Sq(ClassoneList,j+1,stud[j]);
        
    }
    Classone.GetClass()=ClassoneList;
    Classone.OutputClass();
    return 0;
}

 

 

感觉是我的向顺序表中一个个传递学生类的函数出了问题,但真的不知道怎么弄
搜索更多相关主题的帖子: class Student void int cout 
2017-10-28 21:29
快速回复:c++的编程问题求帮忙找出问题!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017864 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved