#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
int year;
int month;
int day;
}Date;
typedef struct
{
char name[40];
Date birthday;
char sno[20];
char sid[20];
char address[200];
}Student;
int current = 0;//全局变量
Student stu[50];//全局变量
void insert()
{
if (current >= 50)
{
printf("对不起,由于人数已满,不能再添加新学生信息\n");
return ;
}
printf("请输入学生姓名:");
scanf("%s", stu[current].name);
printf("请输入学生出身日期 (yyyy-mm-dd) : ");
scanf("%d-%d-%d",&stu[current].birthday.year,&stu[current].birthday.month,&stu[current].birthday.day);
//其他的录入,同学们可以参考学生名字的录入方法
current++;
}
void query()
{
int hasfound = 0;
int i;
printf("请输入要查询的学生的姓名:");
char name[40];
scanf("%s", name);
printf("名字 出生日期 学号 身份证 家庭住址 \n");
printf("--------------------------------------------------------------------------\n");
for (i=0; i<current; i++)
{
if (strcmp(stu.name, name) == 0)
{
printf("%12s", stu.name);
printf(" %4d-%2d-%2d", stu.birthday.year,stu.birthday.month,stu.birthday.day);
hasfound = 1;
return;// 0;
}
}
if(hasfound == 0)
printf("该学生不存在!\n\n");
}
void update()
{
int hasfound = 0;
printf("请输入要修改的学生的姓名:");
char name[40];
int i;
scanf("%s", name);
for (i=0; i<current; i++)
{
if (strcmp(stu.name, name) == 0)
{
hasfound = 1;
printf("请输入学生姓名:");
scanf("%s", stu.name);
printf("请输入学生出身日期 (yyyy-mm-dd) : ");
scanf("%d-%d-%d",&stu.birthday.year,&stu.birthday.month,&stu.birthday.day);
return;// 0;
}
}
if(hasfound == 0)
printf("该学生不存在\n");
}
void del()
{
int hasfound = 0;
int i;
printf("请输入要删除的学生的姓名:");
char name[40];
scanf("%s", name);
for (i=0; i<current; i++)
{
if (strcmp(stu.name, name) == 0)
{
hasfound = 1;
// if (i<(current-1))
memmove(&stu, &stu[i+1], (current-1-i)*sizeof(Student));
current--;
printf("删除成功\n");
return ; //0;
}
}
if(hasfound == 0)
printf("该学生不存在\n");
}
void list()
{
printf("共有%d个学生信息\n", current);
int i;
printf("名字 出生日期 学号 身份证 家庭住址 \n");
printf("----------------------------------------------------------------------\n");
for (i=0; i<current; i++)
{
printf("%12s", stu.name);
printf(" %4d-%2d-%2d", stu.birthday.year,stu.birthday.month,stu.birthday.day);
//add others.....
printf("\n");
}
}
int main()
{
char choice;//定义一个字符类型的变量用来接收用户的菜单选择
int hasfound = 0;
char name[40];
int i;
//显示程序基本信息
printf(" 学生信息管理系统,版本1.0,版权所有2010-2020\n");
while(1)
{
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(" 0:退出程序\n");
printf("\n");
printf(" 请选择:");
choice = getch();
fflush(stdin);
printf("\n\n");
switch(choice)
{
case '1':
/*此处添加录入学生的处理代码*/
insert();
break;
case '2':
/*此处添加查询学生的处理代码*/
query();
break;
case '3':
/*此处添加修改学生信息的处理代码*/
update();
break;
case '4':
/*此处添加删除学生信息的处理代码*/
del();
break;
case '5':
/*此处添加列出学生信息的处理代码*/
list();
break;
case '6':
/*此处添加保存学生信息的处理代码*/ break;
case '7':
/*此处添加加载学生信息的处理代码*/ break;
case '0':
return 0;
default:
printf("非法选择,请重新选择\n");
}
}
return 0; //程序返回
}
|