當前位置:首頁 » 考試成績 » 學生成績管理軟體

學生成績管理軟體

發布時間: 2020-11-28 02:26:18

學生成績管理系統

#include "stdafx.h"
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
// 循環列表結構 head->[,->next]...[data0,->next][data1,->next]...[datan,->head]
struct SCORE
{
int courseId;
int score;
SCORE *pnext;
};
struct STU_SCORE
{
char name[16];
int stuId;
SCORE *scoreHead;//學生課程成績列表
struct STU_SCORE *pnext;
STU_SCORE(int ID,char names[])
{
int len=strlen(names);
for(int i=0;i<len;++i)
name[i]=names[i];
name[len]='\0';
stuId=ID;
}
};
int mainMenu();
int stuReg(STU_SCORE *pHead);
int selCourse(STU_SCORE *pHead);
int inputData(STU_SCORE *pHead);
int scoreSort(STU_SCORE *pHead);
int scoreQuery(STU_SCORE *pHead);
int modify(STU_SCORE *pHead);
enum MAIN_CMD{REG,SEL=1,INPUT,QUERY,MODI,EXIT};
int main(int argc, char* argv[])
{
STU_SCORE *head=( STU_SCORE *)malloc(sizeof(STU_SCORE));
head->stuId=-1;
head->pnext=head;
while(1)
{
int cmd=mainMenu();
switch(cmd)
{
case REG:
stuReg(head);
break;
case SEL:
selCourse(head);
break;
case INPUT:
inputData(head);
break;
case QUERY:
scoreQuery(head);
break;
case MODI:
modify(head);
break;
case EXIT:
return 0;
}
}
return 0;
}
int mainMenu()
{
system("cls");
cout<<"\t\t《學生成績管理系統》\n";
cout<<" \t\t[0]新生注冊\n";
cout<<" \t\t[1]選課登記\n";
cout<<" \t\t[2]學生成績輸入\n";
cout<<" \t\t[3]成績查詢\n";
cout<<" \t\t[4]修改成績\n";
cout<<" \t\t[5]退出\n";
cout<<"命令? ";
int cmd;
cin>>cmd;
return cmd;
}
//新生注冊:建立學生信息鏈表,從鍵盤輸入學生姓名學號,插入到鏈表中。
int stuReg(STU_SCORE *pHead)
{
cout<<"注意:新生注冊學號不能重復!\n";
start:
cout<<"學號\t\t姓名\n";
int ID;
char StudentName[20];
cin>>ID;
while(ID>0)
{
cin>>StudentName;
STU_SCORE *newStu=new STU_SCORE(ID,StudentName);
newStu->scoreHead=new SCORE();
newStu->scoreHead->pnext=newStu->scoreHead;
STU_SCORE*q=pHead->pnext,*p=pHead;
while(q!=pHead)
{
p=q;
if(q->stuId<newStu->stuId)
q=q->pnext;
else
break;
}
p->pnext=newStu;
newStu->pnext=q;
cin>>ID;
}
int cnt=0;
STU_SCORE*q=pHead->pnext;
while(q!=pHead)
{
q=q->pnext;
cnt++;
}
cout<<"學生資料庫共有"<<cnt<<"個記錄"<<endl;
cout<<"繼續新的注冊?";
char c;
cin>>c;
if(c=='y'||c=='Y')goto start;
return 0;

}
//學生選課
int selCourse(STU_SCORE *pHead)
{
start:
int cid;
cout<<"課程號:";
cin>>cid;
cout<<"輸入選擇該課程的學生學號:\n";
int stuId;
cin>>stuId;
while(stuId>0)
{
STU_SCORE *pStu=pHead->pnext;

while(pStu!=pHead)//鏈表已有記錄
{
if(pStu->stuId==stuId)//有該學號
{
bool be=false;
SCORE *pcourse=pStu->scoreHead->pnext;
while(pcourse!=pStu->scoreHead)//已有選課
{
if(pcourse->courseId==cid)
{
be=true;////已有該選課
break;
}
pcourse=pcourse->pnext;
}
if(!be)
{ //還沒有選此課程
SCORE *pNewcourse=(SCORE *)malloc(sizeof(SCORE));
pNewcourse->courseId=cid;
SCORE*q=pStu->scoreHead->pnext;
pStu->scoreHead->pnext=pNewcourse;
pNewcourse->pnext=q;
}
}
pStu=pStu->pnext;
}
cin>>stuId;
}
int count=0;
STU_SCORE *pStu=pHead->pnext;
while(pStu!=pHead)//鏈表已有記錄
{
SCORE *pcourse=pStu->scoreHead->pnext;
while(pcourse!=pStu->scoreHead)
{
if(pcourse->courseId==cid)
{
count++;
}
pcourse=pcourse->pnext;
}
pStu=pStu->pnext;
}
cout<<"共有"<<count<<"個學生選此課程\n";
cout<<"繼續新的選課輸入?";
char c;
cin>>c;
if(c=='y'||c=='Y')goto start;
return 0;
}
//學生成績輸入
int inputData(STU_SCORE *pStuHead)
{
int count;
start:
count=0;
cout<<"課程號:";
int cid;
cin>>cid;
STU_SCORE *pStu=pStuHead->pnext;
while(pStu!=pStuHead)//if鏈表已有學生記錄
{
SCORE *pcourse=pStu->scoreHead->pnext;
while(pcourse!=pStu->scoreHead)
{
if(pcourse->courseId==cid)
{
cout<<"學號:"<<pStu->stuId<<" 姓名:"<<pStu->name;
cout<<" 成績:";
if(pcourse->score>=0)
cout<<"已輸入";
else
{
cin>>pcourse->score;
count++;
}
break;
}
pcourse=pcourse->pnext;
}
pStu=pStu->pnext;
}
if(count==0)
cout<<"該課程無學生選!\n";
else
cout<<cid<<"課程成績已輸入完成!"<<"\n";
cout<<"繼續其他課程成績輸入?";
char c;
cin>>c;
if(c=='y'||c=='Y')goto start;
return 0;
}
//課程成績查詢
int scoreQuery(STU_SCORE *pStuHead)
{
start:
int ID;
cout<<"學號:"<<endl;
cin>>ID;
STU_SCORE*pStu=pStuHead->pnext;
while(pStu!=pStuHead)
{
if(pStu->stuId==ID)
{
cout<<"姓名:"<<pStu->name<<"\t"<<"成績:"<<endl;
SCORE*pcourse=pStu->scoreHead->pnext;
while(pcourse!=pStu->scoreHead)
{
cout<<"課程號:"<<pcourse->courseId<<"\t"<<"成績:"<<pcourse->score<<endl;
pcourse=pcourse->pnext;
}
break;
}
pStu=pStu->pnext;
}
if(pStu==pStuHead)
{
cout<<"查無此人"<<endl;
}
cout<<"繼續查詢?";
char c;
cin>>c;
if(c=='y'||c=='Y')
goto start;
return 0;
}
//課程成績修改
int modify(STU_SCORE *pStuHead)
{
start:
int ID;
cout<<"學號:";
cin>>ID;
STU_SCORE*pStu=pStuHead->pnext;
while(pStu!=pStuHead)
{
if(pStu->stuId==ID)
{
int cid;
cout<<"課程號:";
cin>>cid;
SCORE*pcourse=pStu->scoreHead->pnext;
while(pcourse!=pStu->scoreHead)
{
if(pcourse->courseId==cid)
{
int rescore;
cout<<"原成績:"<<pcourse->score<<"\t"<<"成績修改為:";
cin>>rescore;
pcourse->score=rescore;
goto ask;
}
pcourse=pcourse->pnext;
}
if(pcourse==pStu->scoreHead)
{
cout<<"此人沒有選擇該課程。"<<endl;
goto ask;
}
}
pStu=pStu->pnext;
}
if(pStu==pStuHead)
{
cout<<"查無此人"<<endl;
}
ask:
cout<<"繼續修改?";
char c;
cin>>c;
if(c=='y'||c=='Y')
goto start;

return 0;
}

