这是我的menusystem.h头文件,有的功能还没写完,我想在主菜单的b功能里面实现对这两个集合的遍历,我有另外两个头文件分别包含老师类和学生类。
list::iterator() its;
list::iterator() itt;
这两句会提示错误:
error C2146: syntax error : missing ';' before identifier 'its'
error C2501: 'its' : missing storage-class or type specifiers
error C2146: syntax error : missing ';' before identifier 'itt'
error C2535: 'int __thiscall MenuSystem::iterator(void)' : member function already defined or declaredd:\vc6.0(绿色win8可用)\program ide\vc++6.0\myprojects\课程设计\menusystem.h(23) : see declaration of 'iterator'
error C2501: 'itt' : missing storage-class or type specifiers
/*
系统的核心类,通过该菜单系统实现所有功能,通过友元联系上老师类和学生类。
*/
#pragma once
#ifndef MENUSYSTEM_H
#define MENUSYSTEM_H
#include
#include
#include"student.h"
#include"teacher.h"
class Teacher;
class Student;
class SchoolPerson;
using namespace std;
class MenuSystem
{
public:
typedef list LISTS;
typedef list LISTT;
LISTS lists;
LISTT listt;
void showmenu()
{
list<Student>::iterator() its;
list<Teacher>::iterator() itt;
cout<<"欢迎进入高校水电管理系统"<<endl;
START:
cout<<"请选择功能(输入数字):"<<endl;
cout<<"a、录入用户信息"<<endl;
cout<<"b、查询用户信息"<<endl;
cout<<"c、查询未缴费名单"<<endl;
cout<<"d、退出系统"<<endl;
cin>>button;
switch (button)
{
case 'a':
cout<<"用户信息录入界面";
cout<<"请输入S或者T选择录入学生信息还是老师信息输入其他返回主界面:";
cin>>career;
switch (career)
{
case 'S':
{
int swi=1;
while (swi==1)
{
Student *stu;
stu=new Student;
(*stu).set();
lists.push_front(*stu);
cout<<"输入1继续添加,输入其他退出添加。";
cin>>swi;
}
}
break;
case 'T':
{
int swi=1;
while (swi==1)
{
Teacher *tea;
tea=new Teacher;
(*tea).set();
listt.push_front(*tea);
cout<<"输入1继续添加,输入其他退出添加。";
cin>>swi;
}
}
break;
default:
goto START;
}
break;
case 'b':
{
char button2;
cout<<"用户信息查询"<<endl;
cout<<"a、查询所有学生信息"<<endl;
cout<<"b、查询所以老师信息"<<endl;
cout<<"c、查询学生个人信息"<<endl;
cout<<"d、查询老师个人信息"<<endl;
cout<<"按其他键返回主菜单"<<endl;
cin>>button2;
switch (button2)
{
case 'a':
{
for (its=lists.begin();its!=lists.end();its++)
{
(*its).print_information();
cout<<endl;
}
}
break;
case 'b':
{
for (itt=listt.begin();itt!=lists.end();itt++)
{
(*itt).print_information();
cout<<endl;
}
}
break;
case 'c':
{
int sign=0;
long snumber;
cout<<"请输入要查询的学生的学号:";
cin>>snumber;
for (its=lists.begin();its!=lists.end();its++)
{
if ((*its).getnumber()==snumber)
{
cout<<"查询结果如下:"<<endl;
(*its).print_information();
sign=1;
}
}
if (sign==0)
cout<<"没有此用户!";
}
break;
case 'd':
{
int sign=0;
long tnumber;
cout<<"请输入要查询的老师的工号:";
cin>>snumber;
for (itt=lists.begin();itts!=listt.end();itt++)
{
if ((*itt).getnumber()==tnumber)
{
cout<<"查询结果如下:"<<endl;
(*itt).print_information();
sign=1;
}
}
if (sign==0)
cout<<"没有此用户!";
}
break;
default:
goto START;
}
}
case 'c':
//调用没交费学生信息
//调用没交费老师信息
break;
case 'd':
exit(0);
default:
cout<<"错误的指令,请重新输入:"<<endl;
goto START;
}
}
private:
char button;
char career;
};
#endif