導航:首頁 > 源碼編譯 > 學生選修管理系統源碼

學生選修管理系統源碼

發布時間:2023-01-27 06:28:27

『壹』 求java學生管理系統源代碼 急!!!

完成了,希望能幫到你
剛開始會叫你輸入編號選擇功能
import java.io.*;

public class student {

public static void main(String args[]) throws IOException{

int[] stud = {77,99,55,46,82,75,65,31,74,85};

System.out.println("請選擇功能:");//輸入編號選擇功能
System.out.println("1、輸入學號,查詢該學生成績:");
System.out.println("2、輸入成績,查詢學生學號:");
System.out.println("3、輸入學號,刪除該學生成績");
System.out.println("請選擇編號:");

BufferedReader td = new BufferedReader(new InputStreamReader(System.in));

String temp = td.readLine();

int choice = Integer.valueOf(temp);

if(choice == 1){//一為查詢學生成績

System.out.println("請輸入學號:");

BufferedReader sd = new BufferedReader(new InputStreamReader(System.in));

String temp_sd = sd.readLine();

int No = Integer.valueOf(temp_sd);

System.out.print("學號為 "+No+" 的學生成績為: " + stud[No-1] +"分");
}

if(choice == 2){//二為查詢學生編號

System.out.println("請輸入成績:");

BufferedReader sd = new BufferedReader(new InputStreamReader(System.in));

String chengji = sd.readLine();

int temp_cj = Integer.valueOf(chengji);

for(int i=0;i<stud.length;i++){

if(temp_cj == stud[i]){

System.out.print("成績為 "+ temp_cj+ "的學生的學號為: "+(i+1));

}
}
}
if(choice == 3){//三為刪除操作

System.out.println("請輸入學號:");

BufferedReader sd = new BufferedReader(new InputStreamReader(System.in));

String temp_sd = sd.readLine();

int No = Integer.valueOf(temp_sd);

stud[No-1]=0;//直接賦值為0,不刪除學生

System.out.print("學號為 "+No+" 的學生成績為: " + stud[No-1] +"分");
}

}
}

『貳』 學生信息管理系統C++源代碼

#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#define INIT_SIZE 10
#define INCRE_SIZE 10
#define SUBJECT_NUM 3
#define LEN 3

void show_Start();

void show_Table();

void addRecord();

void Info_delete();
void deleteRecord();
void delete_Num(int);
void delete_Name(char tarName[]);

void Info_modify();
void modifyRecord();
void modify_Num(int);
void modify_Name(char[]);

void Info_query();
void queryRecord();
void query_Num(int);
void query_Name(char[]);

void display();

void quit();

void menu_CMD();

char *subject[SUBJECT_NUM] = {"高代","數分","C語言"};

struct STUDENT
{
int num;
char name[20];
char sex;
float score[SUBJECT_NUM];
};

//struct STUDENT stu[LEN + 1];

//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);

int static stuNum = 0;
//先暫時定義三個學生吧...

STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);;

int main()
{
//record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);

/*
record[1].num = 1001;
strcpy(record[1].name,"Jason");
record[1].sex = 'M';
record[1].score[0] = 85.0;
record[1].score[1] = 90.0;
record[1].score[2] = 95.0;

record[2].num = 1002;
strcpy(record[2].name,"Jerry");
record[2].sex = 'M';
record[2].score[0] = 85.0;
record[2].score[1] = 90.0;
record[2].score[2] = 95.0;

record[3].num = 1003;
strcpy(record[3].name,"Jessie");
record[3].sex = 'F';
record[3].score[0] = 85.0;
record[3].score[1] = 90.0;
record[3].score[2] = 95.0;
*/

/*
Info_modify();
int key;
cout<<"請輸入您的選擇 : ";
cin>>key;

if(key == 1)
{
int targetNum;
cout<<"請輸入您欲修改的學生的學號 : ";
cin>>targetNum;

modify_Num(targetNum);
cout<<endl;

display();
}

if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲修改學生的姓名 : ";
cin>>targetName;

modify_Name(targetName);
cout<<endl;

display();
}

if(key == 3)
{
exit(0);
}
*/

show_Start();

menu_CMD();

return 0;

}

//修改完後還應該顯示
void show_Start()
{
//cout<<endl;
cout<<" **************************************** "<<endl;
cout<<" 這是一個 "<<endl;
cout<<" 學生成績管理系統 "<<endl;
cout<<" 可以對學生成績進行管理 "<<endl;
cout<<" 歡迎大家使用 "<<endl;
cout<<" Made by Jason "<<endl;
cout<<" **************************************** "<<endl;
}

// 顯示表頭信息,即是 : 學號,姓名,性別,高代,數分,C語言.
void show_Table()
{
cout<<"學號"<<"\t"<<"姓名"<<"\t"<<"性別";
cout<<"\t"<<subject[0]<<"\t"<<subject[1]<<"\t"<<subject[2];
cout<<endl;
}

void menu_CMD()
{
int key;
while(1)
{
cout<<"1. 增加學生信息"<<endl;
cout<<"2. 刪除學生信息"<<endl;
cout<<"3. 修改學生信息"<<endl;
cout<<"4. 查詢學生信息"<<endl;
cout<<"5. 顯示學生信息"<<endl;
cout<<"6. 退出"<<endl;
cout<<"請輸入您的選擇 : ";
cin>>key;
while(1)
{
if((key < 1)||(key > 6))
{
int key;
cout<<"您的輸入有誤,請重新輸入!"<<endl;
cout<<"請選(1 - 5) : ";
cin>>key;
}
else
{
break;
}
}
switch(key)
{
case 1:
addRecord();
break;
case 2:
deleteRecord();
break;
case 3:
modifyRecord();
break;
case 4:
queryRecord();
break;
case 5:
display();
break;
case 6:
quit();
break;
}

}
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

//增加學生信息
void addRecord()
{

if(stuNum == 0)
{
cout<<"原來沒有記錄,現在建立新表!"<<endl;
stuNum++;
}
else
{
cout<<"現在在當前表的末尾添加新的信息!"<<endl;
stuNum++;
}

//如果數組空間不夠,重新申請空間
if(stuNum > INIT_SIZE)
{
cout<<"內存空間不夠,現在重新申請新的內存空間!"<<endl;
record = (STUDENT*)realloc(record,(INIT_SIZE + INCRE_SIZE)*sizeof(STUDENT));
cout<<"空間申請完成!"<<endl;
}

cout<<"您現在要添加一組新的信息,您確定嗎?"<<endl;
cout<<"請輸入您的選擇(Y/N) : ";
char choi;
cin>>choi;
if((choi == 'Y')||(choi == 'y'))
{
cout<<"請輸入學號 : ";
cin>>record[stuNum].num;
cout<<"請輸入姓名 : ";
cin>>record[stuNum].name;
cout<<"請輸入性別(M為男,F為女) : ";
cin>>record[stuNum].sex;

int i;
for(i = 0;i < SUBJECT_NUM;i++)
{
cout<<"請輸入"<<subject[i]<<"的成績 : ";
cin>>record[stuNum].score[i];
}
}

if((choi == 'N')||(choi == 'n'))
{
cout<<"退出添加新學生信息!"<<endl;
cout<<endl;
}

cout<<"現在已經有"<<stuNum<<"條學生的信息了!"<<endl;
cout<<endl;
}

//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//刪除信息 晚上完成...

//顯示deleteRecord的表頭信息
void Info_delete()
{
cout<<"請輸入刪除方式 : "<<endl;
cout<<"1. 按學號刪除"<<endl;
cout<<"2. 按姓名刪除"<<endl;
cout<<"3. 退出刪除"<<endl;
}

//刪除學生的信息,包含兩個子函數
void deleteRecord()
{
int key;
cout<<endl;
Info_delete();
cout<<"請輸入您的選擇 : ";
cin>>key;

if(key == 1)
{
int targetNum;
cout<<"請輸入您欲刪除學生的學號 : ";
cin>>targetNum;

//按學號刪除
delete_Num(targetNum);
cout<<endl;
}

if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲刪除學生的姓名 : ";
cin>>targetName;

//按姓名刪除
delete_Name(targetName);
cout<<endl;
}

if(key == 3)
{
while(1)
{
menu_CMD();

}
}
}

