嫒美直播免费版app下载-嫒美直播永久免费版下载-嫒美直播最新下载安装

當(dāng)前位置:首頁 > 教育綜合 > 正文

請問一下 學(xué)生作業(yè)成績管理程序的課設(shè)你有源代碼嗎

c語言程序?qū)W生成績管理系統(tǒng)源代碼

頭文件::: #ifndef H_STUDENT_HH #define H_STUDENT_HH #include "stdio.h" #include "string.h" #include "malloc.h" #define LEN sizeof(struct message_student) /*一個(gè)結(jié)構(gòu)體數(shù)組元素的長度*/ #define numsubs 5 /*學(xué)科數(shù)目*/ typedef struct message_student /*結(jié)構(gòu)體定義*/ { char number[6]; char name[20]; char sex[4]; float subject[nums

求學(xué)生成績管理系統(tǒng)的源代碼

#include
#include
#defineFILENAME"student.dat"
typedefenum{MAN,WOMAN}SEX;
typedefstructtagStudent
{
intnum; //學(xué)生的編號(hào)
charname[20]; //學(xué)生的姓名
SEX sex; //學(xué)生的性別
intage; //學(xué)生的年齡
charmajor[20]; //學(xué)生的專業(yè)
structtagStudent*next;//下一個(gè)節(jié)點(diǎn)的指針
}STUDENT,*PSTUDENT;
STUDENTg_head; //頭節(jié)點(diǎn)
//1.顯示菜單
voidShowMenu();
//2.獲取用戶選擇的菜單的編號(hào)
intGetMenuChoose();
//3.創(chuàng)建一個(gè)節(jié)點(diǎn),它會(huì)返回一個(gè)新創(chuàng)建的學(xué)生信息節(jié)點(diǎn)的指針
PSTUDENTCreateStudent();
//4.把學(xué)生信息節(jié)點(diǎn)加入到鏈表中
intAddStudent(PSTUDENTpstu);
//5.返回指定編號(hào)學(xué)生節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)的指針
PSTUDENTGetPrevAddr(intnum);
//6.顯示所有學(xué)生信息
voidShowAll();
//7.顯示信息數(shù)量
intShowStudentCount();
//8.修改學(xué)生信息,參數(shù)為要修改的學(xué)生的編號(hào)
voidModityStudent(intnum);
//9.獲取用戶的選擇
intQuestion(constchar*pstr);
//10.獲取用戶輸入的學(xué)生的編號(hào)
intGetInputNum();
//11.刪除編號(hào)為num的學(xué)生信息
voidDelStudent(intnum);
//12.刪除所有的學(xué)生信息
voidDelAll();
//13.把學(xué)生信息保存到文件當(dāng)中
voidSaveToFile();
//14.從文件中讀取學(xué)生信息
voidLoadFromFile();
intmain()
{
intrunning=1;
while(running)
{
switch(GetMenuChoose())
{
case0:
running=0;
break;
case1:
// printf("你選擇了菜單1\n");
AddStudent(CreateStudent());
break;
case2:
// printf("你選擇了菜單2\n");
DelStudent(GetInputNum());
break;
case3:
printf("你選擇了菜單3\n");
break;
case4:
// printf("你選擇了菜單4\n");
ModityStudent(GetInputNum());
break;
case5:
// printf("你選擇了菜單5\n");
DelAll();
break;
case6:
// printf("你選擇了菜單6\n");
ShowAll();
break;
case7:
// printf("你選擇了菜單7\n");
ShowStudentCount();
break;
case8:
// printf("你選擇了菜單8\n");
LoadFromFile();
break;
case9:
// printf("你選擇了菜單9\n");
SaveToFile();
break;
}
system("pause");
}

return0;
}
//1.顯示菜單
voidShowMenu()
{
system("cls");
printf("-----------------------------學(xué)生管理系統(tǒng)--------------------------------\n");
printf("\n\t1.添加學(xué)生信息2.刪除某個(gè)學(xué)生信息3.顯示某個(gè)學(xué)生信息\n");
printf("\t4.修改學(xué)生信息5.刪除所有學(xué)生信息6.顯示所有學(xué)生信息\n");
printf("\t7.顯示信息數(shù)量8.讀取文件學(xué)生信息9.保存學(xué)生信息至文件\n");
printf("\t0.退出系統(tǒng)\n");
printf("\n-------------------------------------------------------------------------\n");
}
//2.獲取用戶選擇的菜單的編號(hào)
intGetMenuChoose()
{
intnum;//保存用戶選擇的菜單編號(hào)
ShowMenu();
printf("請選擇菜單(0~9):");
while(1!=scanf("%d",&num)||num<0||num>9)
{
ShowMenu();
printf("選擇菜單錯(cuò)誤,請重新選擇(0~9):");
fflush(stdin);//清空輸入緩沖區(qū)
}
returnnum;
}
//3.創(chuàng)建一個(gè)節(jié)點(diǎn),它會(huì)返回一個(gè)新創(chuàng)建的學(xué)生信息節(jié)點(diǎn)的指針
PSTUDENTCreateStudent()
{
intsex;
PSTUDENTpstu=(PSTUDENT)malloc(sizeof(STUDENT));//在堆內(nèi)存申請空間,存儲(chǔ)學(xué)生信息
if(!pstu)
{
printf("申請內(nèi)存空間失敗!\n");
returnNULL;
}
printf("請輸入學(xué)生的編號(hào)(整型):");
while(1!=scanf("%d",&pstu->num)||GetPrevAddr(pstu->num))
{
printf("學(xué)生編號(hào)輸入錯(cuò)誤或已經(jīng)存在,請重新輸入學(xué)生的編號(hào)(整型):");
fflush(stdin);
}
printf("請輸入學(xué)生的姓名(小于20字符):");
scanf("%20s",pstu->name);//(*pstu).name
printf("請選擇學(xué)生的性別(1.男2.女):");
while(1!=scanf("%d",&sex)||sex<1||sex>2)
{
printf("性別選擇錯(cuò)誤,請重新選擇學(xué)生的性別(1.男2.女):");
fflush(stdin);
}
if(1==sex)
pstu->sex=MAN;
else
pstu->sex=WOMAN;
printf("請輸入學(xué)生的年齡(10~40):");
while(1!=scanf("%d",&pstu->age)||pstu->age<10||pstu->age>40)
{
printf("年齡輸入錯(cuò)誤!請重新輸入學(xué)生的年齡(10~40):");
fflush(stdin);
}
printf("請輸入學(xué)生的專業(yè)(小于20字符):");
scanf("%20s",pstu->major);
pstu->next=NULL;
returnpstu;
}
//4.把學(xué)生信息節(jié)點(diǎn)加入到鏈表中
intAddStudent(PSTUDENTpstu)
{
PSTUDENTps=&g_head;
if(!pstu)
{
return0;
}
//判斷一下該學(xué)生信息是不是已經(jīng)存在
if(GetPrevAddr(pstu->num))
{
printf("編號(hào)為%d的學(xué)生信息已經(jīng)存在!\n",pstu->num);
free(pstu);//釋放該節(jié)點(diǎn)內(nèi)存空間
return0;
}
//while循環(huán)的作用是找到當(dāng)前鏈表的最后一個(gè)節(jié)點(diǎn)
while(ps->next)
ps=ps->next;
//把新節(jié)點(diǎn)加入到最后那個(gè)節(jié)點(diǎn)的后面
ps->next=pstu;
pstu->next=NULL;
return1;
}
//5.返回指定編號(hào)學(xué)生節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)的指針
PSTUDENTGetPrevAddr(intnum)
{
PSTUDENTpstu=&g_head;
while(pstu->next)
{
if(pstu->next->num==num)
returnpstu;
pstu=pstu->next;
}
returnNULL;
}
//6.顯示所有學(xué)生信息
voidShowAll()
{
PSTUDENTpstu=&g_head;
printf("--------------------------------------------------------------------\n");
printf("編號(hào)姓名性別年齡專業(yè)\n");
printf("--------------------------------------------------------------------\n");
while(pstu->next)
{
printf("%-8d",pstu->next->num);
printf("%-20s",pstu->next->name);
printf("%-6s",pstu->next->sex==MAN?"男":"女");
printf("%4d",pstu->next->age);
printf("%20s\n",pstu->next->major);
pstu=pstu->next;//讓指針指向下一個(gè)節(jié)點(diǎn)
}
printf("--------------------------------------------------------------------\n");
}
//7.顯示信息數(shù)量
intShowStudentCount()
{
intcount=0;
PSTUDENTpstu=&g_head;
while(pstu->next)
{
++count;
pstu=pstu->next;
}
printf("\n當(dāng)前共有%d位學(xué)生信息。\n",count);
returncount;
}
//8.修改學(xué)生信息,參數(shù)為要修改的學(xué)生的編號(hào)
voidModityStudent(intnum)
{
PSTUDENTpstu=GetPrevAddr(num);//獲取要修改的學(xué)生節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)
intchoose;
if(!pstu)
{
printf("沒有編號(hào)為%d的學(xué)生信息。\n",num);
return;
}
pstu=pstu->next;//將要修改的學(xué)員節(jié)點(diǎn)的指針改為指向自己的
printf("當(dāng)前學(xué)生的姓名為%s,",pstu->name);
if(Question("確定要修改嗎?"))
{
printf("請輸入學(xué)生的姓名(小于20字符):");
scanf("%20s",pstu->name);
}
printf("當(dāng)前學(xué)生的性別為%s,",pstu->sex==MAN?"男":"女");
if(Question("確定要修改嗎?"))
{
printf("請輸入學(xué)生的性別(1.男2.女):");
while(1!=scanf("%d",&choose)||choose<1||choose>2)
{
printf("輸入錯(cuò)誤,請重新輸入學(xué)生的性別(1.男2.女):");
fflush(stdin);
}
if(1==choose)
pstu->sex=MAN;
else
pstu->sex=WOMAN;
}
printf("當(dāng)前學(xué)生的年齡為%d,",pstu->age);
if(Question("確定要修改嗎?"))
{
printf("請輸入學(xué)生的年齡(10~40):");
while(1!=scanf("%d",&pstu->age)||pstu->age<10||pstu->age>40)
{
printf("年齡輸入錯(cuò)誤!請重新輸入學(xué)生的年齡(10~40):");
fflush(stdin);
}
}
printf("當(dāng)前學(xué)生的專業(yè)為%s,",pstu->major);
if(Question("確定要修改嗎?"))
{
printf("請輸入學(xué)生的專業(yè)(小于20字符):");
scanf("%20s",pstu->major);
}
printf("修改完畢!\n");
}
//9.獲取用戶的選擇
intQuestion(constchar*pstr)
{
charanswer;
printf("%s請選擇(yorn):",pstr);
while(1!=scanf("%c",&answer)||(answer!='y'&&answer!='n'))
{
printf("輸入錯(cuò)誤!%s請重新選擇(yorn):",pstr);
fflush(stdin);//清空輸入緩沖區(qū),C庫函數(shù)
}
if('y'==answer)
return1;
else
return0;
}
//10.獲取用戶輸入的學(xué)生的編號(hào)
intGetInputNum()
{
intnum;
printf("請輸入學(xué)生的編號(hào)(整型):");
while(1!=scanf("%d",&num))
{
printf("編號(hào)輸入錯(cuò)誤!請重新輸入學(xué)生的編號(hào)(整型):");
fflush(stdin);
}
returnnum;
}
//11.刪除編號(hào)為num的學(xué)生信息
voidDelStudent(intnum)
{
PSTUDENTpstu,ptmp;
if(pstu=GetPrevAddr(num))
{
if(!Question("確定要?jiǎng)h除該學(xué)生信息嗎?"))
{
return;
}
ptmp=pstu->next;
pstu->next=ptmp->next;
free(ptmp);
printf("刪除了編號(hào)為%d的學(xué)生信息。\n",num);
}
else
{
printf("沒有找到編號(hào)為%d的學(xué)生信息。\n",num);
}
}
//12.刪除所有的學(xué)生信息
voidDelAll()
{
PSTUDENTpstu=g_head.next,ptmp;
intcount=0;
if(!Question("確定要?jiǎng)h除當(dāng)前所有的學(xué)生信息嗎?"))
{
return;
}
while(pstu)
{
ptmp=pstu;
pstu=pstu->next;
free(ptmp);
++count;
}
printf("共刪除了%d位學(xué)生信息。\n",count);
g_head.next=NULL;
}
//13.把學(xué)生信息保存到文件當(dāng)中
voidSaveToFile()
{
FILE*pf=fopen(FILENAME,"wb");
PSTUDENTpstu=&g_head;
inti=0,count=ShowStudentCount();
if(!pf)
{
printf("打開待寫入的文件失??!\n");
return;
}
if(!Question("確定要將當(dāng)前學(xué)生信息保存到文件中嗎?"))
{
fclose(pf);
return;
}
fwrite(&count,1,sizeof(count),pf);//把學(xué)生信息的數(shù)量先寫入到文件頭
while(pstu->next)
{
fwrite(pstu->next,1,sizeof(STUDENT),pf);//把每位學(xué)生信息寫入文件
++i;
pstu=pstu->next;
}
fclose(pf);
if(i==count)
{
printf("成功的寫入了%d條學(xué)生信息。\n",count);
}
else
{
printf("應(yīng)寫入%d條學(xué)生信息,實(shí)際寫入%d條學(xué)生信息。\n",count,i);
}
}
//14.從文件中讀取學(xué)生信息
voidLoadFromFile()
{
inti,count=0,repeat=0;
FILE*pf;
PSTUDENTpstu;
printf("提示:從文件中讀取學(xué)生信息會(huì)詢問是否清空當(dāng)前學(xué)生信息(不清空表示合并所有信息)。\n");
if((pf=fopen(FILENAME,"rb"))==NULL)
{
printf("文件還沒有創(chuàng)建,請手工輸入學(xué)生信息并保存吧!\n");
return;
}
DelAll();//刪除之前的所有學(xué)生信息,然后從文件中讀取
fread(&count,1,sizeofcount,pf);//獲取學(xué)生信息的數(shù)量
for(i=0;i {
pstu=(PSTUDENT)malloc(sizeof(STUDENT));
fread(pstu,1,sizeof(STUDENT),pf);
if(!AddStudent(pstu))
{
++repeat;//保持有多少個(gè)和當(dāng)前鏈表中相重復(fù)的學(xué)生信息
}
}
fclose(pf);
printf("文件讀取完畢!新增學(xué)生信息%d條。\n",count-repeat);
}

這個(gè)累死我了,我要財(cái)富值。。。為了這個(gè)不容易啊

學(xué)生成績管理系統(tǒng),C++源代碼

#include #include #include #include #include using namespace std; //結(jié)點(diǎn)類,用于存放學(xué)生的各種數(shù)據(jù) class Node{ public: int id; //學(xué)號(hào) string name; //姓名 string grade; //等級 double english; //英語 double math; //數(shù)學(xué) double c; //C++ double sum; //總分 double average; Node *next;

C語言學(xué)生成績管理程序,可以分析一下思路,或者有源代碼么

看你要做多好了。簡單的就是成績錄入與查詢,角色大概分為教師、學(xué)生、管理員。想做NB的,不僅是成績錄入與輸出,還可以做查詢統(tǒng)計(jì)報(bào)表,對各個(gè)成績段、年級段、時(shí)間段等條件進(jìn)行統(tǒng)計(jì),生成柱狀圖餅狀圖,對于老師成績上傳發(fā)出過期提醒等等人性化操作。。

求一個(gè)用java寫的學(xué)生成績管理信息系統(tǒng)的源代碼,要求有界面,能實(shí)現(xiàn)

以下方法實(shí)現(xiàn)了用戶界面登陸 import java.awt.*; import java.awt.event.*; public class DengLuJieMian extends Frame implements ActionListener { Label username=new Label("用戶名:");//使用文本創(chuàng)建一個(gè)用戶名標(biāo)簽 TextField t1=new TextField();//創(chuàng)建一個(gè)文本框?qū)ο?Label password=new Label("密碼:");//創(chuàng)建一個(gè)密碼標(biāo)簽 TextField t2=new TextField(); Button b1=
展開全文閱讀