❷ 學生成績管理系統

# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>
# include <string.h>
# include <conio.h>

void menu(struct student *parr,int len);
void sore(struct student *parr,int len);
void output(struct student *parr,int *len);
void input(struct student *parr,int len);
void write(struct student *parr,int len);
void read(struct student *parr,int len);
void find(struct student *parr,int len);
void logout(struct student *parr,int len);
void exit(struct student *parr,int len);
void modify(struct student *parr,int len);
void insert(struct student*parr,int *len);

struct student
{
int number;//學號
float score;//成績
char name[10];//姓名
};

int main(void)
{
struct student * parr;
int len = 0;
char ch = '\0';

printf("請輸入需要存入的學生人數:");
scanf("%d",&len);

parr = (struct student *)malloc((sizeof(struct student) * len));

menu(parr, len);
printf("按回車鍵繼續\n");
while(1)
{
system("cls");
printf("\n\n\n\n");
printf("\t\t|******************************************|\n");
printf("\t\t|--------------- 學生管理系統 -------------|\n");
printf("\t\t|------------ 1.寫入學生信息 ---------|\n");
printf("\t\t|------------ 2.查看全部學生信息 ---------|\n");
printf("\t\t|------------ 3.按成績排序 ---------|\n");
printf("\t\t|------------ 4.按學號查找 ---------|\n");
printf("\t\t|------------ 5.修改學生信息 ---------|\n");
printf("\t\t|------------ 6.添加學生 ---------|\n");
printf("\t\t|------------ 7.保存 ---------|\n");
printf("\t\t|------------ 0.退出 ---------|\n");
printf("\t\t|******************************************|\n");
printf("\t\t\n");
scanf(" %c",&ch);

switch(ch)
{
case '1' : input(parr,len); break;
case '2' : output(parr,&len); break;
case '3' : sore(parr,len); break;
case '4' : find(parr,len); break;
case '5' : modify(parr,len); break;
case '6' : insert(parr,&len); break;
case '7' : write(parr,len); break;
case '0' : exit(parr,len); break;
default : printf("\n\t輸入錯誤!按回車鍵返回主菜單!");
getch();
}
}

free(parr);

return 0 ;
}

