用VC++写一个学生系统管理,交小弟我方法吧
用VC++写一个学生系统管理,交我方法吧!
确实是我的课程作业,不过以前的老师没怎么讲工程,也没看过以为是大二学的,现在新老师要我们写一个系统,不知道怎么写,比如各个文件放在工程哪里?小组内怎么分配工作。写系统的理念是什么?如果大家能给一些参考资料,我就不胜感激了。我搜索的手段不好,总是找不到好的资源,要不就是网站内部 的。
作业是端口式的
题目:
班级信息:班级编号,班级类别(研究生班,本科生班,专科生班),班级学生人数,学生名,班长,其他班干等
学生档案管理:学号,身份证号,姓名,性别,籍贯,当前状态等。实现一个学生档案管理系统:完成功能:档案创建、修改、删除、查询、删除、查询、统计、排序、等操作。
要求:源文件采用多文件的工程结构
数据存储采用文件形式
哎,大家提点建议吧
------解决方案--------------------
类似的,自己改吧
确实是我的课程作业,不过以前的老师没怎么讲工程,也没看过以为是大二学的,现在新老师要我们写一个系统,不知道怎么写,比如各个文件放在工程哪里?小组内怎么分配工作。写系统的理念是什么?如果大家能给一些参考资料,我就不胜感激了。我搜索的手段不好,总是找不到好的资源,要不就是网站内部 的。
作业是端口式的
题目:
班级信息:班级编号,班级类别(研究生班,本科生班,专科生班),班级学生人数,学生名,班长,其他班干等
学生档案管理:学号,身份证号,姓名,性别,籍贯,当前状态等。实现一个学生档案管理系统:完成功能:档案创建、修改、删除、查询、删除、查询、统计、排序、等操作。
要求:源文件采用多文件的工程结构
数据存储采用文件形式
哎,大家提点建议吧
------解决方案--------------------
类似的,自己改吧
- C/C++ code
#include<iostream> #include<string> #include<iomanip> #include<cstddef> #include<cstdlib> using namespace std; struct Teachergongzi { string department; int teacherNO; string name; float base_salary; float post_salary; float bonus; Teachergongzi *next; }; typedef Teachergongzi* TeacherGZ; //去掉换行符 void new_line() { char symbol; do{ cin.get(symbol); }while(symbol!='\n'); } //创建链表 void Create(TeacherGZ &head) { TeacherGZ top; top=new Teachergongzi; top->next=NULL; cout<<"\n\n请输入您的系别/部门:"; cin>>top->department; cout<<"\n请输入您的学号:"; cin>>top->teacherNO; cout<<"\n请输入您的姓名:"; cin>>top->name; cout<<"\n请输入您QQ:"; cin>>top->base_salary; cout<<"\n请输入您的E-mail:"; cin>>top->post_salary; cout<<"\n请输入您的预存金额(每次消费后减去消费额):"; cin>>top->bonus; top->next=head; head=top; } //查找 TeacherGZ Lookup(TeacherGZ head) { TeacherGZ here=head; int no,number; string trs; if(here==NULL) { cout<<"\t\t现无任何记录!\n"; } else { cout<<"\n1.按姓名 2.按学号"; cout<<"\n\n请选择:"; cin>>no; switch(no) { case 1: cout<<"\n\n请输入要查找的姓名:"; cin>>trs; while(here->name!=trs&&here->next!=NULL) here=here->next; if(here->name==trs) { cout<<"------------------------------------"<<endl; cout<<"系别"<<" | "<<"学号"<<" | "<<"姓名"<<"| "<<"QQ号码"<<"|"<<"E-mail" <<"| "<<"存有金额"<<endl; cout<<head->department<<" | "<<head->teacherNO<<" | "<<head->name<<"| " <<head->base_salary<<" | "<<head->post_salary<<" | "<<head->bonus<<endl; cout<<"------------------------------------"<<endl<<endl; } else cout<<"\n查无此教师记录,请重输!\n\n"; break; case 2: cout<<"\n\n请输入要查找的教师号:"; cin>>number; while(here->teacherNO!=number&&here->next!=NULL) here=here->next; if(here->teacherNO==number) { cout<<"------------------------------------"<<endl; cout<<"系别"<<" | "<<"学号"<<" | "<<"姓名"<<"| "<<"QQ号码"<<"|"<<"E-mail" <<"| "<<"存有金额"<<endl; cout<<head->department<<" | "<<head->teacherNO<<" | "<<head->name<<"| " <<head->base_salary<<" | "<<head->post_salary<<" | "<<head->bonus<<endl; cout<<"------------------------------------"<<endl<<endl; } else cout<<"\n查无此会员记录,请重输!\n\n"; break; default: cout<<"\n输入数据错误,请重输!\n\n"; } } return here; } //修改 void Modify(TeacherGZ head) { TeacherGZ temp=head; int no,number; string trs; if(temp==NULL) { cout<<"\t\t现无任何记录!\n"; } else { cout<<"\n\n1.按姓名 2.按会员号"; cout<<"\n\n请选择:"; cin>>no; switch(no) { case 1: cout<<"\n\n请输入要修改的姓名:"; cin>>trs; while(temp->name!=trs&&temp->next!=NULL) temp=temp->next; if(temp->name==trs) { cout<<"\n\n请输入要修改的数据:"<<endl; cout<<"请输入您的系别/部门:"; cin>>temp->department; cout<<"请输入您的学号:"; cin>>temp->teacherNO; cout<<"请输入您的姓名:"; cin>>temp->name; cout<<"请输入您的QQ:"; cin>>temp->base_salary; cout<<"请输入您的E-mail:"; cin>>temp->post_salary; cout<<"请输入您的预存金额(每次消费后减去消费额):"; cin>>temp->bonus; } else cout<<"\n查无此会员记录,请重输!\n\n"; break; case 2: cout<<"\n\n请输入要修改的学号:"; cin>>number; while(temp->teacherNO!=number&&temp->next!=NULL) temp=temp->next; if(temp->teacherNO==number) { cout<<"\n\n请输入要修改的数据:"<<endl; cout<<"请输入您的系别/部门:"; cin>>temp->department; cout<<"请输入您的学号:"; cin>>temp->teacherNO; cout<<"请输入您的姓名:"; cin>>temp->name; cout<<"请输入您的QQ:"; cin>>temp->base_salary; cout<<"请输入您的E-mail:"; cin>>temp->post_salary; cout<<"请输入您的预存金额(每次消费后减去消费额):"; cin>>temp->bonus; } else cout<<"\n查无此会员记录,请重输!\n\n"; break; default: cout<<"\n输入数据错误,请重输!\n\n"; } } } //删除 int Delete(TeacherGZ head) { TeacherGZ before,discard; int no,number; string trs; if(head==NULL) { cout<<"\t\t现无任何记录!\n"; return 0; } else { discard=head; cout<<"\n\n1.按姓名 2.按学号"; cout<<"\n\n请选择:"; cin>>no; switch(no) { case 1: cout<<"\n\n请输入要删除的姓名:"; cin>>trs; while(discard->name!=trs&&discard->next!=NULL) { before=discard; //before指向当前节点 discard=discard->next; //discard指向下一个节点 } if(discard->name==trs) { if(discard==head) //如找到的节点为第一个节点 head=discard->next; //则head使指向第二个节点 else //否则使before所指节点的指针指向下一个节点*/ before->next=discard->next; delete discard; cout<<"\t\t此学号已被删除!\n"; return (1); } else cout<<"\n无此会员记录,请重输!\n\n"; break; case 2: cout<<"\n\n请输入要删除的学号:"; cin>>number; while(discard->teacherNO!=number&&discard->next!=NULL) { before=discard; //before指向当前节点 discard=discard->next; //discard指向下一个节点 } if(discard->teacherNO==number) { if(discard==head) //如找到的节点为第一个节点 head=discard->next; //则head使指向第二个节点 else //否则使before所指节点的指针指向下一个节点*/ before->next=discard->next; delete discard; cout<<"\t\t此学号已被删除!\n"; return (1); } else cout<<"\n无此会员记录,请重输!\n\n"; break; default: cout<<"\n输入数据错误,请重输!\n\n"; } return 0; } } //借书数据????没完成 int xiaofei(TeacherGZ head) { int shuliang; cout<<"请输入会员姓名:"; cout<<"请输入借书日期:"; cout<<"请输入书名:"; cout<<"1.输入完毕.2还有一本."; cin>>shuliang; if(shuliang==2) cout<<"请输第2本书名:"; return 0; } //消费查询 //消费积分排序 //写入读出文件 //输出数据 int Output(TeacherGZ head) { if(head==NULL) { cout<<"\t\t现无任何记录!\n"; return 0; } else while(head!=NULL) { cout<<"------------------------------------"<<endl; cout<<"系别"<<" | "<<"学号"<<" | "<<"姓名"<<"| "<<"QQ号码"<<"|"<<"E-mail" <<"| "<<"存有金额"<<endl; cout<<head->department<<" | "<<head->teacherNO<<" | "<<head->name<<"| " <<head->base_salary<<" | "<<head->post_salary<<" | "<<head->bonus<<endl; cout<<"------------------------------------"<<endl; head=head->next; cout<<endl; return 0; } } //销毁链表 /*void Destroy(TeachersalaryPtr head) { TeachersalaryPtr pre,sat; pre=head; while(pre!=0) { sat=pre; //指针sat记录待销毁节点 pre=pre->next; delete sat; } }*/ int main() { TeacherGZ head=NULL; int sel=1; cout<<"\n\n ---------------------------------------------\n"; cout<<"\t\t* 欢迎使用《新新书屋》图书出租管理系统 *\n" <<"\t\t* 设计者 (自己加上) *\n" <<"\t\t* 班级 (XXX自己加上) *\n" <<"\t\t* 学号:(自己...) *\n"; cout<<" ---------------------------------------------\n\n"; while(sel!=0) { cout<<"\t\t*********************************************\n" <<"\t\t* 1.新会员注册 2.查找会员信息 *\n" <<"\t\t* 3.修改会员信息 4.删除会员信息 *\n" <<"\t\t* 5.会员积分排行 6.查看会员消费 *\n" <<"\t\t* 7.会员借书管理 0.退出操作 *\n" <<"\t\t*********************************************\n" <<"\n\n请选择您所需要的功能:"; cin>>sel; switch(sel){ case 1: Create(head); break; case 2: Lookup(head); break; case 3: Modify(head); break; case 4: Delete(head); break; case 6: Output(head); break; case 0: sel=0; cout<<"\n谢谢您的使用!\n"; break; } } return 0; }