先看效果
录入学生信息
浏览学生信息
以学号查询学生信息
以姓名查询学生信息
修改学生信息
删除学生信息
头文件 text1.h
#include<stdio.h>
#include<string.h>
struct meeting
{
int num;//学生学号
char name[20];//学生姓名
char sex[20];//学生性别
char classroom[100];//学生班级
char date[20];//学生出生日期
char contact[20];//学生联系方式
char address[20];//学生家庭住址
};
void add();//添加学生信息函数
void scan();//浏览学生信息函数
void inquire();//查询学生信息函数
void change();//修改学生信息函数
void deletel();//删除学生信息函数
函数文件 test1.cpp
#include<stdio.h>
#include<string.h>
#include"test1.h"
int n = 0;
struct meeting met[100];
struct meeting *p; //定义指针变量指向结构体类型
void add()/*添加函数*/
{
int y;
if (n == 0)
p = met; //使指针指向结构体变量
do
{
printf("\t\t\t----现在开始进行学生信息的的添加!------\n");
printf("\t\t\t现在输入学生学号:");
scanf_s("%d", &p->num);
printf("\t\t\t然后输入学生姓名:");
scanf_s("%s", &p->name,20);
printf("\t\t\t然后输入学生性别:");
scanf_s("%s", &p->sex,10);
printf("\t\t\t然后输入学生班级:");
scanf_s("%s", &p->classroom,20);
printf("\t\t\t再输入学生出生日期:");
scanf_s("%s", &p->date,20);
printf("\t\t\t再再输入学生联系方式:");
scanf_s("%s", &p->contact,20);
printf("\t\t\t最后输入学生家庭住址:");
scanf_s("%s", &p->address,20);
n++;
p++;
printf("\n\t\t\t1.有趣!我要继续输入.\n\t\t\t0.累了累了,输入完毕.\n");
printf("\t\t\t请选择:");
scanf_s("%d", &y);
} while (y == 1);
printf("\t\t\t总共输入%d个学生信息!\n", n);
}
void scan()/*浏览函数*/
{
int i, j;
if (n != 0)
{
printf("\n");
printf("\t\t\t学生总数:%d\n", n);
printf("\n学生学号\t学生姓名\t学生性别\t学生班级\t学生出生日期\t学生联系方式\t学生家庭住址\n");
printf("-----------------------------------------------------------------------------------------------------------\n");
for (i = 0; i < n; i++)
printf("%d\t\t%s\t\t%s\t\t%s\t%s\t%s\t%s\n", met[i].num, met[i].name, met[i].sex, met[i].classroom, met[i].date, met[i].contact, met[i].address);
}
else printf("\t\t\t报告,找不到学生信息,您得先输入信息啊!");
}
void inquire()/*查询函数*/
{
int c;
int w, i, j = 0;
char name[20];
if (n != 0)
{
do {
printf("\n");
printf("\t\t\t+---您有两种方式可以查询-----+\n");
printf("\t\t\t| 按学生学号查询 请按 1 |\n");
printf("\t\t\t| 按学生姓名查询 请按 2 |\n");
printf("\t\t\t| 不查了! 请按 0 |\n");
printf("\t\t\t+--------------------+\n");
printf("\t\t\t请输入您的选择:");
scanf_s("%d", &c);
switch (c)
{
case 0:break;
case 1:
printf("\t\t\t请输入学生学号;");
scanf_s("%d", &w);
printf("\n");
for (i = 0; i < n; i++)
if (met[i].num == w)
{
printf("\n学生学号\t学生姓名\t学生性别\t学生班级\t学生出生日期\t学生联系方式\t学生家庭住址\n");
printf("%d\t\t%s\t\t%s\t\t%s\t%s\t%s\t%s\n", met[i].num, met[i].name, met[i].sex, met[i].classroom, met[i].date, met[i].contact, met[i].address);
j = 1;
}
if (j == 0)
printf("\t\t\t您是不是搞错了,没有该学生学号的信息啊。。。");
break;
case 2:
printf("\t\t\t请输入学生姓名:");
scanf_s("%s", name,10);
printf("\n");
for (i = 0; i < n; i++)
if (strcmp(name, met[i].name) == 0)
{
printf("\n学生学号\t学生姓名\t学生性别\t学生班级\t学生出生日期\t学生联系方式\t学生家庭住址\n");
j = 1;
printf("%d\t\t%s\t\t%s\t\t%s\t%s\t%s\t%s\n", met[i].num, met[i].name, met[i].sex, met[i].classroom, met[i].date, met[i].contact, met[i].address);
}
if (j == 0)
printf("\t\t\t您是不是搞错了,没有该名称的学生信息啊。。。");
break;
default:
printf("\n\t\t\t不好意思,目前只能通过这两种方式查询喔!");
break;
}
} while (c != 0);
}
else printf("\t\t\t您要先输入学生信息才可以查询喔!");
return;
}
void change()/*修改函数*/
{
int num;
int i, j, c;
if (n != 0)
{
printf("\t\t\t请输入您要修改的学生学号:");
scanf_s("%d", &num);
printf("\n");
for (i = 0; i < n; i++)
if (met[i].num == num)
j = i;
do {
printf("\t\t\t请问想修改哪个学生的信息呢:\n");
printf("\t\t\t+----------------------+\n");
printf("\t\t\t| 学生姓名 请按 1 |\n");
printf("\t\t\t| 学生性别 请按 2 |\n");
printf("\t\t\t| 学生班级 请按 3 |\n");
printf("\t\t\t| 学生出生日期 请按 4 |\n");
printf("\t\t\t| 学生联系方式 请按 5 |\n");
printf("\t\t\t| 学生家庭住址 请按 6 |\n");
printf("\t\t\t| 取消 请按 0 |\n");
printf("\t\t\t+----------------------+\n");
printf("\t\t\t请输入您的选择:");
scanf_s("%d", &c);
printf("\n");
switch (c)
{
case 0:break;
case 1:printf("\t\t\t请输入新的学生姓名:");
scanf_s("%s", met[j].name,20);
break;
case 2:printf("\t\t\t请输入新的学生性别:");
scanf_s("%s", met[j].sex,20);
break;
case 3:printf("\t\t\t请输入新的学生班级:");
scanf_s("%s", met[j].classroom,20);
break;
case 4:printf("\t\t\t请输入新的学生出生日期:");
scanf_s("%s", met[j].date,20);
break;
case 5:printf("\t\t\t请输入新的学生联系方式:");
scanf_s("%s", met[j].contact,20);
break;
case 6:printf("\t\t\t请输入新的学生家庭住址:");
scanf_s("%s", met[j].address,20);
break;
default:
printf("\n\t\t\t请按正确编号选择!!");
break;
}
} while (c != 0);
}
else printf("\t\t\t提示:您得先输入学生信息才可以修改呀!");
}
void deletel()/*删除函数*/
{
long int num;
int i, j, e;
if (n != 0)
{
printf("\n学生学号\t学生姓名\t学生性别\t学生班级\t学生出生日期\t学生联系方式\t学生家庭住址\n");
printf("------------------------------------------------------------------------------------------------------\n");
for (i = 0; i < n; i++)
printf("%d\t\t%s\t\t%s\t\t%s\t%s\t\%s\t%s\n", met[i].num, met[i].name, met[i].sex, met[i].classroom, met[i].date, met[i].contact, met[i].address);
printf("\t\t\t请输入想删除的学生编号:");
scanf_s("%d", &num);
printf("\n");
for (i = 0; i < n; i++)
if (num == met[i].num)
j = i;
if (j != (n - 1))
{
for (e = i - 1; e < n; e++, j++)
{
met[j].num = met[j + 1].num;
strcpy_s(met[j].name, met[j + 1].name);
strcpy_s(met[j].sex, met[j + 1].sex);
strcpy_s(met[j].classroom, met[j + 1].classroom);
strcpy_s(met[j].date, met[j + 1].date);
strcpy_s(met[j].contact, met[j + 1].contact);
strcpy_s(met[j].address, met[j + 1].address);
n--;
}
}
else { n--; }
printf("\t\t\t提示:删除完毕!");
}
else printf("需要先输入学生信息才可以删除喔!");
}
主页面 test2.cpp
#include<stdio.h>
#include<stdlib.h>
#include"test1.h"
int main() //主界面
{
int z;
printf("\t\t\t*********************************\n");
printf("\t\t\t-》 欢迎来到学生信息管理系统 《-\n");
printf("\t\t\t*********************************\n");
printf("\t\t\t温馨提醒:请根据操作提示进行选择,让程序顺利执行,谢谢!【o。o】\n");
do
{
printf("\n\t\t\t--------------------------------\n");
printf("\t\t\t* 学生信息管理主菜单 |\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t* (1)----录入学生信息 |\n");
printf("\t\t\t* (2)----浏览学生信息 |\n");
printf("\t\t\t* (3)----查询学生信息 |\n");
printf("\t\t\t* (4)----删除学生信息 |\n");
printf("\t\t\t* (5)----修改学生信息 |\n");
printf("\t\t\t* (0)----退出系统 |\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t请输入想要进行操作的编号:");
scanf_s("%d", &z);
switch (z)
{
case 0: break;
case 1:add(); break;
case 2:scan(); break;
case 3:inquire(); break;
case 4:deletel(); break;
case 5:change(); break;
default:printf("\n\t\t\t请不要调皮,没有该选项喔!");
}
} while (z != 0);
}