Введите детали отметок 3 студента по 4 предметам, используя структурную переменную, но не умея читать имя 2-й и 3-й переменных в программировании на C++ с помощью блока кода complier
В выходном экране мой код не может использовать имя 2-й и 3-й структурных переменных (s2 и s3). Для 1-й переменной он читает имя структурной переменной, спрашивая о метках субъектов , но в случае 2-й и 3-й переменных он не спрашивает имя переменной, а непосредственно спрашивает врага о метках субъектов.
ПОЖАЛУЙСТА, ОТЛАДЬТЕ ЭТУ ПРОБЛЕМУ.
Что я уже пробовал:
#include<iostream> using namespace std; struct markscard { char name[50]; int eng,hin,math,sci; }; int main() { markscard s1; markscard s2; markscard s3; cout<<"name of s1\n"; cin.getline(s1.name,50); cout<<"marks of s1 in eng,hin,math,sci\n"; cin>>s1.eng>>s1.hin>>s1.math>>s1.sci; cout<<"name of s2\n"; cin.getline(s2.name,50); cout<<"marks of s2 in eng,hin,math,sci\n"; cin>>s2.eng>>s2.hin>>s2.math>>s2.sci; cout<<"name of s3\n"; cin.getline(s3.name,50); cout<<"marks of s3 in eng,hin,math,sci\n"; cin>>s3.eng>>s3.hin>>s3.math>>s3.sci; cout<<"\nreport card of "<<s1.name<<"\n"; cout<<"eng="<<s1.eng<<"\n"; cout<<"hin="<<s1.hin<<"\n"; cout<<"math="<<s1.math<<"\n"; cout<<"sci="<<s1.sci<<"\n"; cout<<"\nreport card of "<<s2.name<<"\n"; cout<<"eng="<<s2.eng<<"\n"; cout<<"hin="<<s2.hin<<"\n"; cout<<"math="<<s2.math<<"\n"; cout<<"sci="<<s2.sci<<"\n"; cout<<"\nreport card of "<<s3.name<<"\n"; cout<<"eng="<<s3.eng<<"\n"; cout<<"hin="<<s3.hin<<"\n"; cout<<"math="<<s3.math<<"\n"; cout<<"sci="<<s3.sci<<"\n"; }
Rick York
Одна вещь, которая для меня очевидна, это то, что у вас есть много повторяющегося кода. Повторяющиеся кодовые последовательности обычно превращаются в функции или, поскольку это c++, методы класса. Вот что нужно сделать здесь. У вас должен быть метод вашей структуры markscard под названием "GetData" (или аналогичный), где он принимает все входные данные для одного объекта - имя и четыре балла. Тогда вы можете назвать его для стольких студентов, как вы хотите - не только три.
Чтобы действительно использовать c++, вы сохраняете имя в строке std::, и оценки будут вектором целых чисел. Вы также будете держать студентов в векторе, так что у вас может быть столько предметов и студентов, сколько вы хотите, и имена могут быть практически любого размера.