//按學號刪除學生信息
//只用完成刪除操作,而不必輸出. 輸出的操作可以在主菜單中進行

void delete_Num(int tarNum)
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(record[i].num == tarNum)
{
//刪除還要分兩種情況討論
//1. 欲刪除的學生信息是最後一位
//2. 欲刪除的學生信息不是最後一位

//第一種情況,欲刪除的學生是最後一位
if(i = stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;

cout<<endl<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum - 1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
//顯示信息應該放在後面
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}

//2.第二種情況,欲刪除的學生不是最後一位
if(i != stuNum)
{

cout<<"您所要刪除的學生信信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];

for(int j = i+1;j <= stuNum;j++)
{
record[j-1] = record[j];
}

//接著完成輸出

cout<<endl;
cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}

stuNum--;
cout<<"現在還是剩下"<<stuNum<<"條學生的信息";
cout<<endl;
}
}
}

/*

//方法同上
void delete_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(strcmp(record[i].name,tarName) == 0)
{
//刪除還要分兩種情況討論
//1. 欲刪除的學生信息是最後一位
//2. 欲刪除的學生信息不是最後一位

//第一種情況 : 欲刪除學生是最後一位
if(i = stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;

cout<<endl<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum - 1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
}

//第二種情況 : 欲刪除學生不是最後一位
if(i != stuNum)
{

cout<<"您所要刪除的學生信信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];

//整體往前 前移一位
for(int j = i+1;j <= stuNum;j++)
{
record[j-1] = record[j];
}
cout<<endl;

//接著完成輸出
cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}

cout<<endl;
}
}

}

}

*/

void delete_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{

//刪除還要分兩種情況討論
//1. 欲刪除的學生信息是最後一位
//2. 欲刪除的學生信息不是最後一位

//當欲刪除的學生是最後一位,直接輸出前面LEN-1位學生的信息

if(strcmp(record[i].name,tarName) == 0)
{
if(i == stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];

cout<<endl;

cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}

//當欲刪的學生不是最後一位,整體往前前移一位
if(i != stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;

show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t";
cout<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;

//整體往前前移一位
for(int j = i+1;j <= stuNum;j++)
{
record[j-1] = record[j];
}

//然後輸出
cout<<endl;
cout<<"刪除後學生信息表為 : "<<endl;

show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}

stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
}
}
}

/*****************************************************************************
******************************************************************************/

//顯示modifyRecord的表頭信息
void Info_modify()
{
cout<<"請輸入修改方式 : "<<endl;
cout<<"1. 按學號修改"<<endl;
cout<<"2. 按姓名修改"<<endl;
cout<<"3. 退出修改"<<endl;
}

//查詢學生的成績,當然裡麵包括兩個子函數
void modifyRecord()
{
int key;
cout<<endl;
Info_modify();
cout<<"請輸入您的選擇 : ";
cin>>key;

//按學號修改
if(key == 1)
{
int targetNum;
cout<<"請輸入您欲修改的學生的學號 : ";
cin>>targetNum;

modify_Num(targetNum);
cout<<endl;

//display();
}

//按姓名修改
if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲修改學生的姓名 : ";
cin>>targetName;

modify_Name(targetName);
cout<<endl;

//display();
}

//退出修改
if(key == 3)
{
while(1)
{
menu_CMD();
}
}
}

//按學號修改
void modify_Num(int tarNum)
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(record[i].num == tarNum)
{
cout<<endl<<"請修改該學生的信息"<<endl;
cout<<"請輸入該學生的學號 : ";
cin>>record[i].num;
cout<<"請輸入該學生的姓名 : ";
cin>>record[i].name;
cout<<"請輸入該學生的性別 : ";
cin>>record[i].sex;
cout<<"請輸入"<<subject[0]<<"的成績 : ";
cin>>record[i].score[0];
cout<<"請輸入"<<subject[1]<<"的成績 : ";
cin>>record[i].score[1];
cout<<"請輸入"<<subject[2]<<"的成績 : ";
cin>>record[i].score[2];
}
}
}

//按姓名修改
void modify_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(strcmp(record[i].name,tarName) == 0)
{
cout<<endl<<"請修改該學生的信息 : "<<endl;
cout<<"請輸入該學生的學號 : ";
cin>>record[i].num;
cout<<"請輸入該學生的姓名 : ";
cin>>record[i].name;
cout<<"請輸入該學生的性別 : ";
cin>>record[i].sex;
cout<<"請輸入"<<subject[0]<<"的成績 : ";
cin>>record[i].score[0];
cout<<"請輸入"<<subject[1]<<"的成績 : ";
cin>>record[i].score[1];
cout<<"請輸入"<<subject[2]<<"的成績 : ";
cin>>record[i].score[2];
}
}
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

//顯示queryRecord的表頭信息
void Info_query()
{
cout<<"請輸入查詢方式 : "<<endl;
cout<<"1. 按學號查詢"<<endl;
cout<<"2. 按姓名查詢"<<endl;
cout<<"3. 退出查詢"<<endl;
}

//查詢學生信息queryRecord
void queryRecord()
{
int key;
cout<<endl;
Info_query();
cout<<"請輸入您的選擇 : ";
cin>>key;

if(key == 1)
{
int targetNum;
cout<<"請輸入您欲查詢學生的學號 : ";
cin>>targetNum;

query_Num(targetNum);
cout<<endl;
}

if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲查詢學生的學號 : ";
cin>>targetName;

query_Name(targetName);
cout<<endl;
}

//退出查詢,退回到主菜單吧...
if(key == 3)
{
while(1)
{
menu_CMD();
}
}
}

//按學號查詢
void query_Num(int tarNum)
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(record[i].num == tarNum)
{
//如果表中有該學生信息的話,僅用輸出該學生的信息即可.
//輸出該學生的信息
cout<<"該學生的信息如下 : "<<endl;

//顯示表頭信息
show_Table();

//顯示該學生具體的信息
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
cout<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
}
}
}

//按姓名查詢
void query_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(strcmp(record[i].name,tarName) == 0)
{
cout<<"該學生的信息如下 : "<<endl;

show_Table();

cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
cout<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
}
}
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

