1.30C高级,学生信息管理系统(简略)

_stu_teach_manage.c

#include <stdio.h>
#include "./04_stu_teach_manage.h"

int main(int argc, const char *argv[])
{
	Info ManArray[N]={0};
	int num=0;     //初始数组存储为0
	int choose;

	while(1)
	{
		printf("*****student and teacher manage*****\n");
		printf("********   1.插入学生信息  *********\n");
		printf("********   2.插入老师信息  *********\n");
		printf("********   3.便利学生信息  *********\n");
		printf("********   4.便利老师信息  *********\n");
		printf("********   5.退出          *********\n");
		printf("************************************\n");
		printf("请选择:--->");
		scanf("%d",&choose);
		getchar();

		switch(choose)
		{
		case 1:
			Insert_stu_Msg(ManArray, &num);
			break;
		case 2:
			Insert_teach_Msg(ManArray, &num);
			break;
		case 3:
			output_stu(ManArray, num);
			break;
		case 4:
			output_teach(ManArray, num);
			break;
		case 5:
			goto END;
			break;
		default:
			printf("输入错误,请重新输入\n");
			break;

		}

	}
END:

	return 0;
}

_stu_teach_func.c

#include <stdio.h>
#include "./04_stu_teach_manage.h"


void Insert_stu_Msg(Info *pArr, int *pnum)
{

    printf("输入stuId-->");            
    scanf("%d",&pArr[*pnum].id);    
    printf("输入stuName-->");            
    scanf("%s",pArr[*pnum].name);   
    printf("输入stuScore-->");            
    scanf("%f",&pArr[*pnum].flag.score);
	printf("  0学生  1老师  -->");	
	scanf("%d",&pArr[*pnum].role);
    (*pnum)++;                      


	return ;
}

void Insert_teach_Msg(Info *pArr, int *pnum)                                   
{   

	printf(" 输入 teacherId -->");
	scanf("%d",&pArr[*pnum].id);
	printf("输入teacherName -->");
	scanf("%s",pArr[*pnum].name);
	printf("输入teacherPerf -->");
	scanf("%f",&pArr[*pnum].flag.score);
	printf("  0学生  1老师  -->");
	scanf("%d",&pArr[*pnum].role);
	(*pnum)++;


    return ;                                                                      
}                                                                                 

void output_stu(Info *pArr,int num)
{
	int i=0;
	for(i=0; i<num ; i++)
	{
		if(pArr[i].role == 0)
		{
			printf("%d %s %g %d\n\n",pArr[i].id, pArr[i].name, pArr[i].flag.score, pArr[i].role);
		}
	}

	return ;
}

void output_teach(Info *pArr,int num)                                                                   
{                                                                                             
    int i=0;                                                                                  
    for(i=0; i<num ; i++)                                                                        
    {                                                                                         
        if(pArr[i].role == 1)                                                                 
        {                                                                                     
            printf("%d %s %g %d\n\n",pArr[i].id, pArr[i].name, pArr[i].flag.perf, pArr[i].role);
        }                                                                                     
    }                                                                                         
                                                                                              
    return ;                                                                                  
}                                                                                             

_stu_teach_manage.h

#ifndef __FUNC__     
#define __FUNC__     

#define N 100        

typedef union        
{                    
	float score;     
	float perf;      
}Sign;               

typedef enum
{
	T,
	S
}Role;

typedef struct       
{                    
	int id;          
	char name[20];
	Sign flag;
	int role;    //S代表学生   T代表老师
}Info;               

void Insert_stu_Msg(Info *pArr, int *pnum);
void Insert_teach_Msg(Info *pArr, int *pnum); 
void output_stu(Info *pArr,int num);
void output_teach(Info *pArr,int num);

#endif

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值