//函數功能:實現按成績排序
void sore(struct student *parr,int len)
{
int i,j;
struct student t;

for( i = 0; i < len - 1; i++)
{
for(j = 0; j < len; j++)
if( parr[j+1].score > parr[j].score )
{
t = parr[j+1];
parr[j+1] = parr[j];
parr[j] = t;
}

}
output(parr,&len);
return;
}

//函數功能:列印信息
void output(struct student *parr,int *len)
{
int i;
for(i = 0;i < *len; i++)
printf("姓名:%s 成績:%.2f 學號:%d\n",parr[i].name,parr[i].score,parr[i].number);
printf("\n");
getchar();
getchar();
return;
}

//函數功能:輸入數據
void input(struct student *parr,int len )
{ int i;
for( i = 0; i < len; i++)
{
printf("請輸入第%d個學生信息:",i + 1);

printf("姓名:");
scanf("%s",parr[i].name);//name是數組名 本身就是地址

printf("成績: ");
scanf("%f",&parr[i].score);

printf("學號:");
scanf("%d",&parr[i].number);
}
printf("\n");
return;
}

/*函數功能:將數據寫入文件*/
void write(struct student *parr,int len)
{
int i;//控制循環
FILE *fp = NULL;//定義文件指針
fp = fopen("D:\\student.txt","w");//打開文件並使文件指針指向它,以寫的方式
if(fp == NULL)//如果文件沒有打開,提示錯誤並退出
{
printf("\n\t文件沒有打開!程序結束!");
getchar();//等待用戶觀察
exit(0);//結束整個程序
}
else
{
for(i=0; i<len; i++)//將數據依次寫入文件
{
fprintf(fp, "姓名:%s 成績:%.2f 學號:%d\n",parr[i].name,parr[i].score,parr[i].number);
}
}
printf("已將學生信息保存在了D盤根目錄下的student.txt文件中。\n");
getch();
fclose(fp);
return;
}
/*函數功能:讀取文件數據*/
void read(struct student *parr,int len)
{
int i;
FILE * fp = NULL;

fp = fopen("D:\\student.txt","r");//以只讀的方式打開文件

if(fp == NULL)
{
printf("數據讀取失敗!\n");
getchar();
exit(0);
}
else
{
for(i=0; i<len; i++)
{
fscanf(fp,"%s,%d,%.2f\n",parr[i].name,parr[i].number,parr[i].score);
}
}

fclose(fp);
return;
}

