资源简介
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库
相关资源
- 大数(链表、数组)实现
- 单循环链表(带头结点和不带头结点
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 带头结点的单链表的c算法实现
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- 建立一个单链表并进行升序排列
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- 选课系统c (指针与链表)
- 动态链表的汇编语言实现
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 单链表的基本操作(实验)
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- STM32用链表实现多级菜单
- 数据结构课程设计——基于链表与哈
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- 哈夫曼树--链表实现编码,解码
- 单片机89c52与MLX90614红外的测温程序
- stm32f103AES加密 cbc模式
评论
共有 条评论