ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C语言实现学生信息管理系统

2021-09-29 11:02:01  阅读:260  来源: 互联网

标签:C语言 scanf 学生 break met printf 信息管理系统 t%


先看效果

录入学生信息

在这里插入图片描述

浏览学生信息

在这里插入图片描述

以学号查询学生信息

在这里插入图片描述

以姓名查询学生信息

在这里插入图片描述

修改学生信息

在这里插入图片描述
在这里插入图片描述

删除学生信息

在这里插入图片描述

头文件 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);
}

标签:C语言,scanf,学生,break,met,printf,信息管理系统,t%
来源: https://blog.csdn.net/ZZDT099/article/details/120543704

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有