/*函數功能:按學號找學生信息*/
void find(struct student *parr,int len)
{
int number= 0;
int i;

printf("請您輸入需要查找的學號:");
scanf("%d",&number);

for( i=0; i<len; i++ )
{
if(number == parr[i].number)
{
printf("姓名:%s 成績:%.2f 學號:%d\n",parr[i].name,parr[i].score,parr[i].number);
}

}
getch();
return;
}

/*函數功能:注銷學生信息*/
void logout(struct student *parr,int len)
{
char ch = '\0';
find(parr,len);
printf("您確定要注銷該學生嗎?確定請按 Y,返回主菜單請按 N !\n");
scanf("%d",&ch);

if((ch == 'Y') || (ch == 'y'))
{

}
return;
}

void menu(struct student *parr,int len)
{
printf("\t\t||=========================================||\n");
printf("\t\t||-----------------------------------------||\n");
printf("\t\t||-----------歡迎使用學生管理系統----------||\n");
printf("\t\t||-----------------------------------------||\n");
printf("\t\t||=========================================||\n");
getchar();
getchar();
system("cls");
return;
}
/*函數功能:結束整個程序*/
void exit(struct student *parr,int len)
{// getchar();
char ch = '\0';

do
{
printf("您確定要退出!(y/n):");
scanf(" %c",&ch);
}while((ch != 'Y') && (ch != 'y') && (ch != 'N') && (ch != 'n'));
if((ch == 'Y') || (ch == 'y'))
{
exit(0);
}

return;
}

/*函數功能:修改學生信息*/
void modify(struct student *parr,int len)
{
int number = 0;
char ch = '\0';
int i;
printf("請您輸入要修改的學生的學號:");
scanf("%d",&number);

for( i=0; i<len; i++ )
{
if(number == parr[i].number)
{
printf("姓名:%s 成績:%.2f 學號:%d\n",parr[i].name,parr[i].score,parr[i].number);
printf("您確定要修改該學生信息(y/n)");
scanf(" %c",&ch);
if(ch == 'y')
{
printf("請輸入姓名:");
scanf("%s",parr[i].name);

printf("請輸入成績:");
scanf("%f",&parr[i].score);

printf("請輸入學號:");
scanf("%d",&parr[i].number);

printf("姓名:%s 成績:%.2f 學號:%d\n",parr[i].name,parr[i].score,parr[i].number);
printf("修改成功!");
getch();
}
else
{
printf("沒有找到該學生");
getch();
break;
}

}

}
return;
}

/*函數功能:添加學生*/
void insert(struct student *parr,int *len)
{
int number = 0;//添加學生的個數
int i;
printf("請輸入您要添加幾個學生信息:");
scanf("%d",&number);

parr = (struct student *)malloc((sizeof(struct student) * (*len+number)));

for(i=*len; i<*len+number;i++)
{
printf("請輸入第%d個學生信息:",i + 1);

printf("姓名:");
scanf("%s",parr[i].name);

printf("成績: ");
scanf("%f",&parr[i].score);

printf("學號:");
scanf("%d",&parr[i].number);
}
output(parr,&*len);
}

