У меня есть медведь времени, выясняя, что делать дальше. В принципе, эта программа не может использовать ничего, кроме переменных указателя (*) и динамически назначенной памяти (например, «int * variable = new int»). Я должен создать структуру поверх всего остального!Ввод данных в структуру с переменными-членами указателя
Я включил код ниже. Есть красные линии под всеми моими операторами «>>» и сообщение, в котором говорится: «Ошибка: нет оператора» >> «соответствует этим операндам». Также есть красная строка под моей «одной» частью «one.score2» кода (последняя строка) и сообщение, в котором говорится: «Ошибка: выражение должно иметь целочисленный или неперечисленный тип перечисления».
Как я могу заставить свой код работать?
#include <iostream>
#include <string>
using namespace std;
// Define structures
struct student
{
string *name;
double *score, *score2, *average;
};
void main(void)
{
// Create our students
student one, two;
cout << "Enter the first student's name: ";
cin >> one.name;
cout << endl << "Enter " << one.name << "'s first exam: ";
cin >> one.score;
cout << endl << "Enter " << one.name << "'s second exam: ";
cin >> one.score2;
one.average = ((one.score + one.score2)/2);
Почему у вас есть члены в качестве указателей в структуре? Это звучит как надуманное домашнее задание. –
Вы ответили на свой вопрос: «int * variable = new int» - где это в вашем коде? Фактически вы должны создать строку и удвоить один и два, прежде чем пытаться что-то прочитать в них. –
Чтобы исправить вашу программу, вы захотите изучить: конструкторы, деструкторы, распределение динамической памяти и разыменование указателя. –