步骤如下:
1.如下是一个Excel工作薄中的两张表,分别为Sheet1和Sheet2,下面分别以表1和表2来代替。要把表2中的语文成绩导入到表1中,但是从图中可以看出表1和表2名字并不一一对应
2.选中表1,选中C2单元格,即语文项目中第一个要录入的成绩。选择“插入—函数”命令
3.在“或选择类别”中选择“查找与引用”
4.在对应的“选择函数”中选择“VLOOKUP”,点击确定
5.在出现的“函数参数”面板点击第一个选项箭头处的按钮
6.点击“张三”名字,即“A2”单元格,表示要查找“张三”的成绩,点击上面的按钮回到面板上
7.点击第二个选项箭头处的按钮
8.选中表2,同时选择A列和B列,然后点击上面的按钮
9.因为在表2中语文成绩在第二列,所以第三项填入数字“2”
10.第四项直接填入“0”即可,点击确定
11.看到表1中张三的语文成绩出现了数值,该数值与表2相同
12.选中C2单元格,用填充柄下拉,所有的语文成绩就从表2填入表1中去了
student_face函数需要struct student 变量作为参数,这是在第一行定义函数的语句中写的:void student_face(struct student *p)。
在倒数第二行,调用student_face()时,括号里面要写上一个student结构体名。
内容是插入数据和保存数据
此函数实现的内容主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何数据,可以通过次函数输入任意个学生的信息,在输入时通过一个if条件语句来实现控制循环,当输入的姓名是“0”时,使用 break 语句就跳出循环,即停止输入学生信息。在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开 fl.txt 文件,使输入的学生信息都写入文件。然后保存其文件夹。
#include <stdio.h>
struct Student
{
int num
char name[20]
float score[3]
float avg
}stus[30]
void Add()//填加学员
void List()//学员详细列表
void Asc()//显示后三名学员
void Desc()//显示前三名学员
void Display()
void main()
{
int s
while(1)
{
printf("学员管理系统:n")
printf("1、增加学员n")
printf("2、学员详细列表n")
printf("3、显示前三名n")
printf("4、显示后三名n")
printf("5、显示平均成绩n")
printf("6、退出n")
printf("请选择:")
scanf("%d",&s)
switch(s)
{
case 1:
Add()
break
case 2:
List()
break
case 3:
Desc()
Display()
break
case 4:
Asc()
Display()
break
case 5:
Display()
break
case 6:
return
break
default:
printf("选择错误!n")
break
}
}
}
void Add()
{
int i,k
float sum
char c
for(i=0i<30i++)
{
printf("请输入第%d个学员信息:n",i+1)
printf("学号:")
scanf("%d",&stus[i].num)
printf("姓名:")
fflush(stdin)
scanf("%s",stus[i].name)
printf("请输入三门课的成绩:n")
sum=0
for(k=0k<3k++)
{
printf("%d:",k+1)
scanf("%f",&stus[i].score[k])
sum+=stus[i].score[k]
}
stus[i].avg=sum/3
printf("是否继续?")
fflush(stdin)
scanf("%c",&c)
if(c=='n' || c=='N')
return
}
}
void List()
{
int i,j=0
printf("学号t姓名t成绩1t成绩2t成绩3t平均n")
for(i=0i<30i++)
{
if(stus[i].num!=0)
{
printf("%dt%st%.2ft%.2ft%.2ft%.2fn",stus[i].num,stus[i].name,stus[i].score[0],stus[i].score[1],stus[i].score[2],stus[i].avg)
}
}
}
void Asc()
{
int i,j
struct Student c
for(i=0i<30i++)
{ for(j=0j<29-ij++)
if(stus[j].avg<stus[j+1].avg)
{
c=stus[j]
stus[j]=stus[j+1]
stus[j+1]=c
}
}
}
void Desc()
{
int i,j
struct Student c
for(i=0i<30i++)
{ for(j=0j<29-ij++)
if(stus[j].avg>stus[j+1].avg)
{
c=stus[j]
stus[j]=stus[j+1]
stus[j+1]=c
}
}
}
void Display()
{
int i,d=0
printf("学号t姓名t平均n")
for(i=0i<30i++)
{
if(stus[i].num!=0)
{
printf("%dt%st%.2fn",stus[i].num,stus[i].name,stus[i].avg)
d++
}
if(d==3)
break
}
}
看看我写的这个!
2、输入功能:可以一次完成若干条记录的输入。
3、显示功能:完成全部教师记录的显示。
4、查找功能:完成按姓名或课程查找教师的相关记录,并显示。
5、排序功能:按职工号或教学效果综合评分进行排序。
6、插入功能:按教学效果综合评分高低插入一条教师记录。
7、将教师记录存在文件中。
你说的这几个功能都不是很难
比如输入功能 就scanf函数就可以解决最核心的问题,
文件保存可以采用fwrite
如果需要,我们可以详细交流
以上就是关于如何将教务管理系统的成绩导成excel?全部的内容,如果了解更多相关内容,可以关注醉学网,你们的支持是我们更新的动力!