//先顯示所有學生的信息吧
//顯示record里所有學生的成績
void display()
{
show_Table();
int i,j;
for(i = 1;i <= stuNum;i++)
{
//cout<<"學號"<<"\t"<<"姓名"<<"\t"<<"性別";
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
cout<<endl;
}

//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

//退出
void quit()
{
char choi;
cout<<"您確定要退出嗎?"<<endl;
cout<<"請輸入您的選擇(Y/N) : ";
cin>>choi;
if((choi == 'Y')||(choi == 'y'))
{
cout<<"現在退出學生信息管理系統"<<endl;
exit(0);
}
//如果不是退出,則接著退回到主界面
else
{
cout<<endl;
menu_CMD();
}

}

這個是原創的... 在C-Free 4.0里跑過,可以正常運行
你可以試著跑一下,如果有什麼問題可以和我聯系

『叄』 學生管理系統源代碼c++

#include <iostream.h>
#include <string.h>
#include "h1.h"
void menu();
void clear()
{
cin.clear();
cin.ignore();
}
void stu::init_name_grade() //輸入學生姓名、班級
{
cout<<"請輸入學生姓名:";
cin>>name;
clear();
cout<<"請輸入學生班級號:";
cin>>grade;
clear();
}

void stu::init_first() //輸入學生第一學期成績
{
cout<<"學生"<<name<<"第一學期成績"<<endl;
cout<<"請輸入英語成績:";
cin>>first.english;
clear();
cout<<"請輸入數學成績:";
cin>>first.math;
clear();
first.total=first.english+first.math;
first.aver=first.total/2;
}

void stu::init_second() //輸入學生第二學期成績
{
cout<<"學生"<<name<<"第二學期成績"<<endl;
cout<<"請輸入英語成績:";
cin>>second.english;
clear();
cout<<"請輸入數學成績:";
cin>>second.math;
clear();
second.total=second.english+second.math;
second.aver=second.total/2;
}

void stu::show_first() //顯示學生第一學期成績
{
cout<<"學生姓名:"<<name<<endl;
cout<<"學生班級:"<<grade<<endl;
cout<<"學生第一學期英語成績:"<<first.english<<endl;
cout<<"學生第一學期數學成績:"<<first.math<<endl;
cout<<"學生第一學期總成績:"<<first.total<<endl;
cout<<"學生第一學期平均成績:"<<first.aver<<endl;
}

void stu::show_second() //顯示學生第二學期成績
{
cout<<"學生姓名:"<<name<<endl;
cout<<"學生班級:"<<grade<<endl;
cout<<"學生第二學期英語成績:"<<second.english<<endl;
cout<<"學生第二學期數學成績:"<<second.math<<endl;
cout<<"學生第二學期總成績:"<<second.total<<endl;
cout<<"學生第二學期平均成績:"<<second.aver<<endl;
}

void stu::show_grade() //顯示學生所有學期成績
{
cout<<"學生姓名:"<<name<<endl;
cout<<"學生班級:"<<grade<<endl;
cout<<"學生第一學期英語成績:"<<first.english<<endl;
cout<<"學生第一學期數學成績:"<<first.math<<endl;
cout<<"學生第一學期總成績:"<<first.total<<endl;
cout<<"學生第一學期平均成績:"<<first.aver<<endl;
cout<<"學生第二學期英語成績:"<<second.english<<endl;
cout<<"學生第二學期數學成績:"<<second.math<<endl;
cout<<"學生第二學期總成績:"<<second.total<<endl;
cout<<"學生第二學期平均成績:"<<second.aver<<endl;
}

stu_info::stu_info() //stu_info的構造函數
{
num=0;
}

void stu_info::add_name_grade() //添加學生信息(班級、姓名)到數組中
{
int choose;
do
{
per[num].init_name_grade();
num++;
cout<<"繼續輸入學生信息嗎?(0:退出,任意數字鍵繼續...)";
cin>>choose;
clear();
}while(choose!=0);
}

void stu_info::add_first(int gra) //添加第一學期成績
{
for(int i=0;i<num;i++)
{
if(per[i].grade==gra)
{
per[i].init_first();
}
}
}

void stu_info::add_second(int gra) //添加第二學期成績
{
for(int i=0;i<num;i++)
{
if(per[i].grade==gra)
{
per[i].init_second();
}
}
}

void stu_info::query_aver(int gra,int term) //按班級、學期及平均分排序顯示學生成績
{
stu temp[100];
stu t;
int sum=0;
for(int i=0;i<num;i++)
{
if(per[i].grade==gra)
{
temp[sum]=per[i];
sum++;
}
}
for(int j=0;j<sum-1;j++)
{
for(int k=sum-1;k>j;k--)
{
if(term==1)
{
if(temp[k].first.aver>temp[k-1].first.aver)
{
t=temp[k];
temp[k]=temp[k-1];
temp[k-1]=t;
}
}
else if(term==2)
{
if(temp[k].second.aver>temp[k-1].second.aver)
{
t=temp[k];
temp[k]=temp[k-1];
temp[k-1]=t;
}
}
else
{
cout<<"該學期不存在!"<<endl;
return;
}
}
}
for( i=0;i<sum;i++)
{
if(term==1)
{
temp[i].show_first();
}
else
{
temp[i].show_second();
}
}
}

void stu_info::modify(int gra,char name[10]) //按班級、姓名查詢學生信息並修改學生信息
{
for(int i=0;i<num;i++)
{
if(per[i].grade==gra&&strcmp(per[i].name,name)==0)
{
per[i].init_name_grade();
per[i].init_first();
per[i].init_second();
return;
}
else
{
cout<<"該學生不存在!"<<endl;
}
}
}

void stu_info::query(int gra,char name[10]) //按班級、姓名查詢學生信息並輸出
{
for(int i=0;i<num;i++)
{
if(per[i].grade==gra&&strcmp(per[i].name,name)==0)
{
per[i].show_grade();
return;
}
else
{
cout<<"該學生不存在!"<<endl;
}
}
}

void stu_info::query_grade(int gra) //按班級輸出該班全部學生成績
{
cout<<gra<<"班級學生的成績如下:"<<endl;
for(int i=0;i<num;i++)
{
if(per[i].grade==gra)
{
per[i].show_grade();
}
}
}

void stu_info::show_fail(int grade,int term,int course)
{
cout<<"不及格名單如下:"<<endl;
for(int i=0;i<num;i++)
{
if(per[i].grade==grade)
{
if(term==1)
{
if(course==1)
{
if(per[i].first.english<60)
{
cout<<per[i].name<<endl;
}
}else if(course==2)
{
if(per[i].first.math<60)
{
cout<<per[i].name<<endl;
}
}
}
else if(term==2)
{
if(course==1)
{
if(per[i].second.english<60)
{
cout<<per[i].name<<endl;
}
}else if(course==2)
{
if(per[i].second.math<60)
{
cout<<per[i].name<<endl;
}
}
}
else
{
cout<<"該學期不存在!"<<endl;
return;
}
}
}
}

void main()
{
stu_info people;
int grade;
int term;
int choose;
int course;
char name[10];
while(1)
{
menu();
cin>>choose;
clear();
switch(choose)
{
case 1:
people.add_name_grade();break;
case 2:
cout<<"請輸入班級號:";
cin>>grade;
clear();
cout<<"請輸入學期:";
cin>>term;
clear();
if(term==1)
people.add_first(grade);
else
people.add_second(grade);
break;
case 3:
cout<<"請輸入班級號:";
cin>>grade;
clear();
cout<<"請輸入學生姓名:";
cin>>name;
clear();
people.modify(grade,name);
break;
case 4:
cout<<"請輸入班級號:";
cin>>grade;
clear();
cout<<"請輸入學期:";
cin>>term;
clear();
people.query_aver(grade,term);
break;
case 5:
cout<<"請輸入班級號:";
cin>>grade;
clear();
people.query_grade(grade);
break;
case 6:
cout<<"請輸入班級號:";
cin>>grade;
clear();
cout<<"請輸入學期:";
cin>>term;
clear();
cout<<"請輸入課程號(1:english,2:math):";
cin>>course;
people.show_fail(grade,term,course);
break;
case 7:
cout<<"請輸入班級號:";
cin>>grade;
clear();
cout<<"請輸入學生姓名:";
cin>>name;
clear();
people.query(grade,name);
break;
case 8:return;
default:cout<<"選擇錯誤,請重新選擇!"<<endl;
}
}
}

void menu()
{
cout<<" 請選擇操作"<<endl;
cout<<"-------------------------------------------------------------"<<endl;
cout<<" 1、輸入學生姓名、班級"<<endl;
cout<<" 2、按學期、班級錄入學生成績"<<endl;
cout<<" 3、修改學生成績"<<endl;
cout<<" 4、按班級平均分對學生成績排序"<<endl;
cout<<" 5、按班級輸出學生的成績單"<<endl;
cout<<" 6、按科目輸出不及格學生名單"<<endl;
cout<<" 7、查詢學生成績單"<<endl;
cout<<" 8、退出系統"<<endl;
}
這上面是實現功能,下面是類的定義和聲明 希望對你有用

struct term
{
int english;
int math;
int aver;
int total;
};
class stu
{
char name[10];
int grade;
struct term first;
struct term second;
public:
friend class stu_info;
void init_name_grade();
void init_first();
void init_second();
void show_grade();
void show_first();
void show_second();
};
class stu_info
{
stu per[100];
int num;
public:
stu_info();
void add_name_grade();
void add_first(int gra);
void add_second(int gra);
void query_aver(int gra,int term);
void modify(int gra,char name[10]);
void query(int gra,char name[10]);
void query_grade(int gra);
void show_fail(int grade,int term,int course);
};

『肆』 c語言學生選修課程管理系統

#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct student
{
char name[60];
char ID[7];
int score;
};int dq(struct student st[]);
void xianshi();
void bc(struct student st[]);
void add();
void select();
void zz();
void chazhao();
void xhcz();
void xmcz();
void del();
void xmsc();
void xhsc();
void tj();
void px();
void bjg();
void xg();
void xhxg();
void xmxg();
void bca();
void fh();
struct student st[300]; //這個數組用來保存所有的學生信息 和文件裡面的一致
int Number=0; //記錄總的學生人數 也就是數組/文件裡面的學生人數
void main()
{
int choose=0;
FILE *fp=NULL;
char yesorno;

if((fp=fopen("C://student.dat","rb"))==NULL)
{
printf("\n=========>提示:文件不存在,是否要創建一個?(y/n)\n");
scanf("%c",&yesorno);
if(yesorno=='y'||yesorno=='Y')
{

//這里僅為了建立文件
fp=fopen("C://student.dat","wb");
fclose(fp);
}
else
exit(0);
}
else
{
Number=dq(st); //要是文件只能夠已經有數據 將數據初始化到數組中
}
system("cls");
while(true)
{
xianshi();
printf("\t\t====>請選擇:");
scanf("%d",&choose);
system("cls");
switch(choose)
{
case 0: exit(0);
//退出
break;
case 1: add();
fh();//增加學生成績
break;
case 2: select();
fh();//查看學生成績
break;
case 3: chazhao();
fh();// 查找
break;
case 4: del();
fh();//刪除
break;
case 5: tj();
fh();//統計
break;
case 6: px();
fh();//排序
break;
case 7: bjg();
fh();//輸出不及格
break;
case 8: xg();
fh();//修改
break;
case 9:zz();
fh();//作者
break;
case 10:bca();
fh();//保存

break;
default:
break;
}
fflush(stdin);
getchar();
system("cls");
}
}
void bca()
{
printf("\t=====程序在運行時已自動保存.....\n");
}
void fh()
{
printf("\t===>按Enter鍵返回主菜單\n");
}
void xg() //修改學生信息
{
int way=0;
printf("請選擇修改查找方式\n");
printf("1 按姓名查找修改\n");
printf("2 按學號查找修改\n");
scanf("%d",&way);
switch(way)
{
case 1: xmxg();
break;
case 2: xhxg();
break;
default: printf("輸入有誤,結束!\n");
break;
}
}
//按姓名修改
void xmxg()
{
FILE *fp=NULL;
char name[60];
int i=0;
int changeIndex=0;
int index=0;
printf("請輸入要修改的學生姓名:");
scanf("%s",name);
for (i=0;i<Number;i++)
{
if (strcmp(name,st[i].name))
{
changeIndex=i; //保存要修改的人的下標
}
break;
}
printf("\t姓名\t學號\t成績\n");
printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score);
printf("請重新輸入該學生信息");
printf("姓名:");
scanf("%s",st[changeIndex].name);
printf("學號:");
scanf("%s",st[changeIndex].ID);
printf("成績:");
scanf("%d",&st[changeIndex].score); //信息修改後重新更新文件裡面的數據 以保持數據一致性
fp=fopen("C://student.dat","wb");
for (i=0;i<Number;i++)
{
fwrite(&st[i],sizeof(struct student),1,fp);
}
fclose(fp);
}
void xhxg()//按學號修改
{
FILE *fp=NULL;
char id[60];
int i=0;
int changeIndex=0;
int index=0;
printf("請輸入要修改的學生學號:");
scanf("%s",id);
for (i=0;i<Number;i++)
{
if (strcmp(id,st[i].ID))
{
changeIndex=i; //保存要修改的人的下標
}
break;
}
printf("\t姓名\t學號\t成績\n");
printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score);
printf("請重新輸入該學生信息");
printf("姓名:");
scanf("%s",st[changeIndex].name);
printf("學號:");
scanf("%s",st[changeIndex].ID);
printf("成績:");
scanf("%d",&st[changeIndex].score);

