简单的课程信息管理(文本文件操作,c++)
2009-07-14 11:48
295 查看
数据追加方面还待解决。马马虎虎写的。以后改进。
#include<iostream> #include<fstream> using namespace std; /*默认文件是student.data"*/ #define N 100 struct Course { int num; char name[100]; char mayor[100]; char kind[100]; int time; int fen; }; Course course ; int n; Course temp; //输入到文件 void InputToFile() { //如果不存在则创建 int i; fstream fs; fs.open("student.data",ios::out); for(i=0;i<n;i++) { temp=course[i]; fs<<temp.num<<" "<<temp.name<<" "<<temp.mayor<<" "<<temp.kind<<" "<<temp.time<<" "<<temp.fen<<" "; } fs.close(); } void OutputFromFile() { fstream onfile; onfile.open("student.data",ios::in); if(!onfile) { cout<<"文件不存在"<<endl; return ; } n=0; while(onfile>>course .num) { onfile>>course .name>>course .mayor>>course .kind>>course .time>>course .fen; n++; } onfile.close(); } //显示 void Display() { int i; OutputFromFile(); if(n==0) {cout<<"暂无记录"<<endl;return;} cout<<"课程号 课程名 所属专业 性质 学时 学分"<<endl; for(i=0;i<n;i++) { cout<<course[i].num<<" "<<course[i].name<<" "<<course[i].mayor<<" "<<course[i].kind<<" "<<course[i].time<<" "<<course[i].fen<<endl; } } //增加数据 void AddData() { cout<<"请按(课程号 课程名 所属专业 性质 学时 学分)格式输入一条记录"<<endl; cout<<"当学号为-1时退出"<<endl; n=0; do { cin>>temp.num; if(temp.num==-1) break; cin>>temp.name>>temp.mayor>>temp.kind>>temp.time>>temp.fen; // InputToFile(0); course[n++]=temp; }while(true); InputToFile(); } //修改数据 void ModifyData() { cout<<"请输入你要修改的课程号"<<endl; cin>>temp.num; OutputFromFile(); int i,t; t=-1; for(i=0;i<n;i++) { if(temp.num==course[i].num) {t=1;break;} } if(t==-1) {cout<<"不存在该课程号"<<endl;return;} cout<<"查找成功,请输入你要修成的信息,按(课程号 课程名 所属专业 性质 学时 学分)格式输入"<<endl; cin>>course[i].num>>course[i].name>>course[i].mayor>>course[i].kind>>course[i].time>>course[i].fen; for(i=0;i<n;i++) { temp=course[i]; InputToFile(); } } //查询数据 void Search() { OutputFromFile(); int i,choose; cout<<"1.按课程名查询"<<endl; cout<<"other.按专业查询"<<endl; cin>>choose; if(choose==1) { cout<<"请输入课程名"<<endl; cin>>temp.name; for(i=0;i<n;i++) { if(strcmp(temp.name,course[i].name)==0) { temp=course[i]; break; } } } else { cout<<"请输入专业"<<endl; cin>>temp.mayor; for(i=0;i<n;i++) { if(strcmp(temp.mayor,course[i].mayor)==0) { temp=course[i]; break; } } } if(i==n) {cout<<"无此信息"<<endl;return;} else { cout<<"查找成功"<<endl; cout<<temp.num<<" "<<temp.name<<" "<<temp.mayor<<" "<<temp.kind <<" "<<temp.time<<" "<<temp.fen<<endl; } } int main() { int choose; do { cout<<"1.浏览数据"<<endl; cout<<"2.增加数据"<<endl; cout<<"3.修改数据"<<endl; cout<<"4.查询数据"<<endl; cout<<"other.退出"<<endl; cin>>choose; if(choose==1) Display(); else if(choose==2) AddData(); else if(choose==3) ModifyData(); else if(choose==4) Search(); else break; }while(true); return 0; }
相关文章推荐
- 编程作业 简单的学生信息处理程序实现[北京大学C++课程]
- 程序阅读:简单C++学生信息管理系统
- c++ stl list实现简单的学生信息管理系统
- C++实现简单的职工信息管理系统
- 简单的学生信息处理程序实现 (Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;OpenJudge)
- 学生信息管理系统(简单列表操作)
- c++ stl list实现简单的学生信息管理系统
- C++项目(1):学生信息管理系统(简单教学版)
- 【C++】MFC 创建对话框,实现对课程信息和学生信息的管理
- 第九周项目零:阅读程序(1):简单C++学生信息管理系统
- C++课程设计:职工综合信息管理系统
- linux下c/c++实例之十五简单的学生信息管理系统
- 第8周-项目0-简单C++学生信息管理系统
- C++实现简单的信息管理系统
- C++课程设计:学生信息管理系统
- C++ 简单的学生信息管理系统
- 16级C++课程设计 题目1 “高校人员信息管理系统设计”
- 关于c++ 课程设计(学生信息管理系统)
- Window API (五)内存操作与信息管理