学生学籍管理系统源代码(学生学籍管理系统属于)
admin 发布:2022-12-19 19:12 168
今天给各位分享学生学籍管理系统源代码的知识,其中也会对学生学籍管理系统属于进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
求一个用C++语言写的学生信息管理系统源代码
#includeiostream
#includestring
#includefstream
#includeconio.h
#includewindows.h
using namespace std;
/////////////////////////////////////
// 抽象基类 //
///////////////////////////////////
class Base
{
protected:
int id;//本科生,研究生识别
int num;
char name[20];
char sex[5];
double ch,en,ma;//成绩
int borth;
public:
Base();
virtual int getid()=0;//本科生,研究生识别
virtual void set()=0;//纯虚函数,在派生类中调用
virtual void display()=0;
double getsum();//取总成绩
char * getsex();//取性别
double getch();//取各科成绩
double geten();
double getma();
int getborth();
int getnum();//取学号
char* getname();//取姓名
};
Base::Base()//基类构造
{
num=0;
strcpy(name,"No name");
ch=0;en=0;ma=0;
borth=1900;
}
int Base::getborth()
{return borth;}
double Base::getsum()
{return ch+en+ma;}
double Base::getch()
{return ch;}
double Base::geten()
{return en;}
double Base::getma()
{return ma;}
int Base::getnum()
{return num;}
char *Base::getsex()
{return sex;}
char * Base::getname()
{return name;}
/////////////////////////////////////
// 本科生类 //
///////////////////////////////////
class College:public Base//本科生类
{
private:
int id;//本科生识别
急求C语言源代码 题目:学生学籍管理系统 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,
#include stdio.h
#include stdlib.h
#include string.h
#include malloc.h
struct student
{
int num;
char name[20];
char tel[20];
struct student *next;
};
struct student *head,*tmp1,*tmp2;
int n;
void Load()
{
FILE *fp1;
int i;
fp1=fopen("file.txt","rb");
struct student *tmp;
struct student *q;
printf("开始读取学生信息 \n");
head=0;
while(1){
tmp=malloc(sizeof(struct student));
tmp-next=0;
//i=fscanf(fp1,"学号:%d 姓名:%s 电话:%s\n",(tmp-num),tmp-name,tmp-tel);
i=fread(tmp,sizeof(struct student),1,fp1);
if(i==1){
if(head==0)
q=head=tmp;
printf("读取一条学生信息\n");
q-next=tmp;
q=q-next;
}else{
fclose(fp1);
return;
}
}
}
void OutPut()
{
tmp1=head;
while(tmp1!=0)
{
printf("学号:%d 姓名:%s 电话:%s\n",tmp1-num,tmp1-name,tmp1-tel);
tmp1=tmp1-next;
}
}
void InPut( )
{ struct student *q,*p;
printf("请按要求增加学生信息:\n");
p=malloc(sizeof(struct student));
printf("请输入学生学号:");
scanf("%d",p-num);
printf("\n请输入学生姓名:");
scanf("%s",p-name);
printf("\n请输入学生电话:");
scanf("%s",p-tel);
p-next=0;
if(head==0){
head=p;
q=p;
}else{
q=head;
while(q-next!=0)
{
q=q-next;
}
q-next=p;
q=p;
}
}
void Delete()
{ struct student *q,*p;
int num;int i; /* 这里num为第几条 */
printf("请输入要删除的第i条记录\n");
scanf("%d",num);
if(num==1)
{head=head-next;}/*删除头节点*/
p=head;
for(i=1;inum-1;i++) /*移动p指向要删除的节点*/
{p=p-next;}
if (num1)
p-next=(p-next)-next;/*例如:把2 4节点链接,删除3节点*/
printf("删除成功,请查看\n");
}
void Search()
{ char c[20];
char tmp2_num[20];
printf("请输入需要查询的信息内容:\n");
scanf("%s",c);
printf("你要查询的内容为:\n");
tmp2=head;/*进行遍历*/
while(tmp2!=0)
{
printf("学号:%d姓名:%s电话:%s\n",tmp2-num,tmp2-name,tmp2-tel);
if (strncasecmp(tmp2-name,c,strlen(c))==0)
printf("姓名匹配成功\n");
/*进行匹配*/
if (strncasecmp(tmp2-tel,c,strlen(c))==0)
printf("电话匹配成功\n");
sprintf(tmp2_num,"%d",tmp2-num);
if(strncasecmp(tmp2_num,c,strlen(c))==0)
printf("学号匹配成功\n");
tmp2=tmp2-next;
}
}
void Save()
{
FILE *fp1;
struct student *q,*p1;
fp1=fopen("file.txt","w");
p1=0;
p1=head;
if(head==0)
{
printf("现在没有学生信息,请先增加学生信息:\n");
}
while(p1!=0)
{
//fprintf(fp1,"学号:%d 姓名:%s 电话:%s\n",p1-num,p1-name,p1-tel);
fwrite(p1,sizeof(struct student),1,fp1);
printf("学号:%d 姓名:%s 电话:%s\n",p1-num,p1-name,p1-tel);
p1=p1-next;
}
fclose(fp1);
}
void Change()
{ struct student *p;
int num;int i; /* 这里num为第几条 */
printf("请输入要修改的第i条记录\n");
scanf("%d",num);
p=head;
for(i=1;inum;i++)
{
p=p-next;
}
printf("学号:%d 姓名:%s 电话:%s\n",p-num,p-name,p-tel);
printf("请修改学生学号:");
scanf("%d",p-num);
printf("请修改学生姓名:");
scanf("%s",p-name);
printf("请修改学生电话:");
scanf("%s",p-tel);
}
int main()
{
head=tmp1=0;
while(1)
{
printf("\n\n");
printf("\t\t*** 欢迎进入学生管理系统 ***\n");
printf("\t\t*** 请按要求输入相应信息 ***\n");
printf("\t\t*** 0.加载学生信息 ***\n");
printf("\t\t*** 1.查看学生情况 ***\n ");
printf("\t\t*** 2.增加学生信息 ***\n ");
printf("\t\t*** 3.删除学生记录 ***\n ");
printf("\t\t*** 4.查询学生记录 ***\n ");
printf("\t\t*** 5.保存学生信息 ***\n ");
printf("\t\t*** 6.修改学生信息 ***\n ");
printf("\t\t*** 7.退出 ***\n ");
printf("选择功能:");
scanf("%d",n);
switch(n)
{
case 0:
Load();
break;
case 1:
OutPut();
break;
case 2:
InPut();
break;
case 3:
Delete();
break;
case 4:
Search();
break;
case 5:
Save();
break;
case 6: Change();
break;
case 7:
exit(0);
break;
default:
printf("暂无此功能");
}
}
}
c++课程设计源代码
c++课程设计 学生管理系统源代码
#includeiostream
#includestdio.h
#includestdlib.h
#includestring.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;
coutendl;
while(1)
{
int i;
mainint:
cout"请选择相关操作:"endl"1.建立学生资料文件."endl"2.浏览."endl"3.删除."endl;
cout"4.查询."endl"5.修改."endl"6.打开学生文件."endl"7.退出管理系统." endl"请选择:";
cini;
if(i0||i7)
{
cout"输入了错误的数字,Again!"endlendl;
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
{
coutendl;
student p,q;
p=(student)malloc(sizeof(stu));
cout"请输入学生信息:"endl;
cout"姓名:";
cinp-name;
coutendl;
cout"学号:";
cinp-number;
coutendl;
cout"性别:";
cinp-sex;
coutendl;
cout"家庭住址:" ;
cinp-add;
coutendl;
cout"出生年月:" ;
cinp-time;
coutendl;
cout"宿舍号:";
cinp-snum;
coutendl;
cout"宿舍号码:";
cinp-tel;
q=s;
while(!(q-next==NULL)(q-next-numberp-number))
q=q-next;
p-next=q-next;
q-next=p;
//if()p-next=NULL;
//free(p);
}
int ldelete(student s) //delete
{
coutendl;
student p,a;
p=s ;
cout"请输入删除的学号:";
long int number;
cinnumber;
while(p)
{ if (p-number==number)
{
a-next=p-next;
free(p); return(0);}
else
{ a=p;
p=p-next;} }
cout"没有找到你要删除的选项!"endlendl;return(-1);
}
void print(student s)
{
int a;
a=0;
student p;
p=s-next;
cout"姓名 ""学号 " "性别 ""家庭住址 ""出生年月 ""宿舍号""宿舍号码"endl;
while(p)
{
a++;
coutp-name" "p-number" "p-sex" "p-add" "p-time" "p-snum" "p-tel" "endl;
p=p-next;
}
coutendl;
if (a==0)
cout"还没有学生信息!"endlendl ;
}
void find (student s) //find
{
findl:
cout"请选择查找方法:"endl"1.按姓名查找."endl"2.按学号查找."endl;
cout"请选择:";
int k;
cink;
if(k0||k3)
{
cout"输了入错误数字,Again!"endlendl;
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;
cinname;
cout"你要查找的资料是:"endl;
cout"姓名 ""学号 " "性别 ""家庭住址 ""出生日期 ""宿舍号 ""宿舍号码"endl;
while(p)
{
if (strcmp(p-name,name)==0)
{
coutp-name" "p-number" "p-sex" "p-add" "p-time" "p-snum" "p-tel" "endl;
j++;
}
p=p-next;
}
coutendl;
if(j==0)
cout"对不起,没找到你要的信息!"endlendl ;
}
void findnum(student s) //find by number
{
student p;
p=s-next;
cout"请输入学号:";
long int number;
int j;
j=0;
cinnumber;
cout"你要查找的资料是:"endl;
cout"姓名 ""学号 ""性别 ""家庭住址 ""出生日期 ""宿舍号 ""宿舍电话"endl;
while(p)
{
if (p-number==number)
{
coutp-name" "p-number" "p-sex" "p-add" "p-time" "p-snum" "p-tel" "endl;
j++;
}
p=p-next;
}
coutendl;
if(j==0)
cout"对不起,没找到你要的信息"endlendl ;
}
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;
cinnum;
cout"姓名 ""学号 ""性别 ""家庭住址 ""入学时间 ""宿舍号 ""电话号码"endl;
while(q)
{
if (q-number==num)
{
cout"你要修改的信息是:"endl;
coutq-name" "q-number" "q-sex" "q-add" "q-time" "q-snum" "q-tel" "endl;
j++;
p=(student)malloc(sizeof(stu));
cout"请输入新的学生信息:"endl;
cout"姓名:";
cinp-name;
coutendl;
cout"学号:";
cinp-number;
coutendl;
cout"年龄:";
cinp-age;
coutendl;
cout"性别:";
cinp-sex;
coutendl;
cout"家庭住址:" ;
cinp-add;
coutendl;
cout"入学时间:" ;
cinp-time;
coutendl;
cout"电话号码:";
cinp-tel;
l-next=q-next;
free(q);
goto tt;
}
else
{
l=q;
q=q-next;
}
}
coutendl;
if (j==0) cout"没找到你要的数据!"endlendl ;
tt:
while(!(m-next==NULL)(m-next-numberp-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"打不开文件"endlendl;
exit(0);
}
while(p)
{
if(fwrite(p,sizeof(struct stu),1,fp)!=1 )
{
cout"文件写入错误"endlendl;
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)
{
coutp-name" "p-number" "p-sex" "p-add" "p-time" "p-age" "p-telendl;
while(!(q-next==NULL)(q-next-numberp-number))
q=q-next;
p-next=q-next;
q-next=p;
p=(student)malloc(sizeof(stu));
}
fclose(fp1);
coutendl;
}
关于学生学籍管理系统源代码和学生学籍管理系统属于的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 04-27安卓学校app源代码(教育类app源码)[20240427更新]
- 04-27仿源代码(仿csdn源码)[20240427更新]
- 04-27八字排盘的源代码(在线排盘八字排盘)[20240427更新]
- 04-27html网站源代码(html5源代码网站)[20240427更新]
- 04-27ifstream源代码(ifstream file)[20240427更新]
- 04-27java博客源代码(个人博客源代码)[20240427更新]
- 04-27网站视频尺寸源代码(网站视频尺寸源代码怎么看)[20240427更新]
- 04-27游戏防沉迷源代码(防沉迷系统源代码)[20240427更新]
- 04-27大鱼吃小鱼源代码(小鱼源码下载)[20240427更新]
- 04-27qq音乐网页版源代码(音乐源代码)[20240427更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
-
- 公司产品推广方案,企业产品推广策划方案
- 仿源代码(仿csdn源码)[20240427更新]
- 可口可乐代码(可口可乐代码jqp3)[20240427更新]
- 八字排盘的源代码(在线排盘八字排盘)[20240427更新]
- 添加商品的html代码(html商品页面代码)[20240427更新]
- 国外开源代码社区(国外编程社区)[20240427更新]
- 代码云笔记(码云上的代码怎么使用)[20240427更新]
- 软件界面代码下载(怎么打开软件代码界面)[20240427更新]
- 帝国程序翻页的代码(帝国程序翻页的代码怎么用)[20240427更新]
- html网站源代码(html5源代码网站)[20240427更新]
- 友情链接