资源简介
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
- 上一篇:合一算法演示
- 下一篇:STC单片机原理图库和PCB库
相关资源
- C 程序设计学生宿舍管理系统
- TDC-GP2激光测距应用
- XX管理系统
- 数据结构课程设计全部系统合集超市
- 中南民大数据结构-八皇后问题含实验
- 电磁环岛相关资料.zip
- 人机交互实验-命令行菜单界面
- 中缀表达式求值
- 静态链表和动态链表详细讲解教程
- 用带表头的链表存放输入的数据,每
- 模拟实现采用二级目录结构的磁盘文
- 基于DSP的语音录放实验程序
- 一个随笔画程序
- 标准C实现FTP上传功能
- 稀疏矩阵相加相乘三元组、十字链表
- 十字链表的定义及实现
- 中南大学单片机课设 密码锁
- 交通灯控制系统
- funcode坦克大战源码
- 数据结构与算法全集C源代码+详细注释
- Open62541 win32 动态库
- Proteus8.9 VSM Studio WINAVR编译器仿真ATM
- 温度测试代码加仿真图protues
- 截图、抓屏程序纯C实现
- 树控件加载磁盘文件的实现
- 排队论的仿真 离散事件系统仿真
- C代码版本的HTTP POST上传文件/JSON
- 图书管理系统数据
- 进程调度 时间片轮转与优先级 作业调
- 数字钟仿真+源程序.zip
评论
共有 条评论