❸ 學生成績管理系統哪個好

給你個推薦個,軟體介紹鏈接可參閱文庫:
http://wenku..com/link?url=xocDSJdPietT4_bEFJNFsK8GqmNBFP-UQV8nzDZFmK_qRHUYp363Yk_

下載鏈接:http://rj..com/soft/detail/38341.html

這個是目前新發現的最好的了,僅供參考。

如果覺得好用請採納我的答案!

❹ 用C語言做學生成績管理軟體

/*11.3.2 源程序*/
/***********xuesheng.c***********/
/******頭文件(.h)***********/
#include "stdio.h" /*I/O函數*/
#include "stdlib.h" /*其它說明*/
#include "string.h" /*字元串函數*/
#include "conio.h" /*屏幕操作函數*/
#include "mem.h" /*內存操作函數*/
#include "ctype.h" /*字元操作函數*/
#include "alloc.h" /*動態地址分配函數*/
#define N 3 /*定義常數*/
typedef struct z1 /*定義數據結構*/
{
char no[11];
char name[15];
int score[N];
float sum;
float average;
int order;
struct z1 *next;
}STUDENT;
/*以下是函數原型*/
STUDENT *init(); /*初始化函數*/
STUDENT *create(); /*創建鏈表*/
STUDENT *delete(STUDENT *h); /*刪除記錄*/
void print(STUDENT *h); /* 顯示所有記錄*/
void search(STUDENT *h); /*查找*/
void save(STUDENT *h); /*保存*/
STUDENT *load(); /*讀入記錄*/
void computer(STUDENT *h); /*計算總分和均分*/
STUDENT *insert(STUDENT *h); /*插入記錄*/
void append(); /*追加記錄*/
void (); /*復制文件*/
STUDENT *sort(STUDENT *h); /*排序*/
STUDENT *index(STUDENT *h); /*索引*/
void total(STUDENT *h); /*分類合計*/
int menu_select(); /*菜單函數*/
/******主函數開始*******/
main()
{
int i;
STUDENT *head; /*鏈表定義頭指針*/
head=init(); /*初始化鏈表*/
clrscr(); /*清屏*/
for(;;) /*無限循環*/
{
switch(menu_select()) /*調用主菜單函數,返回值整數作開關語句的條件*/
{ /*值不同,執行的函數不同,break 不能省略*/
case 0:head=init();break; /*執行初始化*/
case 1:head=create();break; /*創建鏈表*/
case 2:head=delete(head);break; /*刪除記錄*/
case 3:print(head);break; /*顯示全部記錄*/
case 4:search(head);break; /*查找記錄*/
case 5:save(head);break; /*保存文件*/
case 6:head=load(); break; /*讀文件*/
case 7:computer(head);break; /*計算總分和均分*/
case 8:head=insert(head); break; /*插入記錄*/
case 9:();break; /*復制文件*/
case 10:head=sort(head);break; /*排序*/
case 11:append();break; /*追加記錄*/
case 12:head=index(head);break; /*索引*/
case 13:total(head);break; /*分類合計*/
case 14:exit(0); /*如菜單返回值為14程序結束*/
}
}
}
/*菜單函數,返回值為整數*/
menu_select()
{
char *menu[]={"***************MENU***************", /*定義菜單字元串數組*/
" 0. init list", /*初始化*/
" 1. Enter list", /*輸入記錄*/
" 2. Delete a record from list", /*從表中刪除記錄*/
" 3. print list ", /*顯示單鏈表中所有記錄*/
" 4. Search record on name", /*按照姓名查找記錄*/
" 5. Save the file", /*將單鏈表中記錄保存到文件中*/
" 6. Load the file", /*從文件中讀入記錄*/
" 7. compute the score", /*計算所有學生的總分和均分*/
" 8. insert record to list ", /*插入記錄到表中*/
" 9. the file to new file", /*復制文件*/
" 10. sort to make new file", /*排序*/
" 11. append record to file", /*追加記錄到文件中*/
" 12. index on nomber", /*索引*/
" 13. total on nomber", /*分類合計*/
" 14. Quit"}; /*退出*/
char s[3]; /*以字元形式保存選擇號*/
int c,i; /*定義整形變數*/
gotoxy(1,25); /*移動游標*/
printf("press any key enter menu......\n"); /*壓任一鍵進入主菜單*/
getch(); /*輸入任一鍵*/
clrscr(); /*清屏幕*/
gotoxy(1,1); /*移動游標*/
textcolor(YELLOW); /*設置文本顯示顏色為黃色*/
textbackground(BLUE); /*設置背景顏色為藍色*/
gotoxy(10,2); /*移動游標*/
putch(0xc9); /*輸出左上角邊框┏*/
for(i=1;i<44;i++)
putch(0xcd); /*輸出上邊框水平線*/
putch(0xbb); /*輸出右上角邊框 ┓*/
for(i=3;i<20;i++)
{
gotoxy(10,i);putch(0xba); /*輸出左垂直線*/
gotoxy(54,i);putch(0xba);
} /*輸出右垂直線*/
gotoxy(10,20);putch(0xc8); /*輸出左上角邊框┗*/
for(i=1;i<44;i++)
putch(0xcd); /*輸出下邊框水平線*/
putch(0xbc); /*輸出右下角邊框┛*/
window(11,3,53,19); /* 製作顯示菜單的窗口,大小根據菜單條數設計*/
clrscr(); /*清屏*/
for(i=0;i<16;i++) /*輸出主菜單數組*/
{
gotoxy(10,i+1);
cprintf("%s",menu[i]);
}
textbackground(BLACK); /*設置背景顏色為黑色*/
window(1,1,80,25); /*恢復原窗口大小*/
gotoxy(10,21); /*移動游標*/
do{
printf("\n Enter you choice(0~14):"); /*在菜單窗口外顯示提示信息*/
scanf("%s",s); /*輸入選擇項*/
c=atoi(s); /*將輸入的字元串轉化為整形數*/
}while(c<0||c>14); /*選擇項不在0~14之間重輸*/
return c; /*返回選擇項,主程序根據該數調用相應的函數*/
}
STUDENT *init()
{
return NULL;
}

