Student Information System
来源:互联网 发布:英镑符号 mac系统 编辑:程序博客网 时间:2024/06/06 04:28
学生信息管理系统1.0
this project is a practice from my friend, just at your study reference materials
#include<iostream>#include<iomanip>#include<string>#include<fstream>#include<cstdlib>#include<Windows.h>using namespace std;struct Student{ int no; string num_stu; string name; string age; string sex; string address; string num_phone; string num_room;}b[1000];int sum = 0;//functionsvoid display();void menu();void readin();void outprint(int n);void enterin();void modify_student();void delete_student();void savein();void search();void pb(int i);void p();bool advancedsearch(string str1, string str2);int main(){ system("color 75"); MessageBoxA(0, "Welcome", "学生信息管理系统!", 1); display(); system("pause"); return 0;}void display(){ int n; menu(); while (cin >> n, n != 0) { readin(); switch (n) { case 1:enterin(); break; case 2:outprint(sum); break; case 3:search(); break; case 4:modify_student(); break; case 5:delete_student(); break; case 0: break; default: break; } system("pause"); system("cls"); menu(); }}//readin all book datavoid readin(){ ifstream fin; ofstream fout; int i; fin.open("student.txt"); if (!fin.is_open()) { MessageBoxA(0, "Could not open the file student.txt", "Program terminating", 1); system("pause"); exit(EXIT_FAILURE); //exit the program;using <cstdlib> } i = 0; sum = 0; while (fin >> b[i].no) { fin >> b[i].num_stu; fin >> b[i].name; fin >> b[i].age; fin >> b[i].sex; fin >> b[i].address; fin >> b[i].num_phone; fin >> b[i].num_room; i++; sum++; }}//ouotput book listvoid outprint(int n){ cout << setiosflags(ios::left) << setw(8) << "序号" << setw(16) << "学号" << setw(16) << "姓名" << setw(8) << "年龄" << setw(10) << "性别" << setw(16) << "家庭住址" << setw(16) << "联系电话" << setw(16) << "寝室房间号" << endl; for (int i = 0; i < n; i++) { pb(i); }}//input booksvoid enterin(){ int t, i; bool flag = false; ifstream fin; ofstream fout; fout.open("student.txt", ios::app); if (!fout.is_open()) { MessageBoxA(0, "Could not open the file student.txt", "Program terminating", 1); system("pause"); exit(EXIT_FAILURE); //exit the program;using <cstdlib> } cout << "请输入添加的人数: "; cin >> t; while (t--) { cout << "输入学生的:" << endl; cout << "学号、姓名、年龄、性别、家庭住址、联系电话、寝室号" << endl; i = sum + 1; if (flag == false) { cin.clear(); while (cin.get() != '\n') continue; flag = true; } cout << "学号" << endl; getline(cin, b[i].num_stu); cout << "姓名" << endl; getline(cin, b[i].name); cout << "年龄" << endl; getline(cin, b[i].age); cout << "性别" << endl; getline(cin, b[i].sex); cout << "家庭住址" << endl; getline(cin, b[i].address); cout << "联系电话" << endl; getline(cin,b[i].num_phone); cout << "寝室号" << endl; getline(cin,b[i].num_room); b[i].no = i + 1; cout << "录入一个学生的信息如下:" << endl; fout << b[i].no << "\t" << b[i].num_stu << "\t" << b[i].name << "\t" << b[i].age << "\t" << b[i].sex << "\t" << b[i].address << "\t" << b[i].num_phone << "\t" << b[i].num_room << endl; cout << b[i].no << "\t" << b[i].num_stu << "\t" << b[i].name << "\t" << b[i].age << "\t" << b[i].sex << "\t" << b[i].address << "\t" << b[i].num_phone << "\t" << b[i].num_room << endl; i++; sum++; }}//change student datavoid delete_student(){ outprint(sum); int a, i; cout << "输入要删除学生的编号: " << endl; cin >> a; a--; for (i = a; i < sum; i++) { b[i].num_stu = b[i + 1].num_stu; b[i].name = b[i + 1].name; b[i].age = b[i + 1].age; b[i].sex = b[i + 1].sex; b[i].address = b[i + 1].address; b[i].num_phone = b[i + 1].num_phone; b[i].num_room = b[i + 1].num_room; } b[sum].no = NULL; b[sum].num_stu = '\0'; b[sum].name = '\0'; b[sum].age = '\0'; b[sum].sex = '\0'; b[sum].address = '\0'; b[sum].num_phone = '\0'; b[sum].num_room = '\0'; sum--; cout << "删除成功!-_-!" << endl; savein();}void modify_student(){ //修改学生的信息 outprint(sum); int a; cout << "输入要修改学生的编号: " << endl; cin >> a; a--; cout << "请重新输入要修改的学生的信息:" << endl; cout << "输入学生的:学号、姓名、年龄、性别、家庭住址、联系电话、寝室号" << endl; cin >> b[a].num_stu; cin >> b[a].name; cin >> b[a].age; cin >> b[a].sex; cin >> b[a].address; cin >> b[a].num_phone; cin >> b[a].num_room; cout << "Modify Succeed , you can go on!" << endl; savein();}//save all student datavoid savein(){ ifstream fin; ofstream fout; int i; fout.open("student.txt"); for (i = 0; i < sum; i++) { fout << b[i].no << "\t" << b[i].name << "\t" << b[i].num_stu << "\t" << b[i].name << "\t" << b[i].age << "\t" << b[i].sex << "\t" << b[i].address << "\t" << b[i].num_phone << "\t" << b[i].num_room << endl; } //cout << "saved" << endl;}//searchvoid search(){ string str; string st[30]; int i, j, flag = 0, k, l, m, n; cout << "1)普通搜索\n2)模糊搜索" << endl; <span style="background-color: rgb(51, 204, 255);"> <em>//amazing code for first learner</em></span> cin >> j; if (j == 1)//common search { cout << "输入搜索信息:" << endl; cin.clear(); while (cin.get() != '\n') continue; getline(cin, str); //search for (i = 0; i < sum; i++) { if (b[i].num_stu == str) { pb(i); flag++; } else if (b[i].name == str) { pb(i); flag++; } else if (b[i].age == str) { pb(i); flag++; } else if (b[i].sex == str) { pb(i); flag++; } else if (b[i].address == str) { pb(i); flag++; } else if (b[i].num_phone == str) { pb(i); flag++; } else if (b[i].num_room == str) { pb(i); flag++; } } cout << "共 " << flag << " 个学生" << endl; } else if (j == 2)//advanced search { cout << "输入搜索信息(中文):\n"; //------------------- cin.clear(); while (cin.get() != '\n') continue; //------------------ getline(cin, str); for (i = 0; i < sum; i++) { if (advancedsearch(str, b[i].name)) { pb(i); flag++; } else if (advancedsearch(str, b[i].sex)) { pb(i); flag++; } else if (advancedsearch(str, b[i].address)) { pb(i); flag++; } } cout << "共 " << flag << " 个学生" << endl; } else { cout << "输入错误,返回主菜单。" << endl; }}void pb(int i){ cout << setw(8) << i << setw(16) << b[i].num_stu << setw(16) << b[i].name << setw(8) << b[i].age << setw(10) << b[i].sex << setw(16) << b[i].address << setw(16) << b[i].num_phone << setw(16) << b[i].num_room << endl;}bool advancedsearch(string str1, string str2){ int i, j, l, m, n; bool flag = false; string st[30]; //Chinese sum l = str1.length(); //split input for (i = 0, j = 0; j < l; j += 2, i++) { st[i] = st[i].assign(str1, j, 2); } //compare for (m = 0; m < i; m++) { if (str2.find(st[m], 0) == -1) break; flag = true; } return flag;}void menu(){ cout << "|---------------------------------------------------|" << endl; cout << "| This is a system about student information |" << endl; cout << "| |" << endl; cout << "| 1.录入学生个人信息 |" << endl; cout << "| 2.输出学生个人信息 |" << endl; cout << "| 3.查询学生个人信息 |" << endl; cout << "| 4.学生信息修改 |" << endl; cout << "| 5.学生信息删除 |" << endl; cout << "| 0)退出 |" << endl; cout << "| |" << endl; cout << "|---------------------------------------------------|" << endl; cout << endl;}
它仍然不完善,希望初学者可以作为参考,写出艺术的代码
欢迎大家指正 :)
0 0
- Student Information System
- JavaScript:student-information-system-node-express-mongoose 学生信息管理系统
- Information System
- Student Management System
- student management system
- Student Registration System
- Student achievement management system
- Student management system
- System Volume Information
- System Volume Information 文件夹
- HIS (Hospital Information System)
- Get System Drives Information
- System Information Functions
- System Volume Information
- Get Android System Information
- 删除System Volume Information
- system volume information
- IWS(Information Web System)
- 怎样理解阻塞非阻塞与同步异步的区别?
- 第七周 项目3-负数把正数赶出队列
- 初探SocialFramework和UIActivityViewController
- [11]Container With Most Water
- Android 事件分发机制完全解析(续)
- Student Information System
- 黑马程序员———C语言 函数
- 光照模型的计算方式总结(1.Diffuse分量2.Specular分量 Phong model和Blinn-Phong model (Or Blinn))
- 稀疏矩阵的三元组表示的实现及应用(一)
- MVC经典实例
- UITableView重要点整理
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(1)
- php文件操作
- AIDL初探(本地、进程)