C语言程序设计:学生宿舍管理系统设计
给你个学生成绩管理的,你改一下变量名就好了
学生宿舍系统(学生宿舍系统分析与设计)
学生宿舍系统(学生宿舍系统分析与设计)
#include
#include
#define LEN sizeof(struct student)
#define N 35
#include
#define NULL 0
int n=0;
char m[8]={'0','1','2','3','4','5','6','7'};
int i;char c[10];char d[10];
char fname[20],fname0[20],fname6[20]={"shanchu"};
struct student
{long num;
char name[10];
int eng;
int math;
int comp;
int ave;
int all;
}p;
void shuru()
{FILE fp;
printf("\n\n\t请输入存储的文件名:");
scanf("%s",fname);
fp=fopen(fname,"w");
printf("\t输入的数据之间请用跳格键(Tab)隔开\n\t每输入完一个学生的信按回车键(Enter)\n");
printf("\t结束输入时,请输入一个学生的学号为0并按回车键\n");
printf("\t学号 姓名 英语 数学 计算机\n");
do{ printf("\t");
scanf("%ld",&p.num);
if(p.num==0) break;
scanf("\t%s\t%d\t%d\t%d"}while(1);
fclose(fp);
}void chazhao()
{char fname1[20];
FILE fp;
do{printf("\n\n\t请输入查找的文件名:");
scanf("%s",fname1);
if(strcmp(fname1,fname)==0){fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
long number;
do
{ printf("\t请输入要查找的学生的学号按回键(Enter):");
scanf("%ld",&number); rewind(fp);
for(i=0;i { fread(&p,LEN,1,fp);
if(number==p.num) { printf("\t学号 姓名 英语 数学 计算机 平均分 总? \n");
printf("\t%ld\t%s\t%d\t%d\t%d\t%d\t%d\n"}}
printf("\t你还要查找吗?如果继续请输y'加回车键,否'n'加回车键:");
scanf("%s",c);}while(c[0]=='y');
fclose(fp);
}void paixu()
{FILE fp;char fname3[20];struct student k[N];
do{printf("\n\n\t请输入你要排序的的文件名:");
scanf("%s",fname3);
if(strcmp(fname3,fname)==0)
{fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
rewind(fp);
for(i=0;i fread(&k[i],LEN,1,fp);
int w,q,j,g,t,t2,t3,t4,t5;char z[10];long t1;
for(q=0;q {g=q;
for(j=q+1;j if(k[j].ave {z[w]=k[g].name[w];k[g].name[w]=k[q].name[w];k[q].name[w]=z[w];};
}fclose(fp);
printf("\n\n\t请输入存储排完序的数据的文件名\n\t注意此文件名和存储原始数据的文件名不相同\n");
printf("\t");
scanf("%s",fname0);
fp=fopen(fname0,"w");
for(i=0;i fclose(fp);
}void shuchu()
{FILE fp;char fname2[20];
do{printf("\n\n\t请输入你要输出的文件名:");
scanf("%s",fname2);
if(strcmp(fname2,fname)==0){fp=fopen(fname,"r");break;}
else if(strcmp(fname2,fname0)==0){fp=fopen(fname0,"r");break;}
else if(strcmp(fname2,fname6)==0){fp=fopen(fname6,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
rewind(fp);
printf("\t学号 姓名 英语 数学 计算机 平均分 总分\n");
printf("\t==============================================================\n");
for(i=0;i {fread(&p,LEN,1,fp);
printf("\t%ld\t%s\t%d\t%d\t%d\t%d\t%d\n"}printf("\t==============================================================\n");
fclose(fp);}
void tongji()
{FILE fp;char fname4[20];int e1=0,e2=0,e3=0,e4=0,e5=0;
do{printf("\n\n\t请输入你要统计的的文件名:");
scanf("%s",fname4);
if(strcmp(fname4,fname)==0)
{fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
rewind(fp);
for(i=0;i {fread(&p,LEN,1,fp);
if(p.ave<=59&&p.ave>=0)e1=e1+1;
if(p.ave<=69&&p.ave>=60)e2=e2+1;
if(p.ave<=79&&p.ave>=70)e3=e3+1;
if(p.ave<=89&&p.ave>=80)e4=e4+1;
if(p.ave<=100&&p.ave>=90)e5=e5+1;
}fclose(fp);
printf("\t按平均分统计各分数段的学生人数 \n");
printf("\t==============================================================\n");
printf("\t分数段\t0--59\t60--69\t70--79\t80--89\t90--100 \n");
printf("\t人 数 \t %d\t %d\t %d\t %d\t %d\n",e1,e2,e3,e4,e5);
printf("\t==============================================================\n");
}void shanchu()
{FILE fp,fp1;char fname5[20];long number;struct student M[N];
printf("\n\t");
do{printf("\n\t请输入你要删除的文件名:");
scanf("%s",fname5);
if(strcmp(fname5,fname)==0)
{fp=fopen(fname,"r");break;}
else printf("\n\t你输入的文件不存在 \n");}while(1);
rewind(fp);
fp1=fopen(fname6,"w");
do{printf("\t请输入要删除数据的学生的学号并按回车键:");
scanf("%ld",&number);
for(i=0;i {fread(&M[i],LEN,1,fp);
if(M[i].num!=number)fwrite(&M[i],LEN,1,fp1);
}n--;
fcloseall();
fp1=fopen(fname6,"r");fp=fopen(fname,"w");
for(i=0;i {fread(&M[i],LEN,1,fp1);fwrite(&M[i],LEN,1,fp);}
fcloseall();
printf("\t你还要删除吗?如果继续请输入'y'加回车键,否则'n'加回车键:");
scanf("%s",c);
}while(c[0]=='y');
}void charu()
{FILE fp;char fname7[20];
do{printf("\t请输入你要插入的文件名:");
scanf("%s",fname7);
if(strcmp(fname7,fname)==0){fp=fopen(fname,"r+");break;}
else printf("\t你输入的文件不存在 ");}while(1);
printf("\t请输入你要插入的数据\n\t输入的数据之间请用跳格键(Tab)隔开\n\t每输入完一个学生的数据按回车键(Enter) \n");
printf("\t结束插入时,请输入一个学生的学号为0并按回车键\n");
printf("\t学号\t姓名\t英语\t数学\t计算机 \n");
do{fseek(fp,nLEN,0);printf("\t");
scanf("\t%ld",&p.num);
if(p.num==0) break;
scanf("\t%s\t%d\t%d\t%d"}while(1);
fclose(fp);
}void zhujiemian()
{printf("\n\t 主菜单 \n");
printf("\n");
printf("\t============================================================== \n");
printf("\n");
printf("\t 1.数据输入 2.数据输出 \n");
printf("\n");
printf("\t 3.数据排序(按平均分) 4.数据查找(按学号) \n");
printf("\n");
printf("\t 5.数据的插入 6.数据的删除(按学号) \n");
printf("\n");
printf("\t 7.数据的统计(按平均分)? 0.退出 \n");
printf("\n");
printf("\t============================================================== \n");
printf("\t请输入你的选择(0---7)并按回车键:");
scanf("%s",d);
}void main()
{do
{zhujiemian();
if(d[0]==m[0])break;
else if(d[0]==m[1]){shuru();printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");}
else if(d[0]==m[2]){shuchu();}
else if(d[0]==m[3]){paixu();}
else if(d[0]==m[4]){chazhao();}
else if(d[0]==m[5]){charu();}
else if(d[0]==m[6]){shanchu();}
else if(d[0]==m[7]){tongji();}
else {printf("\t你的选择不正确!请重新选择! \n");
}}while(1);
printf("\n\t\n\t\n\t\n\t\n\t\n\t\n\t");
printf("\t\t谢谢你的使用!!! ") ;
}
学生宿舍管理系统
您好,很高兴为您解答!
学生宿舍管理系统
需求分析
:处理对象系统要处理的对象包括宿舍楼基本信息、学生基本信息、宿舍基本信息、楼栋管理员基
本信息、物品出入基本信息等五个方面,各个对象包括信息如下所示(详细的数据见于数据
字典)
:1.学生基本信息(Student):包括
宿舍号、性别、容纳人数、住宿费用、住宿学生姓名、
学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级等方面的信息,可
以方便学生信息的查询和更新;
2.宿舍楼基本信息(Dormitory):包括
宿舍楼编号、每一幢宿舍楼楼管处的电话、宿舍
楼楼管员信息、宿舍楼性别分类信息等方面,这样可以方便管理者对宿舍楼的管理,提高查
询效率;
3.宿舍基本信息(Room):
包括
宿舍编号、舍长信息、舍员信息、楼栋号,将学生分配到指定宿舍号的宿舍;
4.楼栋管理员基本信息(Worker):包括
宿舍号、性别、容纳人数、住宿费用、已住宿的人数、已住宿学生姓名、工
资、、工作时间等数据项,可以方便管理人员对宿舍楼道工人的任用、信息
查询及更改,已住宿的学生退宿舍;
5.物品出入基本信息(ArticalInOut):包括出入物品的学生信息、出入的物品信息、出
入物品时的负责人信息、出入物品时间,尽量减少宿舍事故的发生,保障学生宿舍财产的安
全。
希望能帮助您!
学生宿舍管理系统为什么选择java
1 Java可以很简单的结合JS或其他方式实现BS模式访问的好看界面。而C如果要实现界面,或者要实现BS访问,则非常非常困难。至少对一个在校学生来说这几乎很难完成。
2学生管理系统自然少不了数据库。
JAVA的JDBC非常成熟,可以很简便的访问数据库。C访问数据库的库相对复杂,而且风格各异,需要一段时间学习和适应
3 JAVA语言相对简单,其内存回收,分配基本上都由系统完成。而C则需要自己完成。这意味着程序员需要花很多时间处理内存泄露问题。
宿舍管理系统的创新点有哪些?
宿舍管理系统的创新点可以包括以下几个方面:
智能化管理:引入智能化技术,例如物联网、人工智能等,实现自动化管理和远程监控。例如,通过安装传感器和智能门禁系统,可以实现宿舍环境的实时监测和管理,提高宿舍管理的效率和质量。
移动化管理:开发移动端应用程序,让学生可以通过手机等移动设备随时随地查询宿舍信息、提交报修申请、缴纳住宿费用等。这样可以方便学生的生活,减轻宿舍管理员的工作压力。
社交化管理:将宿舍打造成一个社交场所,鼓励学生之间互相交流、合作、分享资源。例如,可以开设线上社交平台或者线下社交活动,促进学生之间的互动和交流,增强学生的归属感和凝聚力。
数据化管理:建立完善的数据分析体系,对宿舍管理的各项指标进行实时监测和分析,为管理者提供科学的数据支持和决策依据。例如,通过对入住率、维修率、水电用量等数据的分析,可以及时发现问题并采取相应的措施加以解决。
总之,宿舍管理系统的创新点在于提高管理效率、提升服务质量、增强学生参与度等方面,以满足不断变化的学生需求和宿舍管理的挑战。
宿舍管理系统有什么功能?
具有公寓管理、房间分配、房间调整;信息、学生出入门禁、早出晚归查询;公寓监控、公寓网站;统计报表等功能。
例如:
宿舍的新建,修改,删除;
宿舍人员的人数,录入,修改;
宿舍设施的安排和用品管理;
宿舍状态,出入的登记记录;
宿舍管理员的权限,密码修改。
用C语言做 学生宿舍管理系统
孩子 很清楚这是老师给你的作业题 ,,知识是被百度不出来的,,强烈建议看到此题的同仁不给出答案,,,,孩子 你自己试着写,,那不会,随时问 我们会解答 但你这是直接问作业 那老师还让你写干嘛???给你思路 那个合法才能进入,,只需要用个判断句就行,先输入密码 正确 则继续执行 错误 输出提示信息,,当然 这里你可以加一点花招 连续输入3次 直接退出程序或者等待1分钟才行,,哈哈 这个你可以写完不给老师说密码,然后老师输入,,哈哈 其他的的代码就是链表的知识了 课本上也都有的,,,,,好好学习啊 需要脚踏实地的程序员,,不要投机取巧,,
学生宿舍管理系统,C++源码
#include
#include
#include
#include
using namespace std;
class student
{private:
long int stu_num; //学号,宿舍号
char stu_name[40]; //姓名
char class_name[40]; //班别
char house_name[20]; //宿舍
public:
student()
{stu_num=0;
stu_name[0] =0;
class_name[0] =0;
house_name[0] =0;
}student::student(long a, char b,char c,char d)
{Setdata(a , b, c, d);
}char Getstuname(void) //姓名查找
{return stu_name ;
}long Getstunum(void) //学号查找
{return stu_num;
}char Gethousename(void) //宿舍号查找
{return house_name;
}char Getclassname(void) //按班级查找
{return class_name;
}void Setdata(long a, char b,char c,char d)
{stu_num = a;
strcpy(stu_name, b);
strcpy(class_name, c);
strcpy(house_name, d);
}void Show(void)
{cout<<"学号:"< cout<<"班级:"< }}; void main(void) {student s1; int flags=0; long stu_num; //学号 char stu_name[40]; //姓名 char class_name[40]; //班级 char house_name[20]; //宿舍 time_t t; time(&t); ifstream file1; ofstream file3; char flag = 'y'; cout<< "---------------------------------学生成绩管理系统-------------------------------"< cout<< "\t\t\t 时间:" << ctime(&t); while( flag=='y' || flag=='Y') { //由flag控制循环 cout<<"--------------------------------------------------------------------------------\n"; cout<<"\t\t 1:注册学生!\n"; cout<<"\t\t 2:按学号查看学生信息!\n"; cout<<"\t\t 3:按宿舍号查看学生信息!\n"; cout<<"\t\t 4:按姓名查看学生信息!\n"; cout<<"\t\t 5:按班级查看学生信息!\n"; cout<<"\t\t 6:显示全部学生信息\n"; // cout<<"\t\t 7:按学号修改学生信息\n"; // cout<<"\t\t 8:按学号删除学生信息!\n"; cout<<"--------------------------------------------------------------------------------\n"; cout<<"请输入选择:"; char choice; cin>>choice; switch(choice) {case '1': file3.open("c:\\stu.dat",ios::app|ios::binary); input: flags=0; cout<<"输入学号:"; cin>>stu_num; while (stu_num<100000 || stu_num>999999) {cin.clear(); rewind(stdin); cout << "你输入的学号不正确,请输入一个六位数的学号" << endl; cout << "学号:"; cin >> stu_num; }file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(s1.Getstunum()==stu_num) flags=1; }} file1.clear(); file1.close(); if (flags==1) {cin.clear(); cout << "学号重复,请重输入!" << endl; goto input; }cout<<"输入姓名:"; cin>>stu_name; cout<<"输入班级:"; cin>>class_name; cout<<"输入宿舍:"; cin>>house_name; s1.Setdata(stu_num,stu_name,class_name,house_name); file3.write((char)&s1,sizeof(s1)); file3.clear(); file3.close(); break; case '2': //按学号查找 cout<<"请输入学生的学号:"; cin>>stu_num; while (stu_num<100000 || stu_num>999999) {cin.clear(); rewind(stdin); cout << "你输入的学号不正确,请输入一个六位数的学号" << endl; cout << "学号:"; cin >> stu_num; }file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(s1.Getstunum()==stu_num) //显示学生信息 {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找学号为:"<< stu_num <<"的学生记录!" << endl; flags=0; break; case '3': //按宿舍号查找 cout<<"请输入宿舍号:"; cin>>house_name; file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(strcmp(s1.Gethousename(),house_name)==0) {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找到宿舍为:"<< house_name <<"的学生记录!" << endl; flags=0; break; case '4': //按姓名查找 cout<<"请输入学生姓名:"; cin>>stu_name; file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(strcmp(s1. Getstuname(),stu_name)==0) {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找到姓名为:"<< stu_name <<"的学生记录!" << endl; flags=0; break; case '5': //按班级查找 cout<<"请输入班级名称:"; cin>>class_name; file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(strcmp(s1. Getclassname(),class_name)==0) {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找到该班级为:"<< class_name <<"的学生记录!" << endl; flags=0; break; case '6': //显示全部学生信息 file1.open("c:\\stu.dat",ios::in | ios::binary);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {s1.Show(); flags=1; }} file1.clear(); file1.close(); if (flags==0) cout << "数据库没有记录!" << endl; flags=0; break; // case '7': //修改学生信息按学号 // flags=0; // cout<<"请输入要修改学生的学号:"; // cin>>stu_num; // while (stu_num<100000 || stu_num>999999) // { // cin.clear(); // rewind(stdin); // cout << "你输入的学号不正确,请输入一个六位数的学号" << endl; // cout << "学号:"; // cin >> stu_num; // } // file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件 // while(!file1.eof()) // { // int n; // file1.read((char )&s1,sizeof(student)); // n=file1.gcount(); // if(n==sizeof(student)) // { // if(s1.Getstunum()==stu_num) // { // file3.open("c:\\stu.dat",ios::out|ios::binary); // cout<<"输入姓名:"; cin>>stu_name; // cout<<"输入班级:"; cin>>class_name; // cout<<"输入宿舍:"; cin>>house_name; // s1.Setdata(stu_num,stu_name,class_name,house_name); // file3.write((char)&s1,sizeof(s1)); // file3.close(); // flags=1; // } // } // } // file1.clear(); // file1.close(); // if (flags==0) // { // cout << "没有此学生记录,不能进行修改!" << endl; // break; // } // break; // case '8': //删除学生信息按学号 default: flag = 'n'; break; }} cout << "谢谢您的使用!" << endl; } #include #include #include #include using namespace std; class student {private: long int stu_num; //学号,宿舍号 char stu_name[40]; //姓名 char class_name[40]; //班别 char house_name[20]; //宿舍 public: student() {stu_num=0; stu_name[0] =0; class_name[0] =0; house_name[0] =0; }student::student(long a, char b,char c,char d) {Setdata(a ,b, c, d); }char Getstuname(void) //姓名查找 {return stu_name ;} long Getstunum(void) //学号查找 {return stu_num; }char Gethousename(void) //宿舍号查找 {return house_name; }char Getclassname(void) //按班级查找 {return class_name; }void Setdata(long a, char b,char c,char d) {stu_num =a; strcpy(stu_name, b); strcpy(class_name, c); strcpy(house_name, d); }void Show(void) {cout<<"学号:"< cout<<"班级:"< }}; void main(void) {student s1; int flags=0; long stu_num; //学号 char stu_name[40]; //姓名 char class_name[40]; //班级 char house_name[20]; //宿舍 time_t t; time(&t); ifstream file1; ofstream file3; char flag ='y'; cout<< "---------------------------------学生成绩管理系统-------------------------------"< cout<< "\t\t\t 时间:" << ctime(&t); while( flag=='y' || flag=='Y') {//由flag控制循环 cout<<"--------------------------------------------------------------------------------\n"; cout<<"\t\t 1:注册学生!\n"; cout<<"\t\t 2:按学号查看学生信息!\n"; cout<<"\t\t 3:按宿舍号查看学生信息!\n"; cout<<"\t\t 4:按姓名查看学生信息!\n"; cout<<"\t\t 5:按班级查看学生信息!\n"; cout<<"\t\t 6:显示全部学生信息\n"; // cout<<"\t\t 7:按学号修改学生信息\n"; // cout<<"\t\t 8:按学号删除学生信息!\n"; cout<<"--------------------------------------------------------------------------------\n"; cout<<"请输入选择:"; char choice; cin>>choice; switch(choice) {case '1': file3.open("c:\\stu.dat",ios::app|ios::binary); input: flags=0; cout<<"输入学号:"; cin>>stu_num; while (stu_num<100000 || stu_num>999999) {cin.clear(); rewind(stdin); cout << "你输入的学号不正确,请输入一个六位数的学号" << endl; cout << "学号:"; cin >> stu_num; }file1.open("c:\\stu.dat",ios::in |ios::binary |ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(s1.Getstunum()==stu_num) flags=1; }} file1.clear(); file1.close(); if (flags==1) {cin.clear(); cout << "学号重复,请重输入!" << endl; goto input; }cout<<"输入姓名:"; cin>>stu_name; cout<<"输入班级:"; cin>>class_name; cout<<"输入宿舍:"; cin>>house_name; s1.Setdata(stu_num,stu_name,class_name,house_name); file3.write((char)&s1,sizeof(s1)); file3.clear(); file3.close(); break; case '2': //按学号查找 cout<<"请输入学生的学号:"; cin>>stu_num; while (stu_num<100000 || stu_num>999999) {cin.clear(); rewind(stdin); cout << "你输入的学号不正确,请输入一个六位数的学号" << endl; cout << "学号:"; cin >> stu_num; }file1.open("c:\\stu.dat",ios::in |ios::binary |ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(s1.Getstunum()==stu_num) //显示学生信息 {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找学号为:"<< stu_num <<"的学生记录!" << endl; flags=0; break; case '3': //按宿舍号查找 cout<<"请输入宿舍号:"; cin>>house_name; file1.open("c:\\stu.dat",ios::in |ios::binary |ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(strcmp(s1.Gethousename(),house_name)==0) {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找到宿舍为:"<< house_name <<"的学生记录!" << endl; flags=0; break; case '4': //按姓名查找 cout<<"请输入学生姓名:"; cin>>stu_name; file1.open("c:\\stu.dat",ios::in |ios::binary |ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(strcmp(s1. Getstuname(),stu_name)==0) {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找到姓名为:"<< stu_name <<"的学生记录!" << endl; flags=0; break; case '5': //按班级查找 cout<<"请输入班级名称:"; cin>>class_name; file1.open("c:\\stu.dat",ios::in |ios::binary |ios::beg);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {if(strcmp(s1. Getclassname(),class_name)==0) {s1.Show(); flags=1; }} }file1.clear(); file1.close(); if (flags==0) cout << "没有找到该班级为:"<< class_name <<"的学生记录!" << endl; flags=0; break; case '6': //显示全部学生信息 file1.open("c:\\stu.dat",ios::in |ios::binary);//按读方式打开文件 while(!file1.eof()) {int n; file1.read((char )&s1,sizeof(student)); n=file1.gcount(); if(n==sizeof(student)) {s1.Show(); flags=1; }} file1.clear(); file1.close(); if (flags==0) cout << "数据库没有记录!" << endl; flags=0; break; // case '7': //修改学生信息按学号 // flags=0; // cout<<"请输入要修改学生的学号:"; // cin>>stu_num; // while (stu_num<100000 || stu_num>999999) // {// cin.clear(); // rewind(stdin); // cout << "你输入的学号不正确,请输入一个六位数的学号" << endl; // cout << "学号:"; // cin >> stu_num; // }// file1.open("c:\\stu.dat",ios::in |ios::binary |ios::beg);//按读方式打开文件 // while(!file1.eof()) // {// int n; // file1.read((char )&s1,sizeof(student)); // n=file1.gcount(); // if(n==sizeof(student)) // {// if(s1.Getstunum()==stu_num) // {// file3.open("c:\\stu.dat",ios::out|ios::binary); // cout<<"输入姓名:"; cin>>stu_name; // cout<<"输入班级:"; cin>>class_name; // cout<<"输入宿舍:"; cin>>house_name; // s1.Setdata(stu_num,stu_name,class_name,house_name); // file3.write((char)&s1,sizeof(s1)); // file3.close(); // flags=1; // }// }// }// file1.clear(); // file1.close(); // if (flags==0) // {// cout << "没有此学生记录,不能进行修改!" << endl; // break; // }// break; // case '8': //删除学生信息按学号 default: flag ='n'; break; }} cout << "谢谢您的使用!" << endl; } 1Java可以很简单的结合JS或其他方式实现BS模式访问的好看界面。而C如果要实现界面,或者要实现BS访问,则非常非常困难。至少对一个在校学生来说这几乎很难完成。2学生管理系统自然少不了数据库。JAVA的JDBC非常成熟,可以很简便的访问数据库。C访问数据库的库相对复杂,而且风格各异,需要一段时间学习和适应3JAVA语言相对简单,其内存回收,分配基本上都由系统完成。而C则需要自己完成。这意味着程序员需要花很多时间处理内存泄露问题。4C的优势,高效,简洁,自由。这些优点在学生管理系统或者毕业设计的场合几乎无法体现。至于跨不跨平台的毕业设计来说无所谓了吧 这个我可以写。不难。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。C语言学生宿舍管理系统设计