学术休假-学生信息管理系统v1.0
来源:互联网 发布:引用js文件加上时间戳 编辑:程序博客网 时间:2024/04/25 20:21
这是第一个学术休假的项目,主体部分在回家时的火车上完成的,隔了几天继续加工,今天终于完成,这是学生管理系统的beta版本,后续还将继续完善。
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)学生信息录入功能(学生信息用文件保存)---输入
(3)学生信息浏览功能---输出
(4)查询、排序功能
按学号查询
按姓名查询
(5)学生信息的删除与修改(可选项)
/* *Copyright (c) 2015,烟台大学计算机学院 *All gight reserved. *文件名称:temp.cpp *作者:邵帅 *完成时间:2015年1月19日 *版本号:v1.0*/#include<fstream>#include<iostream>#include<cstdlib>#include<string>using namespace std;void showmeun(void);int name_search(string ,int );int num_search(string ,int );void showinfo(int num);void showchange(void);int open(void);void save(int num);struct Student{ string number; string name; string old; string sex; string birthday; string add; string phone; string mail;}; //档案结构体Student stu[8000];int main(){ int choice,i; string numkey,namekey; int num=0,add,addsum,cut; while (1) { num=open(); showmeun();//打开开始菜单 cin>>choice; if (choice==0) { cout<<"感谢使用@Mayuko学生管理系统!"<<endl; break; } else if (choice==1) { cout<<"请输入学生的学号:"; cin>>numkey; i=num_search(numkey,num); if (i==-1) { cout<<"无此学生信息!"<<endl; continue; } else showinfo(i); cout<<endl; } else if (choice==2) { cout<<"请输入学生的姓名:"; cin>>namekey; i=name_search(namekey,num); if (i==-1) { cout<<"无此学生信息!"<<endl; continue; } else showinfo(i); cout<<endl; } else if (choice==3) { cout<<"学生的信息如下:"<<endl; for (i=0; i<num; i++) { showinfo(i); cout<<endl; } } else if (choice==4) { cout<<"请输入写入的个数;"; cin>>addsum; cout<<"请依次输入学生的学号、姓名、年龄、性别(M or F)、出生年月、地址、电话、E—mail"<<endl; cout<<"列如:201401 晓凡 18 M 19961218 地球村 17862817891 xiaofan@163.com"<<endl; //打开文件 ofstream outfile("students.txt",ios::app); if (!outfile) { cout<<"打开文件失败!"; exit(1); } num+=addsum; for (add=num; add<(addsum+num); add++) { cin>>stu[add].number>>stu[add].name>>stu[add].old>>stu[add].sex>>stu[add].birthday>>stu[add].add>>stu[add].phone>>stu[add].mail; outfile<<stu[add].number<<" "<<stu[add].name<<" "<<stu[add].old<<" "<<stu[add].sex<<" "<<stu[add].birthday<<" "<<stu[add].add<<" "<<stu[add].phone<<" "<<stu[add].mail<<endl; } outfile.close(); cout<<"写入结束!共写入"<<addsum<<"条记录,现共有"<<num<<"条记录。"<<endl; //文件写入结束 } else if (choice==5) { cout<<"请输入要修改学生的学号:"; cin>>numkey; i=num_search(numkey,num); cout<<"您正在修改“"; showinfo(i); cout<<"”的信息"<<endl; showchange(); cin>>cut; cout<<"请输入修改的内容:"; while (1) { if (cut==1) cin>>stu[i].number; else if (cut==2) cin>>stu[i].name; else if (cut==3) cin>>stu[i].old; else if (cut==4) cin>>stu[i].sex; else if (cut==5) cin>>stu[i].birthday; else if (cut==6) cin>>stu[i].add; else if (cut==7) cin>>stu[i].phone; else if (cut==8) cin>>stu[i].mail; else { cout<<"输入错误,即将返回"<<endl; break; } save(num); cout<<"修改成功!"<<endl; break; } } } return 0;}int open(void){ int num=0; ifstream infile("students.txt",ios::in); if (!infile) { cout<<"打开文件失败!"; exit(1); } while (infile>>stu[num].number) { infile>>stu[num].name; infile>>stu[num].old; infile>>stu[num].sex; infile>>stu[num].birthday; infile>>stu[num].add; infile>>stu[num].phone; infile>>stu[num].mail; num++; } infile.close(); //文件读取结束 return num;}void save(int num){ int add; ofstream outfile("students.txt",ios::out); if (!outfile) { cout<<"打开文件失败!"; exit(1); } for (add=0; add<num; add++) { outfile<<stu[add].number<<" "<<stu[add].name<<" "<<stu[add].old<<" "<<stu[add].sex<<" "<<stu[add].birthday<<" "<<stu[add].add<<" "<<stu[add].phone<<" "<<stu[add].mail<<endl; } outfile.close();}void showmeun(void){ cout<<"-----------------"<<endl; cout<<"学生信息管理系统"<<endl; cout<<"-----------------"<<endl; cout<<"1、按学号查找"<<endl; cout<<"2、按姓名查找"<<endl; cout<<"3、学生信息浏览"<<endl; cout<<"4、学生信息录入"<<endl; cout<<"5、修改学生信息"<<endl; cout<<"请选择功能(键入0退出):";}void showchange(void){ cout<<"--------------"<<endl; cout<<"1-学号"<<endl; cout<<"2-姓名"<<endl; cout<<"3-年龄"<<endl; cout<<"4-性别"<<endl; cout<<"5-出生年月"<<endl; cout<<"6-地址"<<endl; cout<<"7-电话"<<endl; cout<<"8-E-mail"<<endl; cout<<"--------------"<<endl; cout<<"请输入要修改的选项:";}void showinfo(int num){ cout<<stu[num].number<<" "<<stu[num].name<<" "<<stu[num].old<<" "<<stu[num].sex<<" "<<stu[num].birthday<<" "<<stu[num].add<<" "<<stu[num].phone<<" "<<stu[num].mail;}int name_search(string key,int n){ int i; for (i=0; i<n; i++) { if (key==stu[i].name) return i; } return i;}int num_search(string key,int n){ int i=-1; for (i=0; i<n; i++) { if (key==stu[i].number) return i; } return i;}运行结果:
另外,temp文件夹的文件“students.txt”文件截图:
@ Mayuko
2 0
- 学术休假-学生信息管理系统v1.0
- 学术休假-银行储蓄系统
- 学术休假之银行储蓄系统
- 学术休假项目七:大奖赛记分系统
- 学生信息管理系统
- 学生学籍信息管理系统
- 学生信息管理系统
- 学生信息管理系统
- 学生成绩信息管理系统
- 学生信息管理系统
- 【学生信息管理系统 总结】
- 学生信息管理系统--毕业论文
- 学生信息管理系统
- 学生信息管理系统
- 学生信息管理系统~~~~~
- 学生信息管理系统
- 学生信息管理系统总结
- 学生信息管理系统
- hdu 2191 珍惜现在,感恩生活 DP
- gpu排序
- java中的进制转换
- FLV文件结构解析
- android ViewHolder 封装写法
- 学术休假-学生信息管理系统v1.0
- 如何在线安装Eclipse SWT插件
- uytrum ti
- Could not load the image referenced from a nib in the bundle
- Q.3.3 SetOfStacks
- Linux下生成动态链接库是否必须使用 -fPIC 的问题
- 模式识别的应掌握的数学基础(转)
- CF 505A Mr. Kitayuta&amp;#39;s Gift(暴力)
- hadoop-java:计算平均值分布式程序编写