學生宿舍管理信息系統課程設計
① sql 學生宿舍管理系統課程設計
這個應該不難啊 ,有規定用什麼來寫么,還是就設計資料庫而已
② vfp課設學生宿舍管理系統的設計和實現
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
ShowForm();
break;
default:
break;
}
base.WndProc(ref m);
}
③ 學生寢室管理系統設計與實現 數據結構
宿舍管理,沒什麼好玩的,就是繁瑣,很多東西需要你細化,而且一般要求為互動式平台,而且選項多,出錯處較多,排錯就是一個相當大的工程。我寫的這個裡面沒有太多的排錯功能,因為那東西就是煩而已,多幾個if 判斷下而已,因為煩的慌,覺得也沒啥意思,就沒細細的寫,粗略的寫了幾個。 查詢也是只寫了按學號查詢,是用的折半查找。排序是用的快速排序,因為時間消耗比較小,喏,那是上個排序綜合里有的,所以寫這個就用的那個里的快速排序,很簡單,就是對下而已,改下結構體,complete!呵呵,程序如下:頭文件里的:struct student
{
char name[10];
int num;
int dormin;
};cpp文件:// 宿舍管理.cpp : 定義控制台應用程序的入口點。
//
///////////////////////////////////////////////////////////////////////
/*8、宿舍管理查詢軟體(**)
任務:為宿舍管理人員編寫一個宿舍管理查詢軟體, 程序設計要求:
(1)採用交互工作方式
(2)可以增加、刪除、修改信息
(3)建立數據文件 ,數據文件按關鍵字(姓名、學號、房號)進行排序(選擇、快速排序、堆排序等任選一種)
(4) 查詢 : a.按姓名查詢 ;b.按學號查詢 ;c按房號查詢
(5) 列印任一查詢結果(可以連續操作)
*/
/////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include<fstream>
#include<stdlib.h>
#include<iostream>
using namespace std;
#define max 10
int _tmain(int argc, _TCHAR* argv[])
{void input(student *,int);void display(student *,int);void add(student *,int &,int);<br>void qsort(student *,int,int);void del(student *,char *,int &);void change(student *,char *,int );<br>void search(student *,int,int,int);</p><p>int stunum,choose;<br>ifstream infile("stunum.txt");<br>if(!infile) cout<<"文件中尚未創建信息!"<<endl;<br>else infile>>stunum;<br>infile.close();</p><p>char name[10];<br>cout<<"****************************************************"<<endl;<br>cout<<endl<<endl;<br>cout<<" 歡迎進入學生宿舍管理系統!!"<<endl;<br>cout<<endl<<endl;<br>cout<<"****************************************************"<<endl;<br>while(1){<br>cout<<"1.輸入學生宿舍信息"<<endl;<br>cout<<"2.顯示已輸入信息"<<endl;<br>cout<<"3.信息修改"<<endl;<br>cout<<"4.信息查詢"<<endl;<br>cout<<"5.信息排序"<<endl;<br>cout<<"6.退出系統"<<endl;<br>cout<<"請輸入需要執行的任務:";<br>cin>>choose;<br>student *S;S=new student[max];<br>switch(choose){<br> case 1:{cout<<"輸入數據將使原來數據丟失,確定這樣做嗎?(y/n)"<<endl;<br>bool yn=0;char temp;<br>cin>>temp;<br>if(temp=='y') yn=1;<br>if(yn){cout<<"請輸入學生數目:";<br> cin>>stunum;<br> input(S,stunum);<br>ofstream outfile("stunum.txt");<br>outfile<<stunum;<br>outfile.close();break;}}
case 2:display(S,stunum);break;
case 3:
{int cchoose;cout<<"1.修改信息"<<endl;<br> cout<<"2.添加信息"<<endl;cout<<"3.刪除信息"<<endl;cout<<"請輸入要執行的任務:"<<endl;<br> cin>>cchoose;<br> switch(cchoose)<br> {case 1:{cout<<"請輸入修改的信息人名"<<endl;cin>>name;change(S,name,stunum);break;}
case 2:{int ad;cout<<"請輸入添加人數:";cin>>ad;add(S,stunum,ad);break;}
case 3:{cout<<"請輸入刪除信息的人名"<<endl;cin>>name;del(S,name,stunum);break;}
break;}break;}
case 4:{cout<<"請輸入學號:";<br> int cchoose;cin>>cchoose;search(S,0,stunum,cchoose);<br> break;}
case 5:{ifstream infile("stuinfor.txt",ios::in);<br> for(int i=0;i<stunum;i++)<br> infile>>S[i].name>>S[i].num>>S[i].dormin;<br> qsort(S,0,stunum-1);<br> ofstream outfile("sorted_infor.txt");<br> for(int i=0;i<stunum;i++) {outfile<<S[i].name<<' '<<S[i].num<<' '<<S[i].dormin<<endl;<br> cout<<S[i].name<<' '<<S[i].num<<' '<<S[i].dormin<<endl;}
outfile.close();infile.close();break;}
case 6:cout<<" 謝謝使用!"<<endl;exit(1);}
}
ofstream outfile("stunum.txt");
outfile<<stunum;
outfile.close();
return 0;
}
void input(student *stu,int all)
{ofstream outfile("stuinfor.txt");<br>for(int i=0;i<all;i++)<br>{cout<<"請輸入第"<<i+1<<"個學生的姓名 學號 宿舍號:";<br> cin>>stu[i].name>>stu[i].num>>stu[i].dormin;<br> outfile<<stu[i].name<<" "<<stu[i].num<<" "<<stu[i].dormin<<endl;<br>}
outfile.close();
}
void display(student *stu,int all)
{
ifstream infile("stuinfor.txt",ios::in);
if(!infile) cerr<<"文件打開失敗!"<<endl;
else{
for(int i=0;i<all;i++)
{cout<<"輸入的第"<<i+1<<"個學生的姓名 學號 宿舍號分別為:";<br> infile>>stu[i].name>>stu[i].num>>stu[i].dormin;<br> cout<<stu[i].name<<" "<<stu[i].num<<" "<<stu[i].dormin<<endl;<br>}
infile.close();}
}
void add(student *stu,int &all,int add)
{
ofstream outfile("stuinfor.txt",ios::app);
for(int i=0;i<add;i++)
{
cout<<"請輸入第"<<all+i+1<<"個學生的姓名 學號 宿舍號:";
cin>>stu[all+i].name>>stu[all+i].num>>stu[all+i].dormin;
outfile<<stu[all+i].name<<" "<<stu[all+i].num<<" "<<stu[all+i].dormin<<endl;
}
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].num<=piv) low++;
tem=a[high];a[high]=a[low];a[low]=tem;
}
return low;
}
void qsort(student *a,int low,int high)
{int pivotloc;<br>if(low<high)<br>{<br> pivotloc=partition(a,low,high);<br> qsort(a,low,pivotloc-1);<br> qsort(a,pivotloc+1,high);<br>}
}
void del(student *stu,char *name,int &num)
{int delper;char check;<br>ifstream infile("stuinfor.txt");<br> for(int i=0;i<num;i++) <br> {<br> infile>>stu[i].name>>stu[i].num>>stu[i].dormin;<br> if(strcmp(name,stu[i].name)==0) delper=i;}
cout<<"您要刪除的信息如下:"<<endl;
cout<<stu[delper].name<<" "<<stu[delper].num<<" "<<stu[delper].dormin<<endl;
cout<<"您確定要刪除嗎?(y/n)"<<endl;
cin>>check;
ofstream outfile("stuinfor.txt");
if(check=='y'||'Y')
{
for(int i=delper;i<num;i++) stu[i]=stu[i+1];
num--;
for(int i=0;i<num;i++) outfile<<stu[i].name<<" "<<stu[i].num<<" "<<stu[i].dormin<<endl;
cout<<"信息已刪除!"<<endl;}
infile.close();
outfile.close();
}
void change(student *stu,char *name,int num)
{int change;char check,nam[10];<br>int cn,cd;<br>ifstream infile("stuinfor.txt");<br> for(int i=0;i<num;i++) <br> {<br> infile>>stu[i].name>>stu[i].num>>stu[i].dormin;<br> if(strcmp(name,stu[i].name)==0) change=i;<br> }
cout<<"您要修改的信息如下:"<<endl;
cout<<stu[change].name<<" "<<stu[change].num<<" "<<stu[change].dormin<<endl;
cout<<"您確定要修改嗎?(y/n)"<<endl;
cin>>check;
ofstream outfile("stuinfor.txt");
if(check=='y'||'Y')
{
cout<<"請依次輸入姓名 學號 宿舍號"<<endl;
cin>>nam>>cn>>cd;
strcpy(stu[change].name,nam);stu[change].num=cn;stu[change].dormin=cd;
for(int i=0;i<num;i++)
outfile<<stu[i].name<<" "<<stu[i].num<<" "<<stu[i].dormin<<endl;
cout<<"信息已修改!"<<endl;}
infile.close();
outfile.close();}void search(student *stu,int low,int high,int check)
{int mid=(low+high)/2;<br>ifstream infile("sorted_infor.txt");<br>if(!infile) cerr<<"文件打開失敗!"<<endl;<br>else <br>{for(int i=0;i<high;i++) infile>>stu[i].name>>stu[i].num>>stu[i].dormin;<br>while(stu[mid].num!=check&&high>=low) {mid=(low+high)/2;if(stu[mid].num>check) high=mid-1;<br>else low=mid+1;}//折半查找
}
if(stu[mid].num==check)
{cout<<"您要查詢的信息如下:"<<endl;<br>cout<<stu[mid].name<<" "<<stu[mid].num<<" "<<stu[mid].dormin<<endl;}
else cout<<"未能查到您所要查詢信息!"<<endl;
}
④ 關於VFP學生宿舍管理系統的設計與實現的課程設計
請問你這個問題解決了嗎??我現在急需答案呀。。。