Ошибочный вывод с экспоненциальными значениями вместо того, чтобы принимать целое число в качестве ввода - PullRequest
0 голосов
/ 28 марта 2020

Моя программа простая и понятная для отображения суммы оценок по 6 предметам с использованием структур. Но она не дает ожидаемого результата. В отметках первого студенческого члена последнее место должно принимать целые числа. Но он отображает некоторое экспоненциальное значение независимо от введенного значения. Однако этого не происходит, когда нет. студента один. Бывает только по нескольким нет. студентов. Если вы все могли бы помочь. Вот так выглядит мой код:

#include <iostream>
using namespace std;
struct student
{
    int roll_no;
    float m[6];
};
int main()
{
 int N;
 cout<<"Enter the total no. of students:"<<endl;
 cin>>N;
 student s[N];
 int x,y;
 for(x=0;x<N;x++)
 {
     cout<<"Enter the roll no. of student #"<<x+1<<":"<<endl;
     cin>>s[x].roll_no;
     for(y=1;y<=6;++y)
     {
         cout<<"Enter the marks of student #"<<x+1<<" in subject"<<y<<":"<<endl;
         cin>>s[x].m[y];


     }
 }
for(x=0;x<N;x++)
{
     cout<<"\n\n";
     cout<<"Roll No :"<<s[x].roll_no<<endl;
     for(y=1;y<=6;++y)
         cout<<"The marks in subject"<<y<<":"<<s[x].m[y]<<endl;
     cout<<"The total marks are:"<<(s[x].m[1]+s[x].m[2]+s[x].m[3]+s[x].m[4]+s[x].m[5]+s[x].m[6])<<endl;
     cout<<"-----------------------------------------------------------------------";


}

    return 0;

}
...