c++课程设计 学生管理系统源代码
#include<iostream>
#include<stdio.h> #include<stdlib.h> #include<string.h> using namespace std; typedef struct stu { char name[20]; long int number; int snum; char sex[20]; char add[30] ; char time[20]; char tel[20]; struct stu *next; }stu,*student; int init(student &s); void insert(student &s); void print(student &s); int delete(student &s); void find (student &s); void findname(student &s); void findnum(student &s); void modifay(student &s); void putfile(student &s); void getfile(student &s); void main() { student s; init(s); cout<<"欢迎使用学生管理系统."<<endl; cout<<" "<<endl; cout<<endl; while(1) { int i; mainint: cout<<"请选择相关操作:"<<endl<<"1.建立学生资料文件."<<endl<<"2.浏览."<<endl<<"3.删除."<<endl; cout<<"4.查询."<<endl<<"5.修改."<<endl<<"6.打开学生文件."<<endl<<"7.退出管理系统." <<endl<<"请选择:"; cin>>i; if(i<0||i>7) { cout<<"输入了错误的数字,Again!"<<endl<<endl; goto mainint; } switch(i) { case 1: insert(s);break; case 2: print(s); putfile(s); break; case 3: ldelete(s);break; case 4: find(s);break; case 5: modifay(s); break; case 6: getfile(s);break; case 7: exit(0); } } } int init(student &s) { s=(student)malloc(sizeof(stu)); if (s) { s->next=NULL; return 0; } else return -1; } void insert(student &s) //insert { cout<<endl; student p,q; p=(student)malloc(sizeof(stu)); cout<<"请输入学生信息:"<<endl; cout<<"姓名:"; cin>>p->name; cout<<endl; cout<<"学号:"; cin>>p->number; cout<<endl; cout<<"性别:"; cin>>p->sex; cout<<endl; cout<<"家庭住址:" ; cin>>p->add; cout<<endl; cout<<"出生年月:" ; cin>>p->time; cout<<endl; cout<<"宿舍号:"; cin>>p->snum; cout<<endl; cout<<"宿舍号码:"; cin>>p->tel; q=s; while(!(q->next==NULL)&&(q->next->number<p->number)) q=q->next; p->next=q->next; q->next=p; //if()p->next=NULL; //free(p); } int ldelete(student &s) //delete { cout<<endl; student p,a; p=s ; cout<<"请输入删除的学号:"; long int number; cin>>number; while(p) { if (p->number==number) { a->next=p->next; free(p); return(0);} else { a=p; p=p->next;} } cout<<"没有找到你要删除的选项!"<<endl<<endl;return(-1); } void print(student &s) { int a; a=0; student p; p=s->next; cout<<"姓名 "<<"学号 " <<"性别 "<<"家庭住址 "<<"出生年月 "<<"宿舍号"<<"宿舍号码"<<endl; while(p) { a++; cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->snum<<" "<<p->tel<<" "<<endl; p=p->next; } cout<<endl; if (a==0) cout<<"还没有学生信息!"<<endl<<endl ; } void find (student &s) //find { findl: cout<<"请选择查找方法:"<<endl<<"1.按姓名查找."<<endl<<"2.按学号查找."<<endl; cout<<"请选择:"; int k; cin>>k; if(k<0||k>3) { cout<<"输了入错误数字,Again!"<<endl<<endl; goto findl; } switch(k) { case 1: findname(s);break; case 2: findnum(s);break; } } void findname(student &s) //find by name { student p; p=s->next; cout<<"请输入姓名:"; char name[20]; int j; j=0; cin>>name; cout<<"你要查找的资料是:"<<endl; cout<<"姓名 "<<"学号 " <<"性别 "<<"家庭住址 "<<"出生日期 "<<"宿舍号 "<<"宿舍号码"<<endl; while(p) { if (strcmp(p->name,name)==0) { cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->snum<<" "<<p->tel<<" "<<endl; j++; } p=p->next; } cout<<endl; if(j==0) cout<<"对不起,没找到你要的信息!"<<endl<<endl ; } void findnum(student &s) //find by number { student p; p=s->next; cout<<"请输入学号:"; long int number; int j; j=0; cin>>number; cout<<"你要查找的资料是:"<<endl; cout<<"姓名 "<<"学号 "<<"性别 "<<"家庭住址 "<<"出生日期 "<<"宿舍号 "<<"宿舍电话"<<endl; while(p) { if (p->number==number) { cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->snum<<" "<<p->tel<<" "<<endl; j++; } p=p->next; } cout<<endl; if(j==0) cout<<"对不起,没找到你要的信息"<<endl<<endl ; } void modifay(student &s) //modifay { student q,p,l,m; int j; j=0; q=s->next; l=s; m=s; cout<<"请输入要修改的学号:" ; long int num; cin>>num; cout<<"姓名 "<<"学号 "<<"性别 "<<"家庭住址 "<<"入学时间 "<<"宿舍号 "<<"电话号码"<<endl; while(q) { if (q->number==num) { cout<<"你要修改的信息是:"<<endl; cout<<q->name<<" "<<q->number<<" "<<q->sex<<" "<<q->add<<" "<<q->time<<" "<<q->snum<<" "<<q->tel<<" "<<endl; j++; p=(student)malloc(sizeof(stu)); cout<<"请输入新的学生信息:"<<endl; cout<<"姓名:"; cin>>p->name; cout<<endl; cout<<"学号:"; cin>>p->number; cout<<endl; cout<<"年龄:"; cin>>p->age; cout<<endl; cout<<"性别:"; cin>>p->sex; cout<<endl; cout<<"家庭住址:" ; cin>>p->add; cout<<endl; cout<<"入学时间:" ; cin>>p->time; cout<<endl; cout<<"电话号码:"; cin>>p->tel; l->next=q->next; free(q); goto tt; } else { l=q; q=q->next; } } cout<<endl; if (j==0) cout<<"没找到你要的数据!"<<endl<<endl ; tt: while(!(m->next==NULL)&&(m->next->number<p->number)) m=m->next; p->next=m->next; m->next=p; } void putfile(student &s) { student p; p=s->next; FILE *fp; if((fp=fopen("information.txt","w"))==NULL) { cout<<"打不开文件"<<endl<<endl; exit(0); } while(p) { if(fwrite(p,sizeof(struct stu),1,fp)!=1 ) { cout<<"文件写入错误"<<endl<<endl; return; } p=p->next; } fclose(fp) ; } void getfile(student &s) { student p,q; q=s; FILE *fp1 ; if((fp1=fopen("information.txt","r"))==NULL) { cout<<"打不开文件"<<endl; exit(0); } cout<<"姓名 "<<"学号 "<<"性别 "<<"家庭住址 "<<"入学时间 "<<"宿舍号 "<<"电话号码"<<endl; p=(student)malloc(sizeof(stu)); while(fread(p,sizeof(struct stu),1,fp1)!=0) { cout<<p->name<<" "<<p->number<<" "<<p->sex<<" "<<p->add<<" "<<p->time<<" "<<p->age<<" "<<p->tel<<endl; while(!(q->next==NULL)&&(q->next->number<p->number)) q=q->next; p->next=q->next; q->next=p; p=(student)malloc(sizeof(stu)); } fclose(fp1); cout<<endl; }
无忧云官网无忧云怎么样 无忧云服务器好不好 无忧云值不值得购买 无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免北岸建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高...
商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...
vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...