//信息修改後重新更新文件裡面的數據 以保持數據一致性
fp=fopen("C://student.dat","wb");
for (i=0;i<Number;i++)
{
fwrite(&st[i],sizeof(struct student),1,fp);
}
fclose(fp);
printf("\t=======>修改成功\n");
}void bjg() //輸出不及格人數
{
int i=0;
printf("以下是不及格:\n");
printf("\t姓名\t學號\t成績\n");
for (i=0;i<Number;i++)
{
if (st[i].score<60)
{
printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);
}
}
}
void px()//排序
{
struct student temp;
int wantNUmber=0;
int i=0;
int j=0;
for(i=0;i<Number-1;i++)
{
for(j=i;j<Number-1;j++)
{
if(st[j].score>st[j+1].score)
{
temp=st[j];
st[j]=st[j+1];
st[j+1]=temp;
}
}
}
printf("你想輸出前幾名的成績:");
scanf("%d",&wantNUmber);
if (wantNUmber>Number)
{
wantNUmber=Number;
} printf("\t姓名\t學號\t成績\n");
for(i=0;i<wantNUmber;i++)
{
printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);
}
}
void tj()//統計
{
int i=0;
double sum=0.0;
for(i=0;i<Number;i++)
{
sum+=st[i].score;
}
printf("全班總分為:%f\n",sum);
printf("平均分為:%f\n",sum/Number);
}
void del()//刪除
{
int n=0;
printf("1 按姓名刪除\n");
printf("2 按學號刪除\n");
scanf("%d",&n);
switch(n)
{
case 1: xmsc();
break;
case 2: xhsc();
break;
}
}
void xmsc()//按姓名刪除
{
FILE *fp=NULL;
char name[60];
int i=0;
int j=0;
printf("請輸入要刪除的學生姓名:");
scanf("%s",name);
for(i=0;i<Number;i++)
{
if (strcmp(name,st[i].name)==0) //如果查找到就刪除
{
for (j=i;j<Number-1;j++)
{
st[j]=st[j+1];
}
Number--;
}
} //將剩餘數據寫入文件 重新一寫的方式打開文件 把以前的數據擦除了
fp=fopen("C://student.dat","wb");
for (i=0;i<Number;i++)
{
fwrite(&st[i],sizeof(struct student),1,fp);
}
fclose(fp);
printf("刪除成功;\n");

}
void xhsc()//按學號刪除
{
FILE *fp=NULL;
char id[60];
int i=0;
int j=0;
printf("請輸入要刪除的學生學號:");
scanf("%s",id);
for(i=0;i<Number;i++)
{
if (strcmp(id,st[i].ID)==0) //如果查找到就刪除
{
for (j=i;j<Number-1;j++)
{
st[j]=st[j+1];
}
Number--;
}
}

//將剩餘數據寫入文件 重新一寫的方式打開文件 把以前的數據擦除了
fp=fopen("C://student.dat","wb");
for (i=0;i<Number;i++)
{
fwrite(&st[i],sizeof(struct student),1,fp);
}
fclose(fp);
printf("刪除成功;\n");
}
void chazhao()//查找學生
{
int n=0;
printf("1 按姓名查找\n");
printf("2 按學號查找\n");
scanf("%d",&n);
switch(n)
{
case 1: xmcz();
break;
case 2: xhcz();
break;
default: printf("輸入有誤,結束!\n");
break;
}
}
void xhcz()//按學號查找
{
char id[7];
int i=0;
printf("請輸入要查找學生學號:");
scanf("%s",id);
system("cls");
printf("\t姓名\t學號\t成績\n");
for (i=0;i<Number;i++)
{
if (strcmp(id,st[i].ID)==0)
{
printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);
}
}
}
void xmcz()//按姓名查找
{
char name[7];
int i=0;
printf("請輸入要查找學生姓名:");
scanf("%s",name);
system("cls");
printf("\t姓名\t學號\t成績\n");
for (i=0;i<Number;i++)
{
if (strcmp(name,st[i].name)==0)
{
printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);
}
}
}
void zz()
{
printf("\t**********************************************************\n\n");
printf("\t^^^^^^^^^^ 武漢工程大學郵電與信息工程學院 ^^^^^^^^^^\n\n");
printf("\t^^^^^^^^^ 07網路與安全管理2班 ^^^^^^^^^\n\n");
printf("\t^^^^^^^^ 易樊製作 ^^^^^^^^\n\n");
printf("\t^^^^^^^^^ 禁止CTRL+C 謝謝合作 ^^^^^^^^^\n\n");
printf("\t^^^^^^^^^^ QQ:895115828\n\n");
printf("\t**********************************************************\n\n");
}
void select()//查看學生
{
int i=0;
printf("以下是全部學生成績\n");
printf("\t姓名\t學號\t成績\n");
for(i=0;i<Number;i++)
{
printf("\t%s\t%s\t%d\n",st[i].name,st[i].ID,st[i].score);
}
}
void add()//增加學生
{
int numberTemp=0;
int i=0;
struct student temp; //臨時保存信息
printf("請輸入要增加學生成績個數:");
scanf("%d",&numberTemp);
for(i=0;i<numberTemp;i++)
{
printf("輸入第%d個同學信息\n",i+1);
printf("姓名:");
scanf("%s",temp.name);
printf("學號:");
scanf("%s",temp.ID);
printf("成績:");
scanf("%d",&temp.score);
st[Number++]=temp; //將剛添加的寫入到數組
bc(&temp); //將剛添加的寫入到文件 }
printf("添加成功\n");
}
void bc(struct student *st)
{
FILE *fp=NULL;
fp=fopen("C://student.dat","ab+");
fwrite(st,sizeof(struct student),1,fp);
fclose(fp);
}
int dq(struct student st[])
{
FILE *fp=NULL;
int i=0;
fp=fopen("C://student.dat","rb");
while(fread(&st[i],sizeof(struct student),1,fp))
i++;
fclose(fp);
return i;
}
void xianshi()
{
printf("\t*****************************************************************\n");
printf("\t* *\n");
printf("\t* 學生成績管理系統 *\n");
printf("\t* *\n");
printf("\t* [1] 增加學生成績 [2] 查看學生成績 *\n");
printf("\t* [3] 查找學生成績 [4] 刪除學生成績 *\n");
printf("\t* [5] 統計(總成績和平均分) [6] 輸出前N名學生成績 *\n");
printf("\t* [7] 輸出不及格人數 [8] 修改學生信息 *\n");
printf("\t* [9] 關於作者 [10] 保存數據 *\n");
printf("\t* [0] 退出系統 *\n");
printf("\t*****************************************************************\n");
}運行成功,請你下去後慢慢研究下這個程序,很簡單的,祝你成功!~
求採納為滿意回答。

『伍』 學生信息管理系統最簡單源代碼。

方法一:

1、創建一個c語言項目。然後右鍵頭文件,創建一個Stu的頭文件。

『陸』 學生管理系統php源碼誰有

php學生管理系統源碼,供大家參考,具體內容如下

功能:

1.添加/刪除/修改
2.數據存儲.
界面分布:
index.php
--->主界面
add.php --->stu添加
action ---> sql中add/del/update
(處理html表單-->mysql的數據存儲 && 頁面跳轉)
edit.php --->stu修改
menu.php
-->首頁

1. index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>學生信息管理</title>
<script>
function doDel(id) {
if(confirm('確認刪除?')) {
window.location='action.php?action=del&id='+id;
}
}
</script>
</head>
<body>
<center>
<?php
include ("menu.php");
?>
<h3>瀏覽學生信息</h3>
<table width="500" border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>性別</th>
<th>年齡</th>
<th>班級</th>
<th>操作</th>
</tr>
<?php
// 1. 鏈接資料庫
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
die('connection failed'.$e->getMessage());
}
//2.執行sql
$sql_select = "select * from stu";
//3.data 解析
foreach ( $pdo->query($sql_select) as $row) {
echo "<tr>";
echo "<th>{$row['id']} </th>";
echo "<th>{$row['name']}</th>";
echo "<th>{$row['sex']} </th>";
echo "<th>{$row['age']} </th>";
echo "<th>{$row['classid']}</th>";
echo "<td>
<a href='edit.php?id={$row['id']}'>修改</a>
<a href='javascript:void(0);' onclick='doDel({$row['id']})'>刪除</a>
</td>";
echo "</tr>";
}
?>
</table>
</center>
</body>
</html>