/*創建鏈表*/
STUDENT *create()
{
int i; int s;
STUDENT *h=NULL,*info; /* STUDENT指向結構體的指針*/
for(;;)
{
info=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/
if(!info) /*如果指針info為空*/
{
printf("\nout of memory"); /*輸出內存溢出*/
return NULL; /*返回空指針*/
}
inputs("enter no:",info->no,11); /*輸入學號並校驗*/
if(info->no[0]=='@') break; /*如果學號首字元為@則結束輸入*/
inputs("enter name:",info->name,15); /*輸入姓名,並進行校驗*/
printf("please input %d score \n",N); /*提示開始輸入成績*/
s=0; /*計算每個學生的總分,初值為0*/
for(i=0;i<N;i++) /*N門課程循環N次*/
{
do{
printf("score%d:",i+1); /*提示輸入第幾門課程*/
scanf("%d",&info->score[i]); /*輸入成績*/
if(info->score[i]>100||info->score[i]<0) /*確保成績在0~100之間*/
printf("bad data,repeat input\n"); /*出錯提示信息*/
}while(info->score[i]>100||info->score[i]<0);
s=s+info->score[i]; /*累加各門課程成績*/
}
info->sum=s; /*將總分保存*/
info->average=(float)s/N; /*求出平均值*/
info->order=0; /*未排序前此值為0*/
info->next=h; /*將頭結點做為新輸入結點的後繼結點*/
h=info; /*新輸入結點為新的頭結點*/
}
return(h); /*返回頭指針*/
}
/*輸入字元串,並進行長度驗證*/
inputs(char *prompt, char *s, int count)
{
char p[255];
do{
printf(prompt); /*顯示提示信息*/
scanf("%s",p); /*輸入字元串*/
if(strlen(p)>count)printf("\n too long! \n"); /*進行長度校驗,超過count值重輸入*/
}while(strlen(p)>count);
strcpy(s,p); /*將輸入的字元串拷貝到字元串s中*/
}
/*輸出鏈表中結點信息*/
void print(STUDENT *h)
{
int i=0; /* 統計記錄條數*/
STUDENT *p; /*移動指針*/
clrscr(); /*清屏*/
p=h; /*初值為頭指針*/
printf("\n\n\n****************************STUDENT********************************\n");
printf("|rec|nO | name | sc1| sc2| sc3| sum | ave |order|\n");
printf("|---|----------|---------------|----|----|----|--------|-------|-----|\n");
while(p!=NULL)
{
i++;
printf("|%3d |%-10s|%-15s|%4d|%4d|%4d| %4.2f | %4.2f | %3d |\n", i, p->no,p->name,p->score[0],p->score[1],
p->score[2],p->sum,p->average,p->order);
p=p->next;
}
printf("**********************************end*********************************\n");
}
/*刪除記錄*/
STUDENT *delete(STUDENT *h)
{
STUDENT *p,*q; /*p為查找到要刪除的結點指針,q為其前驅指針*/
char s[11]; /*存放學號*/
clrscr(); /*清屏*/
printf("please deleted no\n"); /*顯示提示信息*/
scanf("%s",s); /*輸入要刪除記錄的學號*/
q=p=h; /*給q和p賦初值頭指針*/
while(strcmp(p->no,s)&&p!=NULL) /*當記錄的學號不是要找的,或指針不為空時*/
{
q=p; /*將p指針值賦給q作為p的前驅指針*/
p=p->next; /*將p指針指向下一條記錄*/
}
if(p==NULL) /*如果p為空,說明鏈表中沒有該結點*/
printf("\nlist no %s student\n",s);
else /*p不為空,顯示找到的記錄信息*/
{
printf("*****************************have found***************************\n");
printf("|no | name | sc1| sc2| sc3| sum | ave |order|\n");
printf("|----------|---------------|----|----|----|--------|-------|-----|\n");
printf("|%-10s|%-15s|%4d|%4d|%4d| %4.2f | %4.2f | %3d |\n", p->no,
p->name,p->score[0],p->score[1],p->score[2],p->sum,
p->average,p->order);
printf("********************************end*******************************\n");
getch(); /*壓任一鍵後,開始刪除*/
if(p==h) /*如果p==h,說明被刪結點是頭結點*/
h=p->next; /*修改頭指針指向下一條記錄*/
else
q->next=p->next; /*不是頭指針,將p的後繼結點作為q的後繼結點*/
free(p); /*釋放p所指結點空間*/
printf("\n have deleted No %s student\n",s);
printf("Don't forget save\n");/*提示刪除後不要忘記保存文件*/
}
return(h); /*返回頭指針*/
}

