我在C ++中有此作业,但是我没有弄清楚如何构造代码:
编写一个程序,模拟从教授到学生的测试。限定 结构教授,学生和问题。结构教授成员是 用户名和密码,学生的结构为用户名,密码和 收集点数。问题结构的成员是:带有内容的字符串 的问题,答案的选择(字符)和分数:如果学生是0 选择“我不知道”选项,如果答案正确则选择1,如果答案不正确则选择-1。 该程序的第一个菜单欢迎用户并邀请其以管理员身份登录, 可以添加教授和学生帐户的人,以可以添加教授的身份登录 问题并打印结果报告,或者以学生身份登录,然后他可以提出问题 并据此回答。管理员的用户名和密码已初始化 来自程序员。 教授可以为要求的学生打印结果(根据用户名),然后打印 得分最高和最低的学生,并打印排序的整个学生名单 按分数降序排列。在程序中至少编写自己的3个函数
目前,我已经到达这里,但对我来说还不清楚,如何输入每个学生的姓名,以及如何将功能连接到结构
#include <iostream>
#include <cstring>
using namespace std;
struct professor
{
string username;
char password;
};
professor pName;
professor pPassword;
struct student
{
string username;
string password;
int totalPoints;
};
student sName;
student sPassword;
student sResult;
struct question
{
string testQuestion;
char answerQuestion;
int pointQuestion;
};
int professorMenu();
int adminMenu();
int studentMenu();
mainMenu()
{
int a;
cout<<"Press 1 to login as admin"<<endl;
cout<<"Press 2 to login as professor"<<endl;
cout<<"Press 3 to login as student"<<endl;
cout<<"Press -1 to quit the menu"<<endl;
cin>>a;
if(a==1)
{
adminMenu();
}
else if(a==2)
{
professorMenu();
}
else if(a==3)
{
studentMenu();
}
adminMenu()
{
int adminUsername = 1234;
int inputAdminUsername;
char adminPassword[6] = "admin";
char inputAdminPassword[6];
int a;
char inputStudent[20];
char inputProfessor[20];
cout<<"Enter admin username: ";
cin>>inputAdminUsername;
cout<<"Enter admin password: ";
cin>>inputAdminPassword;
if(inputAdminUsername == adminUsername && strcmp(adminPassword, inputAdminPassword) == 0)
{
cout<<"Successful login."<<endl;
do
{
cout<<"Press 1 to add professor"<<endl;
cout<<"Press 2 to add student"<<endl;
cout<<"Press 3 to go back to main menu"<<endl;
cin>>a;
if(a==1)
{
cout<<"Enter the name of the professor: ";
cin>>pName.username;
}
else if (a==2)
{
cout<<"Enter the name of the student: ";
cin>>sName.username;
}
else if(a==3)
{
mainMenu();
}
while(a!=3);
}
}
professorMenu()
{
cout<<"Enter professor username: ";
cin>>
}
studentMenu()
{
cout<<sName.username;
}
int main()
{
cout<<"Welcome to the test"<<endl;
mainMenu();
}