#include<iostream.h>
#include<string.h>
#include<fstream.h>
#include<iomanip.h>//kjljjj
class student
{private:int maxnum//学生学号最大值
int sno//学号char name[5]
char sex[2]
int agechar birth[10]//出生日期
char folk[2]//民族
char mianmao[10]//政治面貌
char department[10]//系别
long banji//班级
char speciality[10]//专业
char address[30]//学生详细家庭住址
public:
student()~
student()
void enter()//学生信息录入函数
void display()//学生信息输出函数
void setsno(int temp)
int getsno()
char *getname()
long getbanji()
char *getspeciality()
void read()
void write()
}
student::student()
{}
student::~student()
{}
int student::getsno()
{return sno}
char *student::getspeciality()
{return speciality}
long student::getbanji()
{return banji}
void student::setsno(int temp)
{sno=temp}
char *student::getname()
{return name}
void student::display()
{cout<<setw(4)<<sno<<setw(4)<<name<<setw(4)<<sex<<setw(4)<<age<<setw(4)<<folk<<setw(8)<<birth<<setw(8)<<mianmao<<setw(8)<<department<<setw(8)<<banji<<setw(8)<<speciality<<setw(8)<<address<<endl}
void student::enter()
{ ifstream tfile("max.txt",ios::binary|ios::nocreate)
if(tfile)
{ tfile.read((char *)&maxnum,sizeof maxnum)}
else
{ maxnum=1000//学生学号初始化 } tfile.close()
sno=maxnum++
ofstream ofile("max.txt")
ofile.write((char*)&maxnum,sizeof maxnum) tfile.close()
cout<<"请输入学生信息"<<endl
cout<<"学生姓名:"<<endl
cin>>name
cout<<"性别(男(n),女(m)):"<<endl
cin>>sex while(strcmp(sex,"n")!=0&&strcmp(sex,"m")!=0)
{ cout<<"错误请重新输入!"<<endl cin>>sex }
cout<<"出生日期:"<<endl
cin>>birth
cout<<"年龄:"<<endl
cin>>age
while(age<=15||age>=50)
{ cout<<"错误请重新输入!"<<endl cin>>age}
cout<<"政治面貌(团员(a),预备党员(b),党员(c)):"<<endl
cin>>mianmao
while(strcmp(mianmao,"a")!=0&&strcmp(mianmao,"b")!=0&&strcmp(mianmao,"c")!=0)
{cout<<"错误请重新输入!"<<endl cin>>mianmao}
cout<<"民族:"<<endl cin>>folk
cout<<"系别:"<<endl cin>>department
cout<<"班级:"<<endl cin>>banji
cout<<"专业:"<<endl cin>>speciality
cout<<"家庭住址:"<<endl cin>>address}//主程序部分:#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<iomanip.h>
#include<stdlib.h>
//#include"student.h"
student stu//student 类的全局变量
void read()
{ ifstream afile("student.txt",ios::nocreate) afile.read((char*)&stu,sizeof stu)
}
void write()
{ ofstream bfile("student.txt",ios::app) bfile.write((char*)&stu,sizeof stu)}
void input(void)
{ char ch stu.enter()
write()
cout<<"你还要输入下一位学生的信息吗(Y/N)!"<<endl cin>>ch
if(ch=='Y'||ch=='y')
{ input() }}
void search()
{ int j,k,i,m=0 char ch1[5],ch2[10] cout<<"请输入你的查找类型:(1.学号 2.姓名 3.专业 4.班级)"<<endl
cin>>j
while(j<=0||j>=5)
{ cout<<"错误请重新选择!"<<endlcin>>j }
if(j==1)
{ cout<<"请输入你要查找的学生的学号:"<<endl
cin>>i
}
if(j==2)
{ cout<<"请输入你要查找的学生的姓名:"<<endl
cin>>ch1
}
if(j==3)
{
cout<<"请输入你要查找的学生所在的专业:"<<endl
cin>>ch2 }
if(j==4)
{
cout<<"请输入你要查找的学生所在的班级:"<<endl cin>>k
}
ifstream dfile("student.txt",ios::nocreate) while (dfile.good())
{
dfile.read((char *) &stu,sizeof stu)
if(i==stu.getsno()||strcmp(stu.getname(),ch1)==0||
strcmp(stu.getspeciality(),ch2)==0||k==stu.getbanji())
{
cout<<"你要查找的学生信息如下:"<<endl
cout<<setw(4)<<"学号"<<setw(4)<<"姓名"<<setw(4)<<"性别"<<setw(4)<< "年龄"<<setw(4)<<"民族"<<setw(8)<<"出生日期"<<setw(8)<<"政治面貌"<< setw(8)<<"系别"<<setw(8)<<"班级"<<setw(8)<<"专业"<<setw(8)<<"联系电话"<<setw(8)<<"家庭住址"<<endl stu.display()
i=0
k=0
m=1
return
}
}
if(m!=1)
cout<<"没有找到这名学生的信息!"<<endl
}
void output()
{
int i=0
ifstream cfile("student.txt",ios::nocreate)
while(cfile)
{
if( cfile.read((char *)&stu,sizeof stu)){stu.display() i++ } }cout<<"一共有"<<i<<"个学生信息"<<endl}void menu(){ cout<<"学号:2005132040 姓名:孟琳琳班级:通信053"<<endl
cout<<" * 学籍管理系统 *"<<endl
cout<<"*******************************************************"<<endl
cout<<" 0.退出系统 "<<endl
cout<<" 1.学生信息录入 "<<endl
cout<<" 2.学生信息查询 "<<endl
cout<<" 3.学生信息输出 "<<endl
cout<<"*******************************************************"<<endl
cout<<" 请选择以上 *** 作(0=======3) "<<endl
}
void select()//选择菜单函数
{
int ch
while(1)
{
cin>>ch
switch(ch)
{
case 0:exit(0)menu()break
case 1:input()menu()break
case 2:search()menu()break
case 3:output()menu()break
default:menu()cout<<"输入无效请重新输入(0======== 3)"<<endlbreak
}
}
}void main()
{
menu()
select()
}
#include<stdio.h>#define M 2/*容量*/
struct _674
{
long num
char name[20]
char add[20]
long tel
}A[M],B[1]
void input()
{
int i=1
char a='y'
while(a=='y')
{
if(i<=M)
{
printf("请输入你要输入的学生学号\n")
scanf("%d",&A[i].num)
for(int j=1j<ij++)
if(A[j].num==A[i].num)
{
printf("你输入的学号已存在\n")continue
}
printf("请输入你要输入的学生姓名\n")
scanf("%s",&A[i].name)
printf("请输入你要输入的学生地址\n")
scanf("%s",&A[i].add)
printf("请输入你要输入的学生电话\n")
scanf("%d",&A[i].tel)
i++
printf("退出请任意输入,继续请输入y\n")
getchar()
scanf("%c",&a)
}
else
{
printf("你的空间已满\n")break
}
}
}
void output()
{
for(int i=1i<=Mi++)
printf("学号:%d姓名:%s地址:%s电话:%d\n",A[i].num,A[i].name,A[i].add,A[i].tel)
}
void seek()
{
int a,f=0
printf("请输入你要查找学生的学号\n")
scanf("%d",&a)
for(int i=1i<=Mi++)
if(a==A[i].num)
{
printf("学号:%d姓名:%s地址:%s电话:%d\n",A[i].num,A[i].name,A[i].add,A[i].tel),f=0break
}
else
f=1
if(f==1)
printf("查无此人\n")
}
void del()
{
int a
printf("请输入你要删除的学生学号\n")
scanf("%d",&a)
for(int i=1i<=Mi++)
if(a==A[i].num)
{
for(i<Mi++)
A[i]=A[i+1]
}
}
void insert()
{
printf("请输入你要输入你要插入的学生学号\n")
scanf("%d",&B[1].num)
for(int j=1j<=Mj++)
if(B[1].num==A[j].num)
{
printf("你要插入的学号已存在\n")break
}
printf("请输入你要插入的学生姓名\n")
scanf("%s",&B[1].name)
printf("请输入你要插入的学生地址\n")
scanf("%s",&B[1].add)
printf("请输入你要插入的学生电话\n")
scanf("%d",&B[1].tel)
}
void main()
{
input()
output()
seek()
del()
insert()
}
不好意思
自己也是刚学的
有不足之处还请谅解
很多地方还需要根据你的需要适当修改
最后希望我们能相互讨论学习共同进步
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)