Привет всем ниже - мой код. После того, как я нажимаю кнопку запуска, она автоматически завершается перед показом любого выхода. Может кто-нибудь мне помочь ?Моя программа на C++ завершается
#include <iostream>
using namespace std;
#include "StudentReviewSystem.h"
#include <string>
#include "Course.h"
StudentReviewSystem ::StudentReviewSystem()
{
}
StudentReviewSystem :: ~StudentReviewSystem()
{
}
void StudentReviewSystem :: addCourse(const int courseId, const string courseName)
{
int numOfCourse = 0;
Course* C ;
if(numOfCourse==0)
{
C = new Course[numOfCourse+1];
C[0].courseId= courseId ;
C[0].courseName = courseName ;
cout<< " Course " <<courseId<< " has been added"<<endl;
numOfCourse++;
}
else
{
int x = 0 ;
for(int i = 0; i< numOfCourse; i++)
{
if(C[i].courseId == courseId)
{
cout<< " Course " <<courseId<< " already exists"<<endl;
x++;
}
if(x == 0)
{
Course* tmp = C ;
C = new Course[numOfCourse+1];
for(int i = 0; i< numOfCourse ; i++)
{
C[i] = tmp[i];
}
C[numOfCourse].courseId = courseId;
C[numOfCourse].courseName = courseName;
delete[] tmp ;
numOfCourse++;
}
}
}
}
int main()
{
StudentReviewSystem S;
S.addCourse(101, "Algorithms and Programming");
S.addCourse(201, "Fundamental Structures of Computer Science I");
S.addCourse(101, "Algorithms and Programming");
}
Время для компиляции со всеми предупреждениями и информацией об отладке (например, 'g ++ -Wall -g') и узнать, как использовать ** отладчик ** (например,' gdb', по крайней мере, в Linux). –
примечание стороны: numOfCourse устанавливается на '0' каждый раз, когда вы вызываете свою функцию. вы, вероятно, хотите, чтобы это была переменная-член, а не локальная переменная. – clcto
Да, это то, что я хочу – user8938744