2. add.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>學生管理系統</title>
</head>
<body>
<center>

<?php include ('menu.php'); ?>
<h3>增加學生信息</h3>
<form action="action.php?action=add" method="post">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>年齡</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>性別</td>
<td><input type="radio" name="sex" value="男">男</td>
<td><input type="radio" name="sex" value="女">女</td>
</tr>
<tr>
<td>班級</td>
<td><input type="text" name="classid"></td>
</tr>
<tr>
<!-- <td> </td>-->
<td><a href="index.php">返回</td>
<td><input type="submit" value="添加"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>

</center>
</body>
</html>

3. action.php
<?php
/**
* Created by PhpStorm.
* User: hyh
* Date: 16-7-7
* Time: 下午9:37
*/
//1. 鏈接資料庫
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
// echo 'Connection failed: ' . $e->getMessage();
die('connection failed'.$e->getMessage());
}

//2.action 的值做對操作

switch ($_GET['action']){

case 'add'://add
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$classid = $_POST['classid'];

$sql = "insert into stu (name, sex, age, classid) values ('{$name}', '{$sex}','{$age}','{$classid}')";
$rw = $pdo->exec($sql);
if ($rw > 0){
echo "<script>alter('添加成功');</script>";
}else{
echo "<script>alter('添加失敗');</script>";
}
header('Location: index.php');
break;

case 'del'://get
$id = $_GET['id'];
$sql = "delete from stu where id={$id}";
$rw = $pdo->exec($sql);
if ($rw > 0){
echo "<script>alter('刪除成功');</script>";
}else{
echo "<script>alter('刪除失敗');</script>";
}
header('Location: index.php');
break;

case 'edit'://post
$id = $_POST['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$sex = $_POST['sex'];

// echo $id, $age, $age, $name;
$sql = "update stu set name='{$name}', age={$age},sex='{$sex}',classid={$classid} where id={$id};";
// $sql = "update myapp.stu set name='jike',sex='女', age=24,classid=44 where id=17";
print $sql;
$rw = $pdo->exec($sql);
if ($rw > 0){
echo "<script>alter('更新成功');</script>";
}else{
echo "<script>alter('更新失敗');</script>";
}
header('Location: index.php');
break;

default:
header('Location: index.php');
break;
}

4.edit.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>學生管理系統</title>
</head>
<body>
<center>
<?php include ('menu.php');
//1. 鏈接資料庫
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
die('connection failed'.$e->getMessage());
}
//2.執行sql
$sql_select = "select * from stu where id={$_GET['id']}";
$stmt = $pdo->query($sql_select);
if ($stmt->rowCount() >0) {
$stu = $stmt->fetch(PDO::FETCH_ASSOC); // 解析數據
}else{
die("no have this id:{$_GET['id']}");
}
?>

