void Cin(Books *abs){ int i = 0; int g; cout<<"添加几个课程?"<<endl; xiuf(&g); if(abs->number + g > 5){ cout<<"太多了,进不去了!!!"<<endl; system("pause"); system("cls"); }else{ for(i=0;i<g;i++){ abs->number++; cout<<"输入课程名字"<<endl; string mzl; cin>>mzl; abs->ClassArray[abs->number].name = mzl; cout<<"输入课程编号"<<endl; string numberl; cin>>numberl; abs->ClassArray[abs->number].number = numberl; cout<<"输入课程性质"<<endl; string forml; cin>>forml; abs->ClassArray[abs->number].form = forml; cout<<"输入课程学分"<<endl; int gradel; xiuf(&gradel); abs->ClassArray[abs->number].grade = gradel; cout<<"输入课程学时"<<endl; int timel; xiuf(&timel); abs->ClassArray[abs->number].time = timel; cout<<"输入课程授课学时"<<endl; int finishtimel; xiuf(&finishtimel); abs->ClassArray[abs->number].finishtime = finishtimel; cout<<"输入课程实验学时"<<endl; int experiencel; xiuf(&experiencel); abs->ClassArray[abs->number].experience = experiencel; cout<<"添加成功"<<endl; abs->ClassArray[abs->number].people = abs->number *10; system("pause"); system("cls"); ofstream out("kc.txt",ios::app);//app表示每次操作前均定位到文件末尾 if(out.fail()){ cout<<"error\n"; } out<<"课程名字:"<<mzl<<endl; out<<"课程编号:"<<numberl<<endl; out<<"课程性质:"<<forml<<endl; out<<"课程学分:"<<gradel<<endl; out<<"课程学时:"<<timel<<endl; out<<"课程授课学时:"<<finishtimel<<endl; out<<"课程实验学时:"<<experiencel<<endl; out.close(); }} }
时间: 2024-03-29 09:35:55 浏览: 81
这段代码定义了一个函数Cin,函数参数为一个指向Books类型的指针abs。
函数的作用是向Books类型的对象中添加课程信息。首先询问要添加几个课程,然后从标准输入流(cin)中读取课程的名称、编号、性质、学分、学时、授课学时和实验学时等信息,并存储到Books类型对象的ClassArray数组中。每次添加成功后,输出提示信息,并将课程信息写入到一个名为"kc.txt"的文件中。
如果要添加的课程数量超过了5个,则输出错误提示信息并暂停程序执行,如果没有超过,则通过循环依次添加每一个课程信息。在循环中,先将Books类型对象的number属性增加1,然后依次从标准输入流中读取课程的各项信息,存储到ClassArray数组中。读取课程学分和课程学时时,调用了函数xiuf来确保输入的是整数。最后,将添加成功的课程信息写入到文件中,并输出提示信息。
总体来说,该函数的作用是实现课程信息的录入和存储。
相关问题
void TheStudent(Books *abs, Students *asg){ cout<<"What's your name?"<<endl; asg->number++; string n; cin>>n; asg->StudentsArray[asg->number].Name = n; int l; cout<<"添加多少课程?"<<endl; cin>>l; if(l > 4){ cout<<"增加的科目过多"<<endl; asg->number--; }else if(l<2){ cout<<"增加的科目太少"<<endl; asg->number--; } else{ while(l){ show1(abs); cout<<"输入课程序号"<<endl; int k; cin>>k; int t=0; if(k==0){break;} for(int i=1;i<=asg->StudentsArray[asg->number].number;i++){ if(asg->StudentsArray[asg->number].StudentArray[i].name == abs->ClassArray[k].name){t=1;} } if(t==1){cout<<"已拥有此课程"<<endl;} else if(k != 0 && asg->StudentsArray[asg->number].getgrate + abs->ClassArray[k].grade > 10){ cout<<"学分已满"<<endl; } else{ asg->StudentsArray[asg->number].number++; asg->StudentsArray[asg->number].StudentArray[asg->StudentsArray[asg->number].number].name = abs->ClassArray[k].name; asg->StudentsArray[asg->number].getgrate += abs->ClassArray[k].grade; l--; } } system("pause"); system("cls");} }
这是一段 C++ 代码,函数名为 TheStudent,参数类型为 Books 和 Students 指针。下面是代码的主要功能:
1. 提示用户输入姓名并保存;
2. 让用户输入要添加的课程数量,如果数量不符合要求则提示用户重新输入;
3. 循环让用户选择要添加的课程,如果已经拥有该课程则提示用户,如果学分已满则不能再添加,否则将课程信息保存到学生数组中;
4. 最后暂停程序并清除屏幕。
代码中使用了很多结构体和指针,具体实现需要查看完整代码。
void mzfind(Books *as){ string name; cout<<"请输入需要咨询的课程名称"<<endl; cin>>name; for(int i=1;i <= as->number;i++){ if(as->ClassArray[i].name==name){ cout<<as->ClassArray[i].name<<endl<<"课程编号:"<<as->ClassArray[i].number<<endl<<"课程性质:"<<as->ClassArray[i].form <<endl<<"课程学分:"<<as->ClassArray[i].grade<<endl<<"课程学时:"<<as->ClassArray[i].time<<endl<<"课程授课学时:"<<as->ClassArray[i].finishtime<<endl<<"课程实验学时:"<<as->ClassArray[i].experience <<endl<<"输出完成"<<endl; } } system("pause"); system("cls"); }
这也是一段 C++ 代码,函数名为 mzfind,参数类型为 Books 指针。
代码主要功能是根据用户输入的课程名称查询该课程的详细信息,并输出到屏幕上。具体实现如下:
1. 提示用户输入需要查询的课程名称;
2. 循环遍历所有课程,如果找到输入的课程名称则输出该课程的详细信息;
3. 最后暂停程序并清除屏幕。
代码中同样使用了结构体和指针,具体实现需要查看完整代码。
阅读全文