主函数;
#include <stdio.h>
#include "003.h"
void insert_stuMsg(STU* ,int*);
void insert_tecMsg(STU* ,int*);
void each_stu(STU*,int *);
void each_tec(STU*,int *);
void update(STU* ,int *);
void Query(STU*,int*);
int main(int argc, const char *argv[])
{
STU stuATer[100];
int num=0;
int choose;
while(1){
printf("--------------------------------------\n");
printf("------------1.插入学生信息:------------\n");
printf("------------2.插入老师信息:------------\n");
printf("------------3.遍历学生信息:------------\n");
printf("------------4.遍历老师信息:------------\n");
printf("------------5.修改信息:----------------\n");
printf("------------6.查询信息:------------\n");
printf("------------7.退出----------------------\n");
printf("--------------------------------------\n");
scanf("%d",&choose);
getchar();
switch(choose){
case 1:
insert_stuMsg(stuATer,&num);
break;
case 2:
//插入老师信息
insert_tecMsg(stuATer,&num);
break;
case 3:
//遍历学生信息
each_stu(stuATer,&num);
break;
case 4:
//遍历老师信息:
each_tec(stuATer,&num);
break;
case 5:
update(stuATer,&num);
//修改信息
break;
case 6:
//查询信息
Query(stuATer,&num);
break;
case 7:
//退出
goto END;
break;
default:
printf("输入错误!!!\n");
}
}
END:
return 0;
}
插入学生信息
#include <stdio.h>
#include "003.h"
void insert_stuMsg(STU* pstu,int* num){
printf("请输入学生id:");
scanf("%d",&((pstu+*num)->id));
getchar();
printf("请输入学生姓名:");
scanf("%s",((pstu+*num)->name));
getchar();
printf("请输入学生成绩:");
scanf("%f",&((pstu+*num)->t.score));
getchar();
printf("请输入身份钥匙(1:老师,0:学生):");
scanf("%d",&((pstu+*num)->key));
getchar();
(*num)++;
printf("输入成功:id=%d\n\n",*num);
}
插入老师信息功能函数
#include <stdio.h>
#include "003.h"
void insert_tecMsg(STU* ptec,int * pnum){
printf("请输入老师id:");
scanf("%d",&((ptec+*pnum)->id));
getchar();
printf("请输入老师姓名:");
scanf("%s",((ptec+*pnum)->name));
getchar();
printf("请输入老师绩效:");
scanf("%d",&((ptec+*pnum)->t.jixiao));
getchar();
printf("请输入身份钥匙(1:老师,0:学生):");
scanf("%d",&((ptec+*pnum)->key));
getchar();
(*pnum)++;
printf("输入成功:id=%d\n\n",*pnum);
}
遍历学生信息函数
#include <stdio.h>
#include "003.h"
void each_stu(STU* pstu,int *pnum){
// int temp=*pnum;
for(int i=0;i<*pnum;i++){
if((*(pstu+i)).key==0){
printf("id=%d, 姓名:%s, 成绩:%g\n",(pstu+i)->id,(pstu+i)->name,(pstu+i)->t.score);
}
}
}
遍历老师函数
#include <stdio.h>
2 #include "003.h"
3
4 void each_tec(STU* ptec,int *pnum){
5 for(int i=0;i<*pnum;i++){
6 if((*(ptec+i)).key==1){
7 printf("id=%d, 姓名:%s, 成绩:%d\n",(ptec+i)->id,(ptec+i)->name,(ptec+i)->t.jixiao);
8 }
9 }
10
11 }
修改信息功能函数
#include <stdio.h>
#include "003.h"
void update(STU* p,int *pnum){
printf("请输入需要修改的id:");
int temp;
scanf("%d",&temp);
for(int i=0;i<*pnum;i++){
if(temp==(p+i)->id){
if((*(p+i)).key==0){
printf("请输入修改后的姓名:");
scanf("%s",(p+i)->name);
printf("请输入修改后的成绩:");
scanf("%f",&(p+i)->t.score);
}
else if((p+i)->key==1){
printf("请输入修改后的姓名:");
scanf("%s",(p+i)->name);
printf("请输入修改后的成绩:");
scanf("%d",&(p+i)->t.jixiao);
}
}
}
printf("修改成功。。。。\n");
}
查询功能函数
#include <stdio.h>
#include "003.h"
void Query(STU* p,int *pnum){
int temp;
printf("输入查询的id:");
scanf("%d",&temp);
for(int i=0;i<*pnum;i++){
if(temp==(*(p+i)).id){
if((p+i)->key==0){
printf("id=%d, 姓名;%s, 成绩:%g\n",(p+i)->id,(p+i)->name,(p+i)->t.score);
}
else{
printf("id=%d, 姓名;%s, 成绩:%d\n",(p+i)->id,(p+i)->name,(p+i)->t.jixiao);
}
}
}
}
头文件
#ifndef __func_h__
#define __func_h__
typedef union {
float score;
int jixiao;
}Test;
typedef struct {
int id;
char name[20];
int key;//老师:1,学生:0
Test t;
}STU;
#endif