<h3>修改學生信息</h3>

<form action="action.php?action=edit" method="post">
<input type="hidden" name="id" value="<?php echo $stu['id'];?>">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name" value="<?php echo $stu['name'];?>"></td>
</tr>
<tr>
<td>年齡</td>
<td><input type="text" name="age" value="<?php echo $stu['age'];?>"></td>
</tr>
<tr>
<td>性別</td>
<td>
<input type="radio" name="sex" value="男" <?php echo ($stu['sex'] == "男")? "checked":"";?> >男
</td>
<td>
<input type="radio" name="sex" value="女" <?php echo ($stu['sex'] == "女")? "checked":"";?> >女
</td>
</tr>
<tr>
<td>班級</td>
<td><input type="text" name="classid" value="<?php echo $stu['classid']?>"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="更新"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>

</center>

<?php
?>
</body>
</html>

5. menu.php

<!DOCTYPE html>
<html lang="en">
<body>
<h2>學生管理系統</h2>
<a href="index.php"> 瀏覽學生</a>
<a href="add.php"> 添加學生</a>
<hr>
</body>
</html>

『柒』 學生信息管理系統源代碼

void Sort(student *&head, char type,char maxOrMin)
{
/*參數說明:
type=='1' 按 語文 排列
type=='2' 按 數學 排列
type=='3' 按 英語 排列
type=='4' 按 總分 排列
type=='5' 按 平均分 排列
type=='6' 按 座號 排列
*/
student *pHead,*pH;
pHead=pH=head;
int len=GetLength(head);
float *array=new float[len];
int i;
int x=0;

float num=0;

while(head)
{
Count(head);
if(type=='1')
{
num=head->chinaNum;
}
else if(type=='2')
{
num=head->mathNum;
}
else if(type=='3')
{
num=head->englishNum;
}
else if(type=='4')
{
num=head->result;
}
else if(type=='5')
{

num=head->average;
}
else if(type=='6')
{
num=head->num;
}
array[x]=num;
x++;
head=head->next;
}

head=pHead;
if(maxOrMin=='1')
{
for( i=1; i<len; i++)
{
for(int j=0; j<len-i; j++)
{
if(array[j]<array[j+1])
{
float num;
num=array[j];
array[j]=array[j+1];
array[j+1]=num;
}
}
}
}
else
{
for( i=1; i<len; i++)
{
for(int j=0; j<len-i; j++)
{
if(array[j]>array[j+1])
{
float num;
num=array[j];
array[j]=array[j+1];
array[j+1]=num;
}
}
}
}

int pos=1;

for(i=0; i<len; i++)
{
head=pHead;
while(head)
{
if(type=='1')
{
num=head->chinaNum;
}
else if(type=='2')
{
num=head->mathNum;
}
else if(type=='3')
{
num=head->englishNum;
}
else if(type=='4')
{
num=int(head->result);
}
else if(type=='5')
{
num=int(head->average);
}
else if(type=='6')
{
num=int(head->num);
}

int n=0;
if(int(array[i])==int(num))
{

if(int(array[i])!=int(array[i+1]))
{
if(n==0)
{
n=pos;
}
head->pos=pos;
pos++;
}
else
{

head->pos=n;
}
}
head=head->next;
}
}
head=pH;
delete []array;
}

void Count(student *&head)
{
head->result=head->chinaNum+head->englishNum+head->mathNum;
head->average=head->result/3;
}

void DeleteAll(student* &head)
{
student *cp,*np;

cp=head;
while(cp)
{
np=cp->next;
delete cp;
cp=np;
}
head=NULL;
}

void ChaXun(string str,student *head)
{
Sort(head,'4','1');
cout<<"歡迎使用查詢功能"<<endl<<endl;
cout<<"請輸入你要按什麼查詢 1->一般查詢 2->查找最多 3->查找最少"<<endl;
string s;
cin>>s;
while(s[0]!='1'&&s[0]!='2'&&s[0]!='3')
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
cin>>s;
}

