学生籍贯信息记录簿系统课程设计源代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

+64编制一个学生籍贯信息记录簿,每个学生信息包括:学号、、籍贯。具体功能:

(1)创建信息链表并以磁盘文件保存;

(2)读取磁盘文件并显示输出所有学生的籍贯信息;

(3)按学号或查询其籍贯;

(4)按籍贯查询并输出该籍贯的所有学生;

(5)能添加、删除和修改学生的籍贯信息;

#include "dos.h"

#include "stdio.h"

#include "stdlib.h"

#include "conio.h"

#include "math.h"

#include "string.h"

/**********************建立链表******************************/

struct hj

{ int age;

long number;

char name[10],address[50],sex[2];

struct hj *next;

};

/**************************文件操作函数

******************************/

FILE *fp;

void openfile(char xx[20])

{

fp=fopen(xx,"ab+");

if(fp==NULL)

fp=fopen(xx,"wb");

}

/************************录入信息函数

***********************************/

void hjnew(void)

{

system("cls");

int n=0,xage;

long xnumber;

char xname[10];

char xaddress[50];

char xsex[2];

struct hj *head;

struct hj *x1,*x2;

head=NULL;

x2=NULL;

printf("\n ★★★★★欢迎使用户籍管理系统★★★★★\n");

printf("\n ★★★录入信息★★★\n");

printf("\n 〓提示输入0返回上级菜单〓

\n\n\n");

printf("\n 请输入学号【15字】:");

scanf("%ld",&xnumber);

if(xnumber==0)

goto haha;

printf("\n 请输入【10字】:");

scanf("%s",xname);

printf("\n 请输入年龄【|-__-|】:");

scanf("%d",&xage);

printf("\n 请输入性别【男OR女】:");

scanf("%s",xsex);

printf("\n 请输入籍贯【25字】:");

scanf("%s",xaddress);

while(xnumber!=0)

{

n++;

x1=(struct hj *)malloc(sizeof(struct hj));

x1->number=xnumber;

strcpy(x1->name,xname);

strcpy(x1->sex,xsex);

x1->age=xage;

strcpy(x1->address,xaddress);

if(n==1)

head=x1;

else

x2->next=x1;

x2=x1;

printf("\n 请输入学号【15字】:");

scanf("%ld",&xnumber);

if(xnumber==0)

break;

printf("\n 请输入【10字】:");

scanf("%s",xname);

printf("\n 请输入年龄【|-__-|】:");

scanf("%d",&xage);

printf("\n 请输入性别【男OR女】:");

scanf("%s",xsex);

printf("\n 请输入籍贯【25字】:");

scanf("%s",xaddress);

}

x2->next=NULL;

x1=head;

while(x1!=NULL)

{

openfile("hj.txt");

char d[5]="";

fwrite(x1,sizeof(struct hj),1,fp);

fclose(fp);

if(strstr(x1->address,d)!=NULL)

{

openfile("schj.txt");

fwrite(x1,sizeof(struct hj),1,fp);

fclose(fp);

}

else

{

openfile("qthj.txt");

fwrite(x1,sizeof(struct hj),1,fp);

fclose(fp);

}

x1=x1->next;

}

haha:;

}

/*****************************查询函数*************************/ void hjxmselect(void) //按学号方式查询函数

{

ssmmx:

int n=0;

long hh;

system("cls");

printf("\n ★★★★★欢迎使用户籍管理系统★★★★★\n");

printf("\n ★★★查询编辑信息★★★\n"); printf("\n 〓提示输入0返回上级菜单〓

\n\n\n");

相关文档
最新文档