【C/C++/初学者】基于结构体数组的学生信息管理系统

大一新生,听课+自学用结构体数组完成的简单管理系统,后面会用链表重新写一份。

目录

.h头文件:

main.c (用作启动函数)

body.c(功能函数)

head.h头文件:

void login(); 
void menu();
void watch();
void add();
void write();	
void del();
void sort();
void numsort();
void baocun();
void sort();

main.c (用作启动函数)

#include
#include"head.h"

int main()
{
	login(); 
	return 0;
} 

menu.c(菜单函数)

#include
#include
#include"head.h"

void menu()
{
	int num;
	printf("欢迎进入《学生成绩管理系统》 V3.6 \n");
	printf("===================================================\n");
	printf("1.显示学生信息√        2.添加学生信息√\n");
	printf("3.修改学生信息 √       4.删除学生信息√\n");
	printf("5.按学号查找学生信息√  6.对学生信息按学号升序排序√\n");
	printf("7.备份系统数据√        8.退出系统√\n");
	printf("===================================================\n");

	printf("请选择菜单编号:");
	scanf_s("%d", &num);

	switch (num)
	{
	  case 1: watch();break;
	  case 2: add();break;  
	  case 3: write();break;
	  case 4: del();break;
	  case 5: numsort();break;
	  case 6: sort();break;
	  case 7:baocun();break;
	  case 8: exit(0);
	  default:printf("请选择你想要的菜单项:");
	}
	printf("\n");
	system("cls");
}

body.c(功能函数)

#include
#include   //字符串相关指令
#include  //用于字符处理的指令
#include  //包含清屏指令
#include"head.h"


//个人信息结构体的定义
typedef struct student
{
	int  num;       //学号
	char name[10]; //姓名
	char sex[3];       //性别
	char tel[12];  //电话
	char address[50];//家庭住址
	int  age;//年龄
}STU;

STU stu1[5]; 
int count=0;  //计数器

//函数功能 登录√
void login()
{
	long passworld;   //密码
	char ac[10],i,j;  //i用来保存能登录的次数
	printf("欢迎登录《学生成绩管理系统》V3.2\n");
	printf("--------【登录账号】--------\n");

	for (i = 0; i<3; i++)
	{
		printf("请输入用户名:");
		scanf("%s", &ac);
		for (j = 0; j<3; j++)
		{
			printf("请输入密码:");
			scanf("%ld",&passworld);
			if(passworld==123456) 
				break;
			else 
			    printf("对不起,把你登陆失败,请重新进行登录!\n");
		} 
			printf("\n登录成功!\n");
			printf("按任意键进入学生信息管理系统!\n");

			system("pause");   //暂停指令
			system("cls");     //清屏指令

			menu();	
	}
}

//函数功能:显示学生信息 √
void watch()
{
	int i;
	printf("\n--------【显示学生信息】--------\n");
	printf("学号\t姓名\t性别\t年龄\t电话\t家庭住址\n");

	for(i=0;istu1[j+1].num)//比较两个元素,满足条件交换,改变符号可更改所排的顺序
			{
				temp=stu1[j];  //交换顺序

				stu1[j]=stu1[j+1];

				stu1[j+1]=temp;
			}
		}
	}
	printf("恭喜,排序成功!\n");

	system("pause");   //暂停指令
	system("cls");     //清屏指令
	menu();
}

//函数功能:保存信息 √
void baocun()
{
	 int i;
	 FILE *fp;  //定义文件指针

	 printf("\n--------【保存学生信息】--------\n");

	 if((fp=fopen("student9999.txt", "w"))==NULL); //以只写形式打开文件,若失败,则返回NULL,并新建一个文件
	 {
		 for (i=0;i

你可能感兴趣的:([C/C++/初学者],c语言)