if(s[0]=='1')
{
cout<<"按什麼查詢?"<<endl;
cout<<"1->姓名 2->座號 3->語文成績 4->數學成績 "
<<"5->英語成績 6->總分 7->平均分 8->排名"<<endl;
cin>>str;

while(str[0]!='1' && str[0]!='2' &&
str[0]!='3' && str[0]!='4' &&
str[0]!='5' && str[0]!='6' &&
str[0]!='7' && str[0]!='8' )
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
cin>>str;
}
char findStr[30];
cout<<"請輸入要查找的關鍵字或關鍵數:"<<endl;
cin>>findStr;
switch(str[0])
{

case '1':
Find(head,findStr,'1');
break;
case '2':
Find(head,findStr,'2');
break;
case '3':
Find(head,findStr,'3');
break;
case '4':
Find(head,findStr,'4');
break;
case '5':
Find(head,findStr,'5');
break;
case '6':
Find(head,findStr,'6');
break;
case '7':
Find(head,findStr,'7');
break;
case '8':
Find(head,findStr,'8');
break;
}
}
else if(s[0]=='2')
{
cout<<"請輸入要按什麼查詢?"<<endl;
cout<<"1->語文成績 2->數學成績 "
<<"3->英語成績 4->總分 5->平均分 6->排名"<<endl;
string s;
cin>>s;
switch(s[0])
{
case '1':
FindMaxOrMin(head,'1','1');
break;
case '2':
FindMaxOrMin(head,'2','1');
break;
case '3':
FindMaxOrMin(head,'3','1');
break;
case '6':
FindMaxOrMin(head,'6','1');
break;
case '5':
FindMaxOrMin(head,'5','1');
break;
default:
FindMaxOrMin(head,'4','1');
break;
}
}
else if(s[0]=='3')
{
cout<<"請輸入要按什麼查詢?"<<endl;
cout<<"1->語文成績 2->數學成績 "
<<"3->英語成績 4->總分 5->平均分 6->排名"<<endl;
string s;
cin>>s;
switch(s[0])
{
case '1':
FindMaxOrMin(head,'1','2');
break;
case '2':
FindMaxOrMin(head,'2','2');
break;
case '3':
FindMaxOrMin(head,'3','2');
break;
case '6':
FindMaxOrMin(head,'6','2');
break;
case '5':
FindMaxOrMin(head,'5','2');
break;
default:
FindMaxOrMin(head,'4','2');
break;
}
}
}

void ZengJia(string str, student* &head)
{
student *pNew=new student;
cout<<"歡迎使用增加功能"<<endl<<endl;
cout<<"請輸入新學生的名字 :"<<endl;
cin>>pNew->name;
cout<<"請輸入新學生的座號 :"<<endl;
cin>>pNew->num;
cout<<"請輸入他的語文分數 :"<<endl;
cin>>pNew->chinaNum;
cout<<"請輸入他的數學分數"<<endl;
cin>>pNew->mathNum;
cout<<"請輸入他的英語分數"<<endl;
cin>>pNew->englishNum;

cout<<"插入記錄的 (1->最前面 2->最後面)"<<endl;
cin>>str;
while(str[0]!='1' && str[0]!='2')
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
cout<<"插入記錄的 (1->最前面 2->最後面)"<<endl;
cin>>str;
}
if(str[0]=='1')
{
InsertFront(head,pNew);
}
else if(str[0]=='2')
{
InsertRear(head,pNew);
}
cout<<"新學生增加成功."<<endl;

}

void ShanChu(string str, student *&head)
{
char delStr[30];
cout<<"歡迎使用刪除功能"<<endl<<endl;
cout<<"1->查詢刪除 2->全部刪除"<<endl;
cin>>str;
while(str[0]!='1' && str[0]!='2')
{
cout<<"輸入錯誤,請重新輸入."<<endl;
cin>>str;
}
if(str[0]=='1')
{
cout<<"請輸入要刪除的關鍵字"<<endl;
cin>>delStr;
cout<<"1->刪除第一條找到的記錄 2->刪除所有找到的記錄"<<endl;
cin>>str;
while(str[0]!='1'&&str[0]!='2')
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
cin>>str;
}
cout<<"你真的要刪除嗎? 1->刪除 2->取消"<<endl;
string s;
cin>>s;
if(str[0]=='1')
{
if(str[0]=='1')
{
Delete(head,delStr,1);

}
else
{
Delete(head,delStr,2);
}
}
else
{
cout<<"你已經取消刪除了."<<endl;
}
}
else
{
cout<<"你真的要刪除全部數據嗎?這樣會使你的數據全部丟失哦."<<endl;
cout<<"1->全部刪除 2->取消刪除"<<endl;
cin>>str;
if(str[0]=='1')
{
DeleteAll(head);
}
else
{
cout<<"你已經取消刪除了."<<endl;
}
}

}

void PaiMing(string str, student* head)
{
string s;
cout<<"歡迎使用排名功能"<<endl<<endl;
cout<<"排名選擇: 1->升序 2->降序"<<endl;
cin>>s;
cout<<"請輸入要按什麼排名?"<<endl;
cout<<"1->語文成績 2->數學成績 3->英語成績 "
<<"4->總分 5->平均分 6->座號"<<endl;

cin>>str;

while(str[0]!='1' && str[0]!='2' &&
str[0]!='3' && str[0]!='4' &&
str[0]!='5' && str[0]!='6' )
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
cin>>str;
}
cout<<"姓名:"<<setw(8)<<"座號:"<<setw(10)
<<"語文分數:"<<setw(10) <<"數學分數:"
<<setw(10)<<"英語分數:"<<setw(8)<<"總分數:"
<<setw(8)<<"平均分:"<<setw(6)<<"名次:"<<endl<<endl;
if(s[0]=='2')
{
switch(str[0])
{

case '1':
Sort(head,'1','1');
break;
case '2':
Sort(head,'2','1');
break;
case '3':
Sort(head,'3','1');
break;
case '4':
Sort(head,'4','1');
break;
case '5':
Sort(head,'5','1');
break;
case '6':
Sort(head,'6','1');
break;
}
}
else
{

switch(str[0])
{

case '1':
Sort(head,'1','2');
break;
case '2':
Sort(head,'2','2');
break;
case '3':
Sort(head,'3','2');
break;
case '4':
Sort(head,'4','2');
break;
case '5':
Sort(head,'5','2');
break;
case '6':
Sort(head,'6','2');
break;
}

}
ShowList(head);
return ;
}

void XianShi(string str, student *head)
{
Sort(head,'4','1');

string s;
cout<<"歡迎使用顯示功能"<<endl;
cout<<"1->顯示全部記錄 2->顯示記錄數目"<<endl;
cin>>s;
if(s[0]=='2')
{
cout<<"記錄的數目是:"<<GetLength(head)<<endl;
}
else
{
ShowList(head);
}
}

void XuiGai(string str, student *&head)
{
string s;
student *std;
cout<<"歡迎使用修改功能"<<endl;

cout<<"請輸入你要按什麼查詢"<<endl;
cout<<"1->姓名 2->座號 3->語文成績 4->數學成績 "
<<"5->英語成績 "<<endl;
cin>>str;

while(str[0]!='1' && str[0]!='2' &&
str[0]!='3' && str[0]!='4' &&
str[0]!='5' )
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
cin>>str;
}
char findStr[30];
cout<<"請輸入要查找的關鍵字或關鍵數:"<<endl;
cin>>findStr;
switch(str[0])
{

case '1':
std=Find(head,findStr,'1');
Reword(std);
break;
case '2':
std=Find(head,findStr,'2');
Reword(std);
break;
case '3':
std=Find(head,findStr,'3');
Reword(std);
break;
case '4':
std=Find(head,findStr,'4');
Reword(std);
break;
case '5':
std=Find(head,findStr,'5');
Reword(std);
break;
}
Write(head);
if(std!=NULL)
{
cout<<"修改成功."<<endl;
}
}

