輸出指定學生成績
Ⅰ 9. 建立存儲過程get sum 用於求取特定學生的總成績.輸入參數為學號 輸出參數為
創建過程:(Oracle)
create procere get_sum(sn int) 這個參數類型要和學號數據類型一致、你根據自己表中換吧專
as
sumgrade int;
begin
select SUM(成績) into sumgrade from 選課表
where 學號=sn;
dbms_output.put_line(sumgrade);
end get_sum;
執行:輸出屬指定學號為1的學生的總成績
exec get_sum(1)
Ⅱ 用java在eclipse裡面寫出一下代碼 其中要與資料庫連接實現增刪改查的功能 還要有資料庫的SQL文件
不是很難,就自己寫吧
Ⅲ 幫我改一道C語言編程題,有3個人各有4科成績,先用函數求所有成績平均值,再用函數輸出指定學生的4科成績
#include <stdio.h>
struct student
{
float score[4];
};
double average(student *d,int n);
void search(student *d);
int main(int argc, char* argv[])
{
student stu[3]={{65,57,70,60},{58,87,90,81},{90,99,100,98}};
double aver;
aver=average(stu,12);
printf("The average of score is:%.2f\n",aver);
search(stu);
return 0;
}
double average(student *d,int n)
{
double a=0;
int i;
for(i=0;i<3;i++)
for(int j=0;j<4;j++)
a+=d[i].score[j];
a/=n;
return a;
}
void search(student *d)
{
extern *pd;
int t;
printf("%s","請輸入要查找的學生編號:");
scanf("%d",&t);
printf("第%d個學生的成績是:\n",t);
for(int j=0;j<4;j++)
printf("%.2f \n",d[t-1].score[j]);
}
我用結構體做了一個。感覺比用二位數組好用很多。
Ⅳ 創建一個存儲過程,給定某學生學號,要求查詢出該學生的姓名,所選課程名和成績.(SQL SERVER)
/*創建存儲過程*/
CREATE PROCEDURE proc_select--建立存儲過程
@Sno char(10) output,--輸入輸出參數
@Sname varchar(20) out,--輸出參數
@Cno char(4) out,--輸出參數
@grade tinyint out--輸出參數
AS
SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select裡面寫輸出參數
FROM Student,SC --從學生表,選修表中查詢
where @Sno=Student.Sno--where裡面寫輸入參數
/*根據給定學號查詢*/
CREATE PROC proc_lab4 --存儲過程中含有游標
@Sno char(10)
as
declare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--聲明四個變數
declare cursor_s cursor--聲明游標
for
select Student.Sno,Sname,Cname,grade
from Student,Course,SC--從三個表中選擇學號、姓名、課程名、成績
where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@Sname;--連接
open cursor_s--打開游標
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
while @@fetch_status=0
begin
print @ssno+@ssname+@ccname+convert(char(10),@scg)
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
end
close cursor_s--關閉游標
deallocate cursor_s--釋放游標
exec proc_lab4 '201215121'
--只帶輸入參數
CREATE PROC p2
@sno char(10)
as
select Student.Sno,Sname,Cname,grade
from Student,SC,Course
where Student.Sno=SC.Sno and SC.Cno=Course.Cno
and Sname=@sname
(4)輸出指定學生成績擴展閱讀:
創建存儲過程基本語法
create procere sp_name
@[參數名] [類型],@[參數名] [類型]
as
begin
.........
end
以上格式還可以簡寫成:
create proc sp_name
@[參數名] [類型],@[參數名] [類型]
as
begin
.........
end
/*註:「sp_name」為需要創建的存儲過程的名字,該名字不可以以阿拉伯數字開頭*/
Ⅳ 8.創建一個存儲過程,查詢某個學生某門課程的考試成績(學生名和課程名為輸入參數),要求顯示姓名,課名和
create proc 取一個過程名 @學生名 char(數值),@課程名 char(數值)
as
select @學生名 @課程名 成績名
from 該表名
where 該表學生名欄位=@學生名 and 該表課程名欄位=@課程名
go
exec 剛取得那個過程名 『隨便取一個學生名驗證』,『隨便取一個課程名驗證』
Ⅵ C語言程序設計學生成績管理系統
#include
"stdio.h"
/*定義學生結構體*/
struct
Student
{
char
ID[20];
char
Name[20];
float
Mark1;
float
Mark2;
float
Mark3;
float
Average;
};
/*聲明學生數組及學生數量*/
struct
Student
students[1000];
int
num=0;
/*求平均值*/
float
Avg(struct
Student
stu)
{
return
(stu.Mark1+stu.Mark2+stu.Mark3)/3;
}
/*通過學號返回數組下標*/
int
Student_SearchByIndex(char
id[])
{
int
i;
for
(i=0;i<num;i++)
{
if
(strcmp(students[i].ID,id)==0)
{
return
i;
}
}
return
-1;
}
/*通過姓名返回數組下標*/
int
Student_SearchByName(char
name[])
{
int
i;
for
(i=0;i<num;i++)
{
if
(strcmp(students[i].Name,name)==0)
{
return
i;
}
}
return
-1;
}
/*顯示單條學生記錄*/
void
Student_DisplaySingle(int
index)
{
printf("%10s%10s%8s%8s%8s%10s\n","學號","姓名","成績","成績","成績","平均成績");
printf("-------------------------------------------------------------\n");
printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[index].ID,students[index].Name,
students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average);
}
/*插入學生信息*/
void
Student_Insert()
{
while(1)
{
printf("請輸入學號:");
scanf("%s",&students[num].ID);
getchar();
printf("請輸入姓名:");
scanf("%s",&students[num].Name);
getchar();
printf("請輸入成績:");
scanf("%f",&students[num].Mark1);
getchar();
printf("請輸入成績:");
scanf("%f",&students[num].Mark2);
getchar();
printf("請輸入成績:");
scanf("%f",&students[num].Mark3);
getchar();
students[num].Average=Avg(students[num]);
num++;
printf("是否繼續?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*修改學生信息*/
void
Student_Modify()
{
float
mark1,mark2,mark3;
while(1)
{
char
id[20];
int
index;
printf("請輸入要修改的學生的學號:");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
if
(index==-1)
{
printf("學生不存在!\n");
}
else
{
printf("你要修改的學生信息為:\n");
Student_DisplaySingle(index);
printf("--
請輸入新值--\n");
printf("請輸入學號:");
scanf("%s",&students[index].ID);
getchar();
printf("請輸入姓名:");
scanf("%s",&students[index].Name);
getchar();
printf("請輸入成績:");
scanf("%f",&students[index].Mark1);
getchar();
printf("請輸入成績:");
scanf("%f",&students[index].Mark2);
getchar();
printf("請輸入成績:");
scanf("%f",&students[index].Mark3);
getchar();
students[index].Average=Avg(students[index]);
}
printf("是否繼續?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*刪除學生信息*/
void
Student_Delete()
{
int
i;
while(1)
{
char
id[20];
int
index;
printf("請輸入要刪除的學生的學號:");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
if
(index==-1)
{
printf("學生不存在!\n");
}
else
{
printf("你要刪除的學生信息為:\n");
Student_DisplaySingle(index);
printf("是否真的要刪除?(y/n)");
if
(getchar()=='y')
{
for
(i=index;i<num-1;i++)
{
students[i]=students[i+1];
}
num--;
}
getchar();
}
printf("是否繼續?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*按姓名查詢*/
void
Student_Select()
{
while(1)
{
char
name[20];
int
index;
printf("請輸入要查詢的學生的姓名:");
scanf("%s",&name);
getchar();
index=Student_SearchByName(name);
if
(index==-1)
{
printf("學生不存在!\n");
}
else
{
printf("你要查詢的學生信息為:\n");
Student_DisplaySingle(index);
}
printf("是否繼續?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*按平均值排序*/
void
Student_SortByAverage()
{
int
i,j;
struct
Student
tmp;
for
(i=0;i<num;i++)
{
for
(j=1;j<num-i;j++)
{
if
(students[j-1].Average<students[j].Average)
{
tmp=students[j-1];
students[j-1]=students[j];
students[j]=tmp;
}
}
}
}
/*顯示學生信息*/
void
Student_Display()
{
int
i;
printf("%10s%10s%8s%8s%8s%10s\n","學號","姓名","成績","成績","成績","平均成績");
printf("-------------------------------------------------------------\n");
for
(i=0;i<num;i++)
{
printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[i].ID,students[i].Name,
students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);
}
}
/*將學生信息從文件讀出*/
void
IO_ReadInfo()
{
FILE
*fp;
int
i;
if
((fp=fopen("Database.txt","rb"))==NULL)
{
printf("不能打開文件!\n");
return;
}
if
(fread(&num,sizeof(int),1,fp)!=1)
{
num=-1;
}
else
{
for(i=0;i<num;i++)
{
fread(&students[i],sizeof(struct
Student),1,fp);
}
}
fclose(fp);
}
/*將學生信息寫入文件*/
void
IO_WriteInfo()
{
FILE
*fp;
int
i;
if
((fp=fopen("Database.txt","wb"))==NULL)
{
printf("不能打開文件!\n");
return;
}
if
(fwrite(&num,sizeof(int),1,fp)!=1)
{
printf("寫入文件錯誤!\n");
}
for
(i=0;i<num;i++)
{
if
(fwrite(&students[i],sizeof(struct
Student),1,fp)!=1)
{
printf("寫入文件錯誤!\n");
}
}
fclose(fp);
}
/*主程序*/
main()
{
int
choice;
IO_ReadInfo();
while(1)
{
/*主菜單*/
printf("\n------
學生成績管理系統------\n");
printf("1.
增加學生記錄\n");
printf("2.
修改學生記錄\n");
printf("3.
刪除學生記錄\n");
printf("4.
按姓名查詢學生記錄\n");
printf("5.
按平均成績排序\n");
printf("6.
退出\n");
printf("請選擇(1-6):");
scanf("%d",&choice);
getchar();
switch(choice)
{
case
1:
Student_Insert();
break;
case
2:
Student_Modify();
break;
case
3:
Student_Delete();
break;
case
4:
Student_Select();
break;
case
5:
Student_SortByAverage();
Student_Display();
break;
case
6:
exit();
break;
}
IO_WriteInfo();
}
}
你的串號我已經記下,採納後我會幫你製作
Ⅶ 我考的小學教師資格證,現在筆試過了,要面試,你們說哪個簡單好過點。
是有規定說哪一個課本的,不是隨意。比如:
(7)輸出指定學生成績擴展閱讀
結構化題目一共有6類:自我認知類題目、人際溝通類題目、應急應變類題目、組織管理類題目、綜合分析類題目、教育教學題目。考試時考官會在題庫中隨機抽取兩道,需要考生即時回答。
結構化面試考察考生對教育知識的把握以及結合教學實踐的能力,它作為面試的第一環節在很大程度上影響了考官對你的印象。結構化在面試中的重要性不言自明。
小建議:結構化試題看似涉及面大,內容繁雜,但只要掌握了每一類題目的套路,就會很容易駕馭。
Ⅷ 有一張10000人成績的excel表格,怎樣才能從裡面導出指定學生的成績每個學生都有唯一的考號。
由於提問中沒有實際表格的數據截圖,只好按我這邊的設定舉例了。
E2公式下拉:
=IF(D2="","",VLOOKUP(D2,A:B,2,))
或者用這公式也行:
=IF(D2="","",INDEX(B:B,MATCH(D2,A:A,)))
Ⅸ 用c語言編寫從鍵盤輸入學生的成績,將成績從高到低進行順序輸出,並同時輸入指定學生的學號和成績
//這里我在網上找來運行著練手的,具體原作者我忘了保存,抱歉。十分感謝他(她)的汗水。
//可以自己微調一下
//成績排序方面,可以用平均成績排序輸出模塊,按相應科目更改一下數組序號則可
//或者,再寫一個科目選擇,按選擇中的科目引用相應的數組內容則可以實現按科目排序
#include<string.h>
#include<stdio.h>
/*定義學生結構體*/
structStudent
{
charID[20];
charName[20];
floatMark1;
floatMark2;
floatMark3;
floatAverage;
};
/*聲明學生數組及學生數量*/
structStudentstudents[1000];
intnum=0;/*求平均值*/
floatAvg(structStudentstu)
{
return(stu.Mark1+stu.Mark2+stu.Mark3)/3;
}/*通過學號返回數組下標*/
intStudent_SearchByIndex(charid[])
{
inti;
for(i=0;i<num;i++)
{
if(strcmp(students[i].ID,id)==0)
{
returni;
}
}
return-1;
}/*通過姓名返回數組下標*/
intStudent_SearchByName(charname[])
{
inti;
for(i=0;i<num;i++)
{
if(strcmp(students[i].Name,name)==0)
{
returni;
}
}
return-1;
}/*顯示單條學生記錄*/
voidStudent_DisplaySingle(intindex)
{
printf("%10s%10s%8s%8s%8s%10s ","學號","姓名","成績","成績","成績","平均成績");
printf("------------------------------------------------------------- ");
printf("%10s%10s%8.2f%8.2f%8.2f%10.2f ",students[index].ID,students[index].Name,
students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average);
}/*插入學生信息*/
voidStudent_Insert()
{
while(1)
{
printf("請輸入學號:");
scanf("%s",&students[num].ID);
getchar();printf("請輸入姓名:");
scanf("%s",&students[num].Name);
getchar();printf("請輸入成績:");
scanf("%f",&students[num].Mark1);
getchar();printf("請輸入成績:");
scanf("%f",&students[num].Mark2);
getchar();printf("請輸入成績:");
scanf("%f",&students[num].Mark3);
getchar();students[num].Average=Avg(students[num]);
num++;printf("是否繼續?(y/n)");
if(getchar()=='n')
{
break;
}
}}/*修改學生信息*/
voidStudent_Modify()
{
//floatmark1,mark2,mark3;
while(1)
{
charid[20];
intindex;
printf("請輸入要修改的學生的學號:");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
if(index==-1)
{
printf("學生不存在! ");
}
else
{
printf("你要修改的學生信息為: ");
Student_DisplaySingle(index);
printf("--請輸入新值-- ");
printf("請輸入學號:");
scanf("%s",&students[index].ID);
getchar();
printf("請輸入姓名:");
scanf("%s",&students[index].Name);
getchar();
printf("請輸入成績:");
scanf("%f",&students[index].Mark1);
getchar();
printf("請輸入成績:");
scanf("%f",&students[index].Mark2);
getchar();
printf("請輸入成績:");
scanf("%f",&students[index].Mark3);
getchar();
students[index].Average=Avg(students[index]);
}
printf("是否繼續?(y/n)");
if(getchar()=='n')
{
break;
}
}
}/*刪除學生信息*/
voidStudent_Delete()
{
inti;
while(1)
{
charid[20];
intindex;
printf("請輸入要刪除的學生的學號:");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
if(index==-1)
{
printf("學生不存在! ");
}
else
{
printf("你要刪除的學生信息為: ");
Student_DisplaySingle(index);
printf("是否真的要刪除?(y/n)");
if(getchar()=='y')
{
for(i=index;i<num-1;i++)
{
students[i]=students[i+1];//把後邊的對象都向前移動
}
num--;
}
getchar();
}
printf("是否繼續?(y/n)");
if(getchar()=='n')
{
break;
}
}
}/*按姓名查詢*/
voidStudent_Select()
{
while(1)
{
charname[20];
intindex;
printf("請輸入要查詢的學生的姓名:");
scanf("%s",&name);
getchar();
index=Student_SearchByName(name);
if(index==-1)
{
printf("學生不存在! ");
}
else
{
printf("你要查詢的學生信息為: ");
Student_DisplaySingle(index);
}
printf("是否繼續?(y/n)");
if(getchar()=='n')
{
break;
}
}
}/*按平均值排序*/
voidStudent_SortByAverage()
{
inti,j;
structStudenttmp;
for(i=0;i<num;i++)
{
for(j=1;j<num-i;j++)
{
if(students[j-1].Average<students[j].Average)
{
tmp=students[j-1];
students[j-1]=students[j];
students[j]=tmp;
}
}
}
}/*顯示學生信息*/
voidStudent_Display()
{
inti;
printf("%10s%10s%8s%8s%8s%10s ","學號","姓名","成績","成績","成績","平均成績");
printf("------------------------------------------------------------- ");
for(i=0;i<num;i++)
{
printf("%10s%10s%8.2f%8.2f%8.2f%10.2f ",students[i].ID,students[i].Name,
students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);
}
}/*將學生信息從文件讀出*/
voidIO_ReadInfo()
{
FILE*fp;
inti;
if((fp=fopen("Database.txt","rb"))==NULL)
{
printf("不能打開文件! ");
return;
}
if(fread(&num,sizeof(int),1,fp)!=1)
{
num=-1;
}
else
{
for(i=0;i<num;i++)
{
fread(&students[i],sizeof(structStudent),1,fp);
}
}
fclose(fp);
}/*將學生信息寫入文件*/
voidIO_WriteInfo()
{
FILE*fp;
inti;
if((fp=fopen("Database.txt","wb"))==NULL)
{
printf("不能打開文件! ");
return;
}
if(fwrite(&num,sizeof(int),1,fp)!=1)
{
printf("寫入文件錯誤! ");
}
for(i=0;i<num;i++)
{
if(fwrite(&students[i],sizeof(structStudent),1,fp)!=1)
{
printf("寫入文件錯誤! ");
}
}
fclose(fp);
}
/*主程序*/
voidmain()
{
intchoice;
IO_ReadInfo();
while(1)
{
/*主菜單*/
printf(" ------學生成績管理系統------ ");
printf("1.增加學生記錄 ");
printf("2.修改學生記錄 ");
printf("3.刪除學生記錄 ");
printf("4.按姓名查詢學生記錄 ");
printf("5.按平均成績排序 ");
printf("6.退出 ");
printf("請選擇(1-6):");
scanf("%d",&choice);
getchar();
switch(choice)
{
case1:
Student_Insert();
break;
case2:
Student_Modify();
break;
case3:
Student_Delete();
break;
case4:
Student_Select();
break;
case5:
Student_SortByAverage();
Student_Display();
break;
case6:
exit(0);
break;
}
IO_WriteInfo();
}
}