❺ 簡單學生成績管理系統

//基本的都有了,c 的,文字說明自己加。有問題再找。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;

struct Student
{
string num;
double gra1;
double gra2;
double gra3;
double ave;
int t;//標志是不是被刪除的。
};
Student stu[100];
int n;// 表示總人數
Student temp;
//輸入成績
void Input()
{
int t,i;
t=n;
for(i=0;i<n;i )
{
(stu[i].t==0) {t=i;break;}
}
cin>>temp.num>>temp.gra1 >>temp.gra2 >>temp.gra3 ;

stu[t]=temp;
stu[t].t=1;
if(t==n) n ;

}

void Sort()
{
int i,j;

for(i=0;i<n;i )
{
for(j=i 1;j<n;j )
{
if(stu[j].ave>stu[j-1].ave)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void Ave()
{
int i;
for(i=0;i<n;i ) stu[i].ave=(stu[i].gra1 stu[i].gra2 stu[i].gra3 )/3;
}

void Dis ()
{
int i;
for(i=0;i<n;i )
{
if(stu[i].t==1)
{
cout<<stu[i].num<<" "<<stu[i].gra1<<" "<<stu[i].gra2
<<" "<<stu[i].gra3<<" "<<stu[i].ave<<endl;
}
}
}
void Del(int t)
{
int i;
string name;
cin>>name;
int p=-1;
for(i=0;i<n;i )
{
if(stu[i].t==1

❻ 學生成績管理系統怎麼做

可以啊~ 我同事給我推薦了易查分,我用下來還蠻好用的,不用要代碼 和伺服器,你只要把你要做的查詢信息 做成電子表格,導入易查分,然後易查分每個步驟都有任務向導,按照步驟完成就可以生成了!!!你試試嘛

❼ 學生成績管理系統是不是應用軟體系統

軟體只有系統軟體和應用軟體之分;
系統軟體,一般都是指操作系統,像windows,linux, win 7
應用軟體,絕大多數的軟體都是應用軟體,基本所有軟體公司都是開發應用軟體的。類似qq ,小說閱讀器,office了(雖然與windows綁定,但是它是微軟開發的應用軟體)
所以學生管理系統是應用軟體。

❽ 簡單學生成績管理系統程序設計

看可以不咯?
#include<stdio.h>
int avgGrade(int a[50])
{
int i,sum=0,max=0,min=0;
double avg=0.0;

max=a[0];
min=a[0];

for(i=0;i<50;i++)
{
sum+=a[i];
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
avg=(double)sum/50;

printf("平均成績為%lf,最高成績為%d,最低成績為%d\n",avg,max,min);

return 0;
}
int compositor(int a[50])
{
int i,j,n,temp=0;

printf("請輸入您要排序的方式(0:升序,1:降序):\n");
scanf("%d",&n);

for(i=0;i<50;i++)
{
for(j=0;j<i;j++)
{
if(n==0)
{
if(a[j]>a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
else
{
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
for(i=0;i<50;i++)
{
printf("%d",a[i]);
}
}
int insertGrade(int a[50])
{
int i,n;
printf("請輸入你要插入的成績:\n");
scanf("%d",&n);
for(i=0;i<50;i++)
if(n>a[i])
{
for(s=49;s>=i;s--)
a[s+1]=a[s];
break;
}
a[i]=n;
}
int deleteGrade(int a[50])
{
int x,i,j;
printf("請輸入你要刪除的成績:\n");
scanf("%d",&x);
for(i=0;i<10;i++)
{
if(a[i]==x)
for(j=i+1;j<10;j++)
a[i]=a[j];
a[j]='\0';
}
}
void main()
{
int n,i,a[50];

printf("請輸入50個學生的成績:\n");
for(i=0;i<50;i++)
{
scanf("%d",&a[i]);
}

while(1)
{
printf ("--------------------------\n");
printf ("請選擇您的功能:\n\n");
printf (" 0 錄入成績\n");
printf (" 1 輸出成績\n");
printf (" 2 輸出平均分、最高分、最低分\n");
printf (" 3 成績降序或升序排列\n");
printf (" 4 插入一個成績\n");
printf (" 5 刪除用戶給定的成績\n");
printf (" 6 退出\n\n");
printf ("--------------------------\n");
scanf("%d",n);

switch(n)
{
case 0:
printf("請輸入50個學生的成績:\n");
for(i=0;i<50;i++)
{
scanf("%d",&a[i]);
}
break;
case 1:
for(i=0;i<50;i++)
{
printf("%d",a[i]);
}
break;
case 2:
avgGrade(a);
break;
case 3:
compositor(a);
break;
case 4:
insertGrade(a);
break;
case 5:
deleteGrade(a);
break;
case 6:
exit (0);
}
}
return 0;
}

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919