int Run()
{

bool isLoad=false;
student* head=NULL;
student *pNew=new student;
head=Read();
SetTitle(false);
if(head!=NULL)
{ Sort(head,'5','1');
Count(head);

}
string str;
SetTitle(false);

cout<<" 歡迎使用學生管理系統 "<<endl<<endl;

cout<<" 1->用戶登陸 2->退出程序 "<<endl;
cin>>str;
if(str[0]=='2')
{
AboutMe();
return 0;
}
else
{
isLoad=Enter('1');
system("cls");

if(isLoad==true)
{
SetTitle(true);
cout<<" 恭喜,您輸入的密碼正確.可以對本系統的進行任何操作."<<endl;
}
else
{
cout<<" Sorry,您輸入的密碼錯誤.你不能修改本系統的任何內容."<<endl;
}
}
begin:
cout<<endl<<endl;
cout<<" 歡迎使用學生管理系統 "<<endl<<endl;
cout<<" 1->增加功能 2-查詢功能"<<endl;
cout<<" 3->刪除功能 4-排名功能"<<endl;
cout<<" 5->顯示功能 6-修改功能"<<endl;
cout<<" 7->用戶設置 8-退出程序"<<endl;
cout<<"請輸入您的選擇: "<<endl;
cin>>str;

while(str[0]!='8')
{
if(isLoad==true && head!=NULL)
{
cout<<endl<<endl;
if(str[0]=='1')
{
ZengJia(str, head);
Sort(head,'4','1');
Write(head);
}
else if(str[0]=='2')
{
ChaXun(str,head);
}
else if(str[0]=='3')
{
ShanChu(str,head);
Sort(head,'4','1');
Write(head);
}
else if(str[0]=='4')
{
PaiMing(str,head);
}
else if(str[0]=='5')
{
XianShi(str,head);
}
else if(str[0]=='6')
{
XuiGai(str,head);
Write(head);
}
else if(str[0]=='7')
{
cout<<"歡迎使用用戶修改功能"<<endl;
isLoad=Enter('2');
}
else if(str[0]=='8')
{
AboutMe();
return 0;
}
else
{
cout<<"你輸入錯誤,請重新輸入."<<endl;
goto begin;
}
}
else if(isLoad==false && head!=NULL)
{
if(str[0]=='2')
{
ChaXun(str,head);
}
else if(str[0]=='4')
{
PaiMing(str,head);
}
else if(str[0]=='5')
{
XianShi(str,head);
}

else
{
cout<<"你不是管理員,不能進行此項功能."<<endl;
cout<<"你只能進行 查詢功能 顯示功能 排名功能"<<endl;

}
}
else if( head==NULL && isLoad==true)
{
cout<<"系統檢查到你沒有任何記錄,不能進行任何操作,只能增加記錄."<<endl;
ZengJia(str, head);
Write(head);
head=Read();

}
else if( head==NULL && isLoad==false)
{
cout<<"因為你沒有登陸,系統又檢查到你沒有任何記錄,你不能進行任何操作."<<endl;
}

cout<<endl<<endl;
cout<<"按任何鍵繼續進行操作."<<endl;
getchar();
getchar();
system("cls");
goto begin;
}

AboutMe();

return 0;
}

void SetTitle(bool isLoad)
{

HWND hwnd=GetForegroundWindow();

if(isLoad==false)
{
SetWindowText(hwnd," 學生管理系統(沒有登陸)");

}
else
{
SetWindowText(hwnd," 學生管理系統(已經登陸)");
}

system("color a");
}

void AboutMe()
{

char*pStr= " ┃ \n"
" ┃ \n"
" ┏━━━━┻━━━━┓ \n"
" ┃ 關於作者 ┃ \n"
" ┏━━━━┻━━━━━━━━━┻━━━━┓\n"
" ┃ ┃\n"
" ┃ Aauthor:********** ┃\n"
" ┃ QQ: ********* ┃\n"
" ┃ E-mail:********@**.com ┃\n"
" ┃ ┃\n"
" ┗━━━━━━━━━━━━━━━━━━━┛\n";
system("cls");

srand(time(0));
for(int i=0; i<strlen(pStr); i++)
{
if(pStr[i]!=' ')
{
Sleep(20);
}
cout<<pStr[i];
}
cout<<"Good-bye ."<<endl;
cout<<endl<<endl<<endl<<endl;
}
int main()
{
Run();
return 0;
}

『捌』 學生信息管理系統C語言源代碼

剛幫另一個人寫了個類似的程序,樓主自己看看再修改修改吧 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h>#include <conio.h> //±ê×· //ר void ReadData(); // void SaveData(); //± void InsertPerson(); //í void SortPerson(); //ò void DeletePerson(); // void DeletePersonByname(); //° void DeletePersonAll(); // void ShowPerson(); //ù void GetchWait(); //á void FindPerson();//é void FindPersonByPhone();//°§é void FindPersonByName();//°é void ModifyStuByID(); //¨§ struct Person //á { char id[15];//§ char name[20]; // char xingbie[13]; //± char nianling[13]; //ê char address[30];//· struct Person *next; //á }; struct Person *ptr, *head, *current, *prev; int main() //÷ { char choose=0; system("cls"); ReadData(); while(1) // { system("cls"); printf("\t***************\t§úí\t*************\n\n"); printf("\t************\t1: í§ú\t*************\n\n"); printf("\t************\t2: §ú\t*************\n\n"); printf("\t************\t3: §ú\t*************\n\n"); printf("\t************\t4: é§ú\t*************\n\n"); printf("\t************\t5: ±§ú\t*************\n\n"); printf("\t************\t6: \t*************\n\n"); printf("\t****************************************************\n\n"); printf("\t :"); scanf("%c",&choose);// switch(choose) { case '1': InsertPerson(); //í break; case '2': DeletePerson(); // break; case '3': ShowPerson(); // break; case '4': FindPerson();//é break; case '5': SaveData();//± break; case '6': DeletePersonAll();//· exit(0);// } } return 0; } 不好意思,發上去的有些是亂發,代碼太長了,樓主還是留下郵箱地址,用郵件發給你吧

『玖』 學生基本信息管理系統C++ 源代碼

學生基本管理系統是大學里必須要做一個題目,你可參考網路文庫的一個C++實現的學生管理系統,給你上個地址吧:http://wenku..com/link?url=_2dyNFEo__SHeH38ZbJpPVTIa

『拾』 學生信息管理系統 C/C++ 的 源代碼

不要把老師布置的任務都拿到網上來讓人直接給你寫答案!
用動態鏈表很輕松就實現了,還沒我們做的C課程設計難

閱讀全文

與學生選修管理系統源碼相關的資料

熱點內容
青春期2裡面的跳舞的歌 瀏覽:36
國產動作愛情片 瀏覽:419
韓國有部特種兵與護士的電影 瀏覽:661
《貪婪》中的日本女演員 瀏覽:477
男主得艾滋病的電影 瀏覽:806
罪孽船長泰國版在線觀看 瀏覽:193
外國電影一個黑男孩在深林 瀏覽:902
叔嫂不倫之戀電影 瀏覽:211
溫暖溫柔是哪部小說 瀏覽:203
穿越抗戰自立為軍閥的小說 瀏覽:601
韓國強殲電影有哪些 瀏覽:291
一女二三男小說穿越文 瀏覽:824
台灣用哪個軟體看電視 瀏覽:365
父親為救兒子像男人獻身的泰國電影 瀏覽:72
台灣民族片子 瀏覽:4
香港老公出軌電影 瀏覽:462
黑社會後生可畏國語 瀏覽:137
韓國肉肉電影在線觀看 瀏覽:345
中文版韓國倫理電影 瀏覽:397
皇上叫秦風女主是宮女的小說 瀏覽:912