学生选修课程系统
来源:互联网 发布:按键精灵数组输出 编辑:程序博客网 时间:2024/04/29 06:58
#include<conio.h>
#include<stdlib.h>
#include<iostream>
#include<fstream>
#include<string>
#include <windows.h>
using namespace std;
class Course
{private: int courseNumber;
string courseName;
string courseKind;
int coursePeriod;
int schoolPeriod;
int experimentPeriod;
float credithour;
string courseterm;
public: void CourseInfoInput(); //信息输入
void CourseInfoOutPut(); //信息输出
void Search(); //查找信息
void SearchByCredithour(float); //按照学分查找
void SearchByCourseKind(string); //按照课程;类型查找
void SearchByCourseName(string);};
void echo(char* szStr,int t=50)
{ for(int i=0;i<strlen(szStr);i++)
{cout<<szStr[i]; Sleep(t);}} //动态输出结果
const char* coursefile="C:\\course.txt"; //将课程信息定位到C盘下的course.txt中!!!!!!!!!
void Course::CourseInfoInput() //课程信息的录入
{ofstream outcoursefile; //创建一个文件输出流对象
outcoursefile.open(coursefile);
if(!outcoursefile) //判断文件是否存在
{cout << "文件打开失败!"<< endl; return ;}
while(1) //无限循环,给出指定条件退出
{ cout<<"******************************课程信息*******************"<<endl;
cout<<"** 按任意键开始信息录入 **"<<endl;
cout<<"** 输入q退出 **"<<endl;
cout<<"*********************************************************"<<endl;
if(getch()=='q')
{break;}
cout<<"请输入课程编号: "; cin>>courseNumber;
cout<<"请输入课程名称:"; cin>>courseName;
cout<<"请输入课程性质:"; cin>>courseKind;
cout<<"请输入总学时:"; cin>>coursePeriod;
cout<<"请输入授课学时:"; cin>>schoolPeriod;
cout<<"请输入实验&上机学时:"; cin>>experimentPeriod;
cout<<"请输入学分:"; cin>>credithour;
cout<<"请输入开课学期:"; cin>>courseterm;
outcoursefile<<"\t\t\t\t"<<courseNumber<<" "<<courseName<<" "<<courseKind<<" "<<coursePeriod<<" "<<schoolPeriod<<" "<<experimentPeriod<<" "<<credithour<<" "<<courseterm<<endl; }
outcoursefile.close(); //关闭输出流文件
}
void Course::CourseInfoOutPut() //课程信息的浏览
{ ifstream incoursefile; //创建输入流文件对象
incoursefile.open(coursefile); //打开
if(!incoursefile) //判断文件存在
{cout << "文件读取失败"; return ;}
cout <<" 课程编号|课程名称|课程性质|总学时|授课学时|实验上机学时|学分|开课学期\n";
string arrcourse[100][100]; //定义一个string类型的二维数组,用来保存从文本内读取的信息
int line=0;
memset(arrcourse,0,sizeof(arrcourse)); //将数组清空
while(!incoursefile.eof()) //文件不为空的条件设置
{for(int j=0;j<8;j++)
{incoursefile>>arrcourse[line][j];}
line++;}
for(int i=0;i<line;i++)
{for(int j=0;j<8;j++)
{cout << arrcourse[i][j] <<"\t";}
cout << endl;}
incoursefile.close();}
void Course::SearchByCredithour(float tempch)
{ifstream incoursefile; //创建输入流文件对象
incoursefile.open(coursefile); //打开
if(!incoursefile) //判断文件存在
{cout << "文件读取失败"; return ;}
string arrcourse[100][100]; //定义一个string类型的二维数组,用来保存从文本内读取的信息
int line=0;
memset(arrcourse,0,sizeof(arrcourse)); //将数组清空
while(!incoursefile.eof()) //文件不为空的条件设置
{incoursefile>>arrcourse[line][0]>>arrcourse[line][1]>>arrcourse[line][2]>>arrcourse[line][3]>>arrcourse[line][4]>>arrcourse[line][5]>>arrcourse[line][6]>>arrcourse[line][7]; //文件流读取数据
line++;}
cout<< "课程编号|课程名称|课程性质|总学时|授课学时|实验上机学时|学分|开课学期\n";
for(int i=0;i<line;i++)
{if(atof(arrcourse[i][6].c_str())==tempch) //比较
{cout <<" "<<arrcourse[i][0] <<" \t "<< arrcourse[i][1]<<" \t " << arrcourse[i][2]<<" \t "<< arrcourse[i][3]<< "\t " << arrcourse[i][4]<<" \t "<<arrcourse[i][5]<<" \t\t "<<arrcourse[i][6]<< "\t "<<arrcourse[i][7]
<<"\n*********************************************************"<< endl;}}
cout << "\n\n";
incoursefile.close();}
void Course::SearchByCourseKind(string strtemp)///课程类型查询
{ ifstream incoursefile; //创建输入流文件对象
incoursefile.open(coursefile);//打开
if(!incoursefile) //判断文件存在
{cout << "文件读取失败"; return ;}
string arrcourse[100][100];
int line=0;
memset(arrcourse,0,sizeof(arrcourse));
while(!incoursefile.eof())
{incoursefile>>arrcourse[line][0]>>arrcourse[line][1]>>arrcourse[line][2]>>arrcourse[line][3]
>>arrcourse[line][4]>>arrcourse[line][5]>>arrcourse[line][6]>>arrcourse[line][7];
line++;}
cout<< "课程编号|课程名称|课程性质|总学时|授课学时|实验上机学时|学分|开课学期\n";
for(int i=0;i<line;i++)
{if(arrcourse[i][2]==strtemp)
{cout <<" "<<arrcourse[i][0] <<" \t "<< arrcourse[i][1]<<" \t " << arrcourse[i][2]<<" \t "<< arrcourse[i][3]<< "\t " << arrcourse[i][4]<<" \t "<<arrcourse[i][5]<<" \t\t "<<arrcourse[i][6]<< "\t "<<arrcourse[i][7]
<<"\n************************************************************"<< endl;}}
cout << "\n\n";}
void Course::SearchByCourseName(string strtemp1)
{ ifstream incoursefile; //创建输入流文件对象
incoursefile.open(coursefile);//打开
if(!incoursefile) //判断文件存在
{cout << "文件读取失败"; return ;}
string arrcourse[100][100];
int line=0;
memset(arrcourse,0,sizeof(arrcourse));
while(!incoursefile.eof())
{ incoursefile>>arrcourse[line][0]>>arrcourse[line][1]>>arrcourse[line][2]>>arrcourse[line][3]>>arrcourse[line][4]>>arrcourse[line][5]>>arrcourse[line][6]>>arrcourse[line][7];
line++;}
cout<< "课程编号|课程名称|课程性质|总学时|授课学时|实验上机学时|学分|开课学期\n";
for(int i=0;i<line;i++)
{if(arrcourse[i][1]==strtemp1)
{cout <<" "<<arrcourse[i][0] <<" \t "<< arrcourse[i][1]<<" \t " << arrcourse[i][2]<<" \t "<< arrcourse[i][3]<< "\t " << arrcourse[i][4]<<" \t "<<arrcourse[i][5]<<" \t\t "<<arrcourse[i][6]<< "\t "<<arrcourse[i][7]
<<"\n*************************************************************"<< endl;}}
cout << "\n\n";}
void Course::Search()
{while(1)
{ cout << "选择查询方式:" << endl;
cout << "(1).按课程类型查询" << endl;
cout << "(2).按课程名称查询"<<endl;
cout << "(3).按学分查询" << endl;
cout << "(0).返回"<< endl;
int i; cin>>i;
switch(i)
{case 1: cout << "请输入课程类型:\n";
char strtmp[100]; cin >> strtmp;
SearchByCourseKind(strtmp); break;
case 2: cout<<"请输入课程名称:\n";
char strtmp1[100]; cin>>strtmp1;
SearchByCourseName(strtmp1); break;
case 3: cout << "请输入学分:\n";
float ftemp; cin >> ftemp;
SearchByCredithour(ftemp); break;}
if(i==0) {break;} } }
void Students()
{ int n,j,a,w=1,flag=0,i=3;
char s[8]; char password[]="19911219";
do {cout<<("\n\nEnter password:");
j=0;
while(1)
{ a=getch(); if(a==13) break;
s[j]=a; j++;
cout<<("*");}
s[j]='\0';
if(!strcmp(s,password)) //进行密码匹配验证
{ flag=1; break;}
else
{cout<<("\n\nError! You only have %d times! Enter again:\n",i-1)<<endl; i--; } }
while(i>0);
if(!flag)
{cout<<("谢谢您的使用,你已3次输入密码错误!")<<endl; //输入密码超过了3次!!
exit(0); //自动退出
}
Course Excourse;
while(1)
{ echo (" \n\t********************************************************\n",10);
echo ( "\t** 学生登录系统 **\n",10);
echo ( "\t** 请选择操作: **\n",10);
echo ( "\t** (1).浏览课程信息 **\n",10);
echo ( "\t** (2).查询课程信息 **\n",10);
echo ( "\t** (0).退出系统 **\n",10);
echo ( "\t*******************************************************\n",10);
cin>>n; switch(n)
{ case 1:Excourse.CourseInfoOutPut();break;
case 2:Excourse.Search();break;
case 0:exit(0); } }
while(w==1); }
void Mangers()
{ int n,j,a,w=1,flag=0,i=3;
char s[8];
char password[]="19911219";
do { cout<<("\n\nEnter password:"); j=0;
while(1)
{ a=getch();
if(a==13) break; s[j]=a; j++; cout<<("*");}
s[j]='\0';
if(!strcmp(s,password)) //进行密码匹配验证
{ flag=1; break; }
else { cout<<("\n\nError! You only have %d times! Enter again:\n",i-1); i--; }
}
while(i>0);
if(!flag)
{cout<<("\n谢谢您的使用,你已3次输入密码错误!")<<endl; //输入密码超过了3次!!
exit(0); //自动退出
}
Course Excourse; while(1)
{ echo(" \n\t********************************************************\n",10);
echo( "\t** 管理员登录系统 **\n",10);
echo("\t** 请选择操作: **\n",10);
echo( "\t** (1).录入课程信息 **\n",10);
echo("\t** (2).浏览课程信息 **\n",10);
echo("\t** (3).查询课程信息 **\n",10);
echo( "\t** (0).退出系统 **\n",10);
echo( "\t**********************************************************\n",10);
int n; cin>>n; switch(n)
{ case 1:Excourse.CourseInfoInput();break;
case 2:Excourse.CourseInfoOutPut();break;
case 3:Excourse.Search();break;
case 0:exit(0);} }
while(w==1); }
int main()
{for(int i=0;i<1;i++)
{system("color 7A"); Sleep(100); system("color 0C"); Sleep(100);
system("color 18"); Sleep(100); system("color 3D"); Sleep(100);
system("color 4E"); Sleep(100); system("color 5F"); Sleep(100);
system("color 69"); Sleep(100); system("color 2B"); Sleep(100);
}
int n,w=1; do{system("cls");
echo( "\t\t************************MENU***********************\n",10);
echo( "\t\t*** t1.以管理员身份登录 **\n",10);
echo( "\t\t*** t2.以学生身份登录 **\n",10);
echo( "\t\t*** t3.退出 **\n",10);
echo( "\t\t****************************************************\n",10);
cout<<("Chiose your number(1-3):[ ]\b\b");// \b倒退一个字符
cin>>n; switch(n)
{ case 1:Mangers() ;break;
case 2:Students();break;
case 3:w=0;break; default:;} }
while(w==1); return 0;}
- 学生课程选修系统
- 学生选修课程系统
- 学生课程选修--图书管理系统(C++版)第一部分
- 学生课程选修--图书管理系统(C++版)第二部分
- 一道SQL:至少选修了学生002选修的全部课程的学生编号
- 求出选修了所有课程的学生姓名
- 查询选修了全部课程的学生姓名
- SQL学习(5)查询选修全部课程的学生
- 查询选修了全部课程的学生姓名
- SQL查询选修了所有课程的学生姓名
- 查询选修了全部课程的学生姓名
- 数据库操作: 查询选修了所有课程的学生
- 查询选修全部课程的学生姓名和所属单位
- 3.查询至少选修两门课程的学生学号。
- 5.统计选修数据结构课程的学生的平均年龄。
- SQL查询选修了全部课程的学生姓名解析
- SQL-EXIST-查询选修了全部课程的学生姓名
- 查询只选修了一门课程的学生
- 进程同步笔记一
- Actor模型
- 复杂表单应用解耦,淘宝机票订单实践
- 计算机操作系统-第六章
- 云海数量推出到会网:专注会议的大数据服务平台
- 学生选修课程系统
- AOP具体实现
- 操作系统小结
- onvif 笔记一(gsoap)
- 使用Aspose.Pdf处理XML文档生成PDF文件
- 『译』三种东西永远不要放到数据库里
- delphi new dispose create free
- AOP定义和概念
- find命令详解