资源简介

Visual C++6.0下可运行,功能包含着 对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。 1)本系统采用一个包含N个数据的结构体数组,每个数据的结构包括:学号、姓名、性别、年龄、备注。 (2)本系统显示这样的菜单: 请选择系统功能项: a 学生基本信息录入 b 学生基本信息显示 c 学生基本信息保存 d 学生基本信息删除 e 学生基本信息修改(要求先输入密码) f 学生基本信息查询 1)按学号查询 2)按姓名查询 3)按性别查询 4)按年龄查询 g. 退出系统 (3)执行一个具体的功能之后,程序将重新显示菜单。 (4)将学生基本信息保存到文件中。 (5)进入系统之前要先输入密码。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 

#define N 29
#define MAX_NAME 29
#define MAX_ADDRESS 29
#define MAX_PASSWORD 29

typedef struct person
{
char name[MAX_NAME];
char sex;
long num;
int age;
char address[MAX_ADDRESS];
}Person;

typedef struct link
{
Person per;
struct link *next;
}link;

void Password();
void Zailu();
int Menu();
int Menu2();
void Append();
void Show();
void Search();
void Delete();
void Update();
void Sort();
void Save();
void Input(Person *p);
void Printf(Person *p);
void Printf2(Person *p);

void SortName();
void SortNumber();

void Query(int flag);
void Number_Query();
void Name_Query();
void Sex_Query();
void Age_Query();
int Menu_Query();


struct link *head=NULL;

void main()
{
Password();
while(1)
{
switch(Menu())
{
case 1:
Zailu();
break;
case 2:
Append();
break;
case 3:
Search();
break;
case 4:
Delete();
break;
case 5:
Update();
break;
case 6:
Sort();
break;
case 7:
Show();
break;
case 8:
Save();
break;
case 9:
printf(“谢谢使用!欢迎下次再来......\n“);
exit(0);
default:
printf(“error\n“);
break;
}
}
}

void Password()
{
char password[MAX_PASSWORD]pw[9]=“920“;
int flag=0ij;
j=strlen(pw);
printf(“请输入密码:“);
while(flag==0)
{
for(i=0;i {
password[i]=getch();
printf(“*“);
}
password[i]=‘\0‘;
if(strcmp(passwordpw)==0)
{
printf(“\n欢迎欢迎,热烈欢迎......\n“);
getch();
flag=1;
}
else
printf(“密码错误,请重新输入:“);
}
}

void Zailu()
{
FILE *fp;
struct link *p=head*p1=NULL;
fp=fopen(“dangan.txt““r“);
while(!feof(fp))
{
p1=(struct link *)malloc(sizeof(struct link));
p1->next=NULL;
if(head==NULL)
head=p1;
else
p->next=p1;
p=p1;
fscanf(fp“%s %c %ld“p->per.name&p->per.sex&p->per.num);
fscanf(fp“%d%s“&p->per.age&p->per.address);
}
fclose(fp);
printf(“读取文件成功!按任意键继续....“);
getch();
}

void Append()
{
struct link *p=NULL*pr=head;
char ch;
p=(struct link *)malloc(sizeof(struct link));
p->next=NULL;
if(head==NULL)
head=p;
else
{
while(pr->next!=NULL)
{
pr=pr->next;
}
pr->next=p;
}
Input(&(p->per));
printf(“是否继续添加(Y继续,N返回菜单)“);
scanf(“ %c“&ch);
if(ch==‘Y‘ || ch==‘y‘)
Append();
}


void Show()
{
struct link *p=head;
int i=0;
if(head!=NULL)
printf(“姓名        性别       学号          年龄     地址\n“);
while(p!=NULL)
{
i++;
Printf2(&(p->per));
p=p->next;
}
if(i==0)
printf(“没有该学生\n“);
printf(“\n按任意键继续.....“);
getch();
}


void Delete()
{
int flag=0;

char ch;
    char mingzi[N];
struct link *p=head*pr=head;
puts(“请输入要删除的学生姓名:“);
scanf(“%s“&mingzi);
printf(“确定要删除吗?(Y是,N否)“);
scanf(“ %c“&ch);
if(ch==‘y‘ || ch==‘Y‘ )
{
while(p!=NULL)
{
if(strcmp(p->per.namemingzi)==0)
{
Printf(&(p->per

评论

共有 条评论