小深给大家谈谈学校宿舍6t管理表如何填,以及宿舍6t管理建设应用的知识点,希望对你所遇到的问题有所帮助。
学校宿舍6t管理表如何填 宿舍6t管理建设
学校宿舍6t管理表如何填 宿舍6t管理建设
学校宿舍6t管理表如何填 宿舍6t管理建设
1、宿舍管理,没什么好玩的,就是繁琐,很多东西需要你细化,而且一般要求为交互式平台,而且选项多,出错处较多,排错就是一个相当大的工程。
2、我写的这个里面没有太多的排错功能,因为那东西就是烦而已,多几个if 判断下而已,因为烦的慌,觉得也没啥意思,就没细细的写,粗略的写了几个。
3、 查询也是只写了按学号查询,是用的折半查找。
4、排序是用的快速排序,因为时间消耗比较小,喏,那是上个排序综合里有的,所以写这个就用的那个里的快速排序,很简单,就是对copy下而已,改下结构体,complete!呵呵,程序如下:头文件里的:struct student{char name[10];int num;int dormin;};cpp文件:// 宿舍管理flag=i;.cpp : 定义控制台应用程序的入口点。
5、//////////////////////////////////////////////////////////////////////////8、宿舍管理查询软件()任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续作)//////////////////////////////////////////////////////////////////////#include "stdafx.h"#includeusing namespace std;#define max 10int _tmain(int argc, _TCHAR argv[]){void input(student ,int);void display(student ,int);void add(student ,int &,int);void qsort(student ,int,int);void del(student ,char ,int &);void change(student ,char ,int );void search(student ,int,int,int);int stunum,choose;ifstream infile("stunum.txt");if(!infile) couse infile>>stunum;infile.close();char name[10];coutcoutcoutcoutcoutwhile(1){coutcoutcoutcoutcoutcoutcoutcin>>choose;student S;S=new student[max];switch(choose){ case 1:{coutbool yn=0;char temp;cin>>temp;if(temp=='y') yn=1;if(yn){cout cin>>stunum; input(S,stunum);ofstream outfile("stunum.txt");outfileoutfile.close();break;}}case 2:display(S,stunum);break;case 3:{int cchoose;cout cout cin>>cchoose; switch(cchoose) {case 1:{cout>name;change(S,name,stunum);break;}case 2:{int ad;cout>ad;add(S,stunum,ad);brint Total; //学生总数eak;}case 3:{cout>name;del(S,name,stunum);break;}break;}break;}case 4:{cout int cchoose;cin>>cchoose;search(S,0,stunum,cchoose); break;}case 5:{ifstream infile("stur.txt",ios::in); for(int i=0;i infile>>S[i].name>>S[i].num>>S[i].dormin; qsort(S,0,stunum-1); ofstream outfile("sorted_r.txt"); for(int i=0;i coutoutfile.close();infile.close();break;}case 6:cout}ofstream outfile("stunum.txt");outfileoutfile.close();return 0;}void input(student stu,int all){ofstream outfile("stur.txt");for(int i=0;i{cout cin>>stu[i].name>>stu[i].num>>stu[i].dormin; outfile}outfile.close();}void display(student stu,int all){ifstream infile("stur.txt",ios::in);if(!infile) cerrelse{for(int i=0;i{cout infile>>stu[i].name>>stu[i].num>>stu[i].dormin; cout}infile.close();}}void add(student stu,int &all,int add){ofstream outfile("stur.txt",ios::app);for(int i=0;i{coutcin>>stu[all+i].name>>stu[all+i].num>>stu[all+i].dormin;outfile}all+=add;outfile.close();}//快速排序int partition(student a,int low,int high){student tem;int piv=a[low].num;while(high>low){while(high>low&&a[high].num>=piv) high--;tem=a[high];a[high]=a[low];a[low]=tem;while(high>low&&a[low].numtem=a[high];a[high]=a[low];a[low]=tem;}return low;}void qsort(student a,int low,int high){int pivotloc;if(low{ pivotloc=partition(a,low,high); qsort(a,low,pivotloc-1); qsort(a,pivotloc+1,high);}}void del(student stu,char name,int &num){int delper;char check;ifstream infile("stur.txt"); for(int i=0;i { infile>>stu[i].name>>stu[i].num>>stu[i].dormin; if(strcmp(name,stu[i].name)==0) delper=i;}coutcoutcoutcin>>check;ofstream outfile("stur.txt");if(check=='y'||'Y'){for(int i=delper;inum--;for(int i=0;icoutinfile.close();outfile.close();}void change(student stu,char name,int num){int change;char check,nam[10];int cn,cd;ifstream infile("stur.txt"); for(int i=0;i { infile>>stu[i].name>>stu[i].num>>stu[i].dormin; if(strcmp(namflag=i;e,stu[i].name)==0) change=i; }coutcoutcoutcin>>check;ofstream outfile("stur.txt");if(check=='y'||'Y'){coutcin>>nam>>cn>>cd;strcpy(stu[change].name,nam);stu[change].num=cn;stu[change].dormin=cd;for(int i=0;ioutfilecoutinfile.close();{int mid=(low+high)/2;ifstream infile("sorted_r.txt");if(!infile) cerrelse {for(int i=0;i>stu[i].name>>stu[i].num>>stu[i].dormin;while(stu[mid].num!=check&&high>=low) {mid=(low+high)/2;if(stu[mid].num>check) high=mid-1;else low=mid+1;}//折半查找}if(stu[mid].num==check){coutcout}。
本文到这结束,希望上面文章对大家有所帮助。
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。