求一个C语言学生学籍管理系统源代码 急求C语言源代码 题目:学生学籍管理系统 用数据文件存放学生...

作者&投稿:独孤庾 (若有异议请与网页底部的电邮联系)
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>#define N 100
struct student
{char XUEHAO[20];
char XINGMING[10];
char XINGBIE[4];
char SHENGRI[10];
char JIGUAN[10];
char ZHUANYE[10];
char BANJI[6];
char XUEYUAN[20];
}student;void CAIDAN();
void ZHUCE();
void XIUGAI();
void SHANCHU();
void del_XUEHAO(FILE *fp);
void del_XINGMING(FILE *fp);
void CHAZHAO();
void sch_XUEHAO(FILE *fp);
void sch_XINGMING(FILE *fp);
void TONGJI();
void XIANSHI();
void TIANJIA();
void save( struct student student[]);main()
{ char choose,yes_no;
do
{ CAIDAN();
printf("\n 请输入序号: (1~8) ");
choose=getch();
system("cls");
switch(choose)
{
case'1': printf(" %c",choose);ZHUCE();break;
case'2': printf(" %c",choose);XIUGAI();break;
case'3': printf(" %c",choose);SHANCHU();break;
case'4': printf(" %c",choose);TIANJIA();break;
case'5': printf(" %c",choose);CHAZHAO();break;
case'6': printf(" %c",choose);TONGJI();break;
case'7': printf(" %c",choose);XIANSHI();break;
case'8': break;
default:printf("\n %c 序号不对!\n",choose);
}
if(choose=='8')break;
printf("\n 要继续选择吗 ? (Y/N) \n");
do
{ yes_no=getch(); printf(" %c",yes_no);}
while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='Y'||yes_no=='y');
}
void CAIDAN()
{
system("cls");
printf(" **************************************** \n ");
printf(" * ——请选择相应的功能—— * \n ");
printf(" * 1-----注册 * \n ");
printf(" * 2-----修改学生信息 * \n ");
printf(" * 3-----删除学生信息 * \n ");
printf(" * 4-----添加学生信息 * \n ");
printf(" * 5-----查找学生信息 * \n ");
printf(" * 6-----统计学生信息 * \n ");
printf(" * 7-----显示学生信息 * \n ");
printf(" * 8-----退出系统 * \n ");
printf(" **************************************** \n ");
}/*定义学生信息注册的函数*/
void ZHUCE()
{ int i=1;
struct student temp;
FILE *fp;
fp=fopen("G://123.txt","w");
if(fp==NULL){ printf("\n 打开文件失败! \n");return; }
printf("\n 请输入第1个学生信息:\n");
printf(" 学号(用#结束输入): ");
do
{ gets(temp.XUEHAO);}
while(strcmp(temp.XUEHAO," ")==0);
printf(" 姓名(用#结束输入): ");gets(temp.XINGMING);
printf(" 性别(用#结束输入): ");gets(temp.XINGBIE);
printf(" 生日(用#结束输入): ");gets(temp.SHENGRI);
printf(" 籍贯(用#结束输入): ");gets(temp.JIGUAN);
printf(" 专业(用#结束输入): ");gets(temp.ZHUANYE);
printf(" 班级(用#结束输入): ");gets(temp.BANJI);
printf(" 学院(用#结束输入): ");gets(temp.XUEYUAN);
while(temp.XUEHAO[0]!='#'&&temp.XINGMING[0]!='#'&&temp.XINGBIE[0]!='#'&&temp.SHENGRI[0]!='#'&&temp.JIGUAN[0]!='#'&&temp.ZHUANYE[0]!='#'&&temp.BANJI[0]!='#'&&temp.XUEYUAN[0]!='#')
{ fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XUEYUAN,temp);
i++;
printf("\n 请输入第 %d 个学生信息:\n ",i);
printf(" 学号(用#结束输入): ");
do
{ gets(temp.XUEHAO);}
while(strcmp(temp.XUEHAO," ")==0);
printf(" 姓名(用#结束输入): ");gets(temp.XINGMING);
printf(" 性别(用#结束输入): ");gets(temp.XINGBIE);
printf(" 生日(用#结束输入): ");gets(temp.SHENGRI);
printf(" 籍贯(用#结束输入): ");gets(temp.JIGUAN);
printf(" 专业(用#结束输入): ");gets(temp.ZHUANYE);
printf(" 班级(用#结束输入): ");gets(temp.BANJI);
printf(" 学院(用#结束输入): ");gets(temp.XUEYUAN);
}
student=temp;
save(&temp);
fclose(fp);
}/*定义保存函数*/
void save( struct student student[])
{
FILE *fp=NULL;
fp=fopen("G://123.txt","ab+");
fwrite(student,sizeof(struct student),1,fp);
fclose(fp);
}
/*定义查找学生信息的函数*/
void CHAZHAO()
{ char c;
FILE *fp;
fp=fopen("G://123.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败! \n");return; }
printf("\n 按学号查找( 1 ),还是按姓名查找( 2 )? ");
c=getch();
putch(c);
if(c=='1') sch_XUEHAO(fp);
else if(c=='2') sch_XINGMING(fp);
else printf("\n 非法字符!\n");
fclose(fp);
}
/*定义按学号查找学生信息的函数*/
void sch_XUEHAO(FILE *fp)
{ int flag=0,n=0;
char tempXUEHAO[20];
struct student temp;
printf("\n 请输入要查找学生信息的学号: ");
gets(tempXUEHAO);
while(feof(fp)==0)
{ fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",&temp.XUEHAO,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.ZHUANYE,&temp.BANJI,&temp.XUEYUAN);
if(strcmp(tempXUEHAO,temp.XUEHAO)==0)
{ if(flag==0)
printf(" 学号 姓名 性别 生日 籍贯 专业 班级 学院\n");
printf("%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XUEYUAN);
flag=1;
}
n++;
}
if(n==0) printf("\n 文件中无此信息!\n");
else if(flag==0) printf("\n 文件中无此人!\n");
}
/*定义按姓名查找学生信息的函数*/
void sch_XINGMING(FILE *fp)
{ int flag=0,n=0;
char tempXINGMING[10];
struct student temp;
printf("\n 请输入要查找学生信息的姓名: ");
gets(tempXINGMING);
while(feof(fp)==0)
{ fscanf(fp, "%5s%10s%10s%10s%10s%10s%10s%10s\n",&temp.XUEHAO,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.ZHUANYE,&temp.BANJI,&temp.XUEYUAN);
if(strcmp(tempXINGMING,temp.XINGMING)==0)
{ if(flag==0) printf(" 学号 姓名 性别 生日 籍贯 专业 班级 学院\n");
printf("%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.ZHUANYE,temp.BANJI,temp.XUEYUAN);
flag=1;
}
n++;
}
if(n==0) printf("\n 文件中无此信息!\n");
else if(flag==0) printf("\n 文件中无此人!\n");
}
/*定义删除学生信息的函数*/
void SHANCHU()
{ char c;
FILE *fp;
fp=fopen("G://123.txt","r");
if(fp==NULL)
{ printf("\n 文件打开失败!\n ");return; }
printf("\n 按学号删除( 1 ),还是按姓名删除( 2 )? ");
c=getch();
putch(c);
if(c=='1') del_XUEHAO(fp);
else if(c=='2') del_XINGMING(fp);
else printf("\n 非法字符!\n");

}/*定义按学号删除学生信息的函数*/
void del_XUEHAO(FILE *fp)
{ char tempXUEHAO[20];
int n=0,i=0,k;
struct student stu[N];
while(feof(fp)==0)
{ fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",stu[i].XUEHAO,stu[i]. XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].ZHUANYE,stu[i].BANJI,stu[i].XUEYUAN);i++;n++;}
fclose(fp);
printf("\n 请输入要删除的学生信息的学号:");
scanf("%s",tempXUEHAO);
printf(" 删除成功! ");
for(i=0;i<n;i++)
if(strcmp(tempXUEHAO,stu[i].XUEHAO)==0)break;
if(i<n)
for(k=i;k<n;k++)
stu[k]=stu[k+1];
else printf("\n 无此人!\n");
fp=fopen("G://123.txt","w");
if(fp==NULL)
{ printf("\n 文件打开失败!\n");return; }
for(i=0;i<n-1;i++)
fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",stu[i].XUEHAO,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].ZHUANYE,stu[i].BANJI,stu[i].XUEYUAN);
}

如果你写一个学籍管理系统,我建议不要用C语言,因为在数据库领域,它的开发效率不是太高。而用PB或DELPHI或VFP就不一样了。而实在你想熟悉C的话,写也没有人怪你。

求一个用C++语言写的学生信息管理系统源代码~

#include
#include
#include
#include
#include
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;//本科生识别

#include
#include
#include
#include
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("开始读取学生信息
");
head=0;
while(1){
tmp=malloc(sizeof(struct student));
tmp->next=0;
//i=fscanf(fp1,"学号:%d 姓名:%s 电话:%s
",&(tmp->num),tmp->name,tmp->tel);
i=fread(tmp,sizeof(struct student),1,fp1);
if(i==1){
if(head==0)
q=head=tmp;
printf("读取一条学生信息
");
q->next=tmp;
q=q->next;
}else{
fclose(fp1);
return;
}
}
}
void OutPut()
{
tmp1=head;
while(tmp1!=0)
{
printf("学号:%d 姓名:%s 电话:%s
",tmp1->num,tmp1->name,tmp1->tel);
tmp1=tmp1->next;

}
}
void InPut( )
{ struct student *q,*p;
printf("请按要求增加学生信息:
");
p=malloc(sizeof(struct student));
printf("请输入学生学号:");
scanf("%d",&p->num);
printf("
请输入学生姓名:");
scanf("%s",p->name);
printf("
请输入学生电话:");
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条记录
");
scanf("%d",&num);
if(num==1)
{head=head->next;}/*删除头节点*/
p=head;
for(i=1;i<num-1;i++) /*移动p指向要删除的节点*/
{p=p->next;}
if (num>1)
p->next=(p->next)->next;/*例如:把2 4节点链接,删除3节点*/
printf("删除成功,请查看
");
}
void Search()
{ char c[20];
char tmp2_num[20];
printf("请输入需要查询的信息内容:
");
scanf("%s",c);
printf("你要查询的内容为:
");
tmp2=head;/*进行遍历*/
while(tmp2!=0)
{
printf("学号:%d姓名:%s电话:%s
",tmp2->num,tmp2->name,tmp2->tel);
if (strncasecmp(tmp2->name,c,strlen(c))==0)
printf("姓名匹配成功
");
/*进行匹配*/
if (strncasecmp(tmp2->tel,c,strlen(c))==0)
printf("电话匹配成功
");
sprintf(tmp2_num,"%d",tmp2->num);
if(strncasecmp(tmp2_num,c,strlen(c))==0)
printf("学号匹配成功
");
tmp2=tmp2->next;
}
}
void Save()
{
FILE *fp1;
struct student *q,*p1;
fp1=fopen("file.txt","w");
p1=0;
p1=head;
if(head==0)
{
printf("现在没有学生信息,请先增加学生信息:
");
}
while(p1!=0)
{
//fprintf(fp1,"学号:%d 姓名:%s 电话:%s
",p1->num,p1->name,p1->tel);
fwrite(p1,sizeof(struct student),1,fp1);

printf("学号:%d 姓名:%s 电话:%s
",p1->num,p1->name,p1->tel);

p1=p1->next;
}
fclose(fp1);
}
void Change()
{ struct student *p;
int num;int i; /* 这里num为第几条 */
printf("请输入要修改的第i条记录
");
scanf("%d",&num);
p=head;
for(i=1;i<num;i++)
{
p=p->next;
}
printf("学号:%d 姓名:%s 电话:%s
",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("

");
printf("*** 欢迎进入学生管理系统 ***
");
printf("*** 请按要求输入相应信息 ***
");
printf("*** 0.加载学生信息 ***
");
printf("*** 1.查看学生情况 ***
");
printf("*** 2.增加学生信息 ***
");
printf("*** 3.删除学生记录 ***
");
printf("*** 4.查询学生记录 ***
");
printf("*** 5.保存学生信息 ***
");
printf("*** 6.修改学生信息 ***
");
printf("*** 7.退出 ***
");
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语言学生学籍管理系统源代码
答:case'1': printf(" %c",choose);ZHUCE();break;case'2': printf(" %c",choose);XIUGAI();break;case'3': printf(" %c",choose);SHANCHU();break;case'4': printf(" %c",choose);TIANJIA();break;case'5': printf(" %c",choose);CHAZHAO();break;case'6': printf(" %c",...

急求C语言源代码 题目:学生学籍管理系统 用数据文件存放学生的学籍,可...
答: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...

C语言课程设计:学生学籍管理系统。有谁有代码给我做个参考吗?谢谢了...
答:print();printf("\nPress any key Continue ");//getchar();getchar();break;case '2': //调用按学号查找学生信息的函数;并输出查找结果信息;long c;printf("input the number you want to find:");scanf("%ld",&c);find(c);printf("\nPress any key Continue.");getchar();break...

学生学籍管理系统c语言代码(急需,致谢!)
答:籍贯.系别.专业.班级;修改已知学号的学生信息;删除已知学号的学生信息;查找已知学号的学生信息;按学号输出学生籍贯表。设计一个名为status.c的程序,该程序中的主函数显示系统菜单,并读入用户的选择,然后通过调用其它五个函数来实现系统的五项功能;下面给出主函数和其它五个函数的程序功能供参考:主函数功能:显示功能菜...

用c语言编写一个学生学籍管理系统
答:cout<<"\n\n ☆☆☆欢迎进入高校学籍管理系统☆☆☆"<<endl<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * 1: 录入学生信息 * *"...

C语言设计一个学生学籍管理系统,要求文件形式保存,且用到链表
答:char filename[] = "D:\\编程学习\\编程实践\\c语言课程设计1 学生信息管理\\data.txt"; //文件名,此处为简化编程,采用固定地址名称,未作输入 FILE *fp; pstu head,ptr; //创建带表头结点的空单链表head,用来存放载入信息 head = (pstu)malloc(SIZE); ptr = head; ptr->next = NULL; //加载...

C语言编程 学籍管理系统
答:C语言编程 学籍管理系统 (1)删除模块通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,先在A.TXT中得到该生的学号,删除该生信息,再... (1)删除模块 通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,...

c语言学生学籍管理系统
答:c语言学生学籍管理系统 已知要求管理的学生信息包括:学号、姓名、性别、年龄。设计一个程序,完成如下功能:(1)能从键盘上输入若干学生的信息(2)能将学生的信息保存到磁盘上(3)能从指定的磁盘文件中读... 已知要求管理的学生信息包括:学号、姓名、性别、年龄。设计一个程序,完成如下功能:(1)能从键盘上输入若干...

c语言:学生学籍管理系统
答:scanf("\n%c",&stud[n].sex);printf("\n请输入要添加的年龄:");scanf("%d",&stud[n].age);printf("\n请输入要添加的班级:");scanf("%s",stud[n].clas);printf("\n请输入要添加的籍贯:");scanf("%s",stud[n].place);printf("\n请输入要添加的系别:");scanf("%s",stud[...

用c语言编写一个学生管理系统
答:cout<<"\n\n ☆☆☆欢迎进入高校学籍管理系统☆☆☆"<<endl<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * 1: 录入学生信息 * *"...