学生数据管理系统
头文件
#ifndef __DAY_1_
#define __DAY_1_
typedef union un
{
int cj;
float jx;
}test;
typedef struct s
{
int id;
char name[20];
test Test;
}ss;
void In_stu(ss*SNST,int *num,int*news);
void In_tech(ss*SNTE,int *num,int*news);
void OUT_stu(ss*SNST,int *num,int*news);
void OUT_tech(ss*SNTE,int *num,int*news);
#endif
主函数
#include<stdio.h>
#include"day4.1.h"
#define ST 100
int main(int argc, const char *argv[])
{
ss SN[ST];
int news[ST]={0};
int num=0;
int i;
while(1)
{
printf("----------------------\n");
printf("-------0 退出---------\n");
printf("----1.插入学生信息----\n");
printf("----2.插入老师信息----\n");
printf("--- 3.查看学生信息-----\n");
printf("----4.查看老师信息-----\n");
printf("-----------------------\n");
printf("输入操作\n");
scanf("%d",&i);
switch(i)
{
case 1:
In_stu(SN,&num,news);
printf("个数=%d\n",num);
break;
case 2:
In_tech(SN,&num,news);
printf("个数=%d\n",num);
break;
case 3:
OUT_stu(SN,&num,news);
break;
case 4:
OUT_tech(SN,&num,news);
break;
case 0:
goto out;
default:printf("重新输入\n");
}
}
out:
return 0;
}
功能函数
#include<stdio.h>
#include"day4.1.h"
void In_stu(ss*SNST,int *num,int*news)
{
printf("请输入学生的信息\n");
scanf("%d %s %d",&SNST[*num].id,SNST[*num].name,&SNST[*num].Test.cj);
news[*num]=1;
(*num)++;
}
void In_tech(ss*SNTE,int *num,int*news)
{
printf("输入老师的信息\n");
scanf("%d %s %f",&((SNTE+*num)->id),(SNTE+*num)->name,&((SNTE+*num)->Test.jx));
news[*num]=2;
(*num)++;
}
void OUT_stu(ss*SNST,int*num,int *news)
{
for(int i=0;i<20;i++)
{
if(news[i]==1)
printf("%d %s %d\n",SNST[i].id,SNST[i].name,SNST[i].Test.cj);
}
}
void OUT_tech(ss*SNTE,int*num,int*news)
{
for(int j=0;j<20;j++)
{
if(news[j]==2)
printf("%d %s %g\n",((SNTE+j)->id),(SNTE+j)->name,((SNTE+j)->Test.jx));
}
}
运行结果