У меня есть проблема в нижеприведенном коде
там написано требуется постоянное выражение
в чем проблема с 3-мя массивами?
Что я уже пробовал:
#include<iostream.h> #include<conio.h> int main() { int n,i=0,m=0,unit[n]; float grade[n]; char name[n]; cout<<"How many lessons did you take?"; cin>>n; for(i;i<n;i++) { cout<<"\n Enter the name of your lesson"<<": \t"; cin>>name[i]; cout<<"\n Enter the units"<<": \t"; cin>>unit[i]; cout<<"\n Enter the grade"<<": \t"; cin>>grade[i]; } cout<<"\n your resaults:"; cout<<"\n Lesson \t"<<"Units \t"<<"\t Grade \n"; for(m;m<n;m++) { cout<<name[m]<<"\t"<<unit[m]<<"\t"<<"\t"<<grade[m]; } getch(); return 0; }
jeron1
int n,i=0,m=0,unit[n];
класс поплавка[n];
имя char[n];
Вы объявляете массивы, если размер n, но n неизвестно во время компиляции. Вы либо должны выделить больше, чем, как вы думаете, вам когда-либо понадобится, например
имя char[100];
или динамически выделять память с помощью оператора "new", например,
n = 100;
char *a = новый символ[n];
но не забывайте о соответствующем операторе "удалить".
или, возможно, использовать контейнеры std, такие как std::vector и std::strings, лично мне нравятся контейнеры.