欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(完整版)

 更新時(shí)間:2022年06月05日 08:30:20   作者:NGUP_LEE  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)功能

上面的功能基本完全實(shí)現(xiàn)

目前的程序其實(shí)還存在兩個(gè)問題:

1、無法從文件中讀取信息,我感覺是格式問題,輸出的格式需要改,但是這樣的話,保存在文件的信息看起來就不是很方便了
2、保存新同學(xué)的學(xué)號(hào)與當(dāng)前記錄的學(xué)號(hào)相同時(shí)不會(huì)提醒,這個(gè)實(shí)現(xiàn)起來比較容易,在保存的時(shí)候,再加一個(gè)鏈表查詢就可以了,是我太懶了。

源碼附上

#include <cstdlib>
#include <iostream>
#include <string>
#include<windows.h>
#include<conio.h>
#include <fstream>
using namespace std;
#define null NULL
class student
{
? ? private:
? ? ? ? int flag;
? ? ? ? friend class studentMessage;
? ? ? ? student *next; //節(jié)點(diǎn)指針
? ? ? ? string name; //學(xué)生姓名
? ? ? ? string address; ?//家庭住址
? ? ? ? int age; //年齡
? ? ? ? int id; //學(xué)號(hào)
? ? ? ? string sex;
? ? ? ? char grade; ? ? ? ? ? ? ? ? ?班級(jí)
? ? ? ? // ?A ? ?代表大學(xué)生
? ? ? ? // ?B ? ?代表中學(xué)生
? ? ? ? // ?C ? ?代表小學(xué)生
? ? ? ? double chinese , math , english; ?//語文 , 數(shù)學(xué) , 英語
? ? ? ? double history , geography ; ? ? //歷史 ?, 地理
? ? ? ? string major; long long int TL; ? ? // ?專業(yè) ?, ?電話

? ? public:
? ? ? ? static int num_total; ?//總數(shù)
? ? ? ? static int num_sex;
? ? ? ? static int num_age;

? ? ? ? //小學(xué)生初始化
? ? ? ? student(int _id,string _name,string _sex,int _age,char _grade,double _chinese,double _math,double _english)
? ? ? ? {
? ? ? ? ? ? name = _name;
? ? ? ? ? ? grade = _grade;
? ? ? ? ? ? age ?= _age;
? ? ? ? ? ? sex = _sex;
? ? ? ? ? ? id = _id;

? ? ? ? ? ? chinese = _chinese;
? ? ? ? ? ? math ? ?= ?_math;
? ? ? ? ? ? english = _english;
? ? ? ? ? ? next = NULL;
? ? ? ? }

? ? ? ? //初中生初始化
? ? ? ? student(int _id,string _name,string _sex,int _age,char _grade,double _geography,double _history,string _address)
? ? ? ? {
? ? ? ? ? ? name = _name;
? ? ? ? ? ? grade = _grade;
? ? ? ? ? ? age ?= _age;
? ? ? ? ? ? sex = _sex;
? ? ? ? ? ? id = _id;

? ? ? ? ? ? geography = _geography;
? ? ? ? ? ? history ? = _history;
? ? ? ? ? ? address ? ?= _address;
? ? ? ? ? ? next = NULL;
? ? ? ? }
? ? ? ? //大學(xué)生初始化
? ? ? ? student(int _id,string _name,string _sex,int _age,char _grade,string _major,string _address,long long int _TL)
? ? ? ? {
? ? ? ? ? ? name = _name;
? ? ? ? ? ? grade = _grade;
? ? ? ? ? ? age ?= _age;
? ? ? ? ? ? sex = _sex;
? ? ? ? ? ? id = _id;

? ? ? ? ? ? major ?= _major;
? ? ? ? ? ? address = _address;
? ? ? ? ? ? TL ? ? = _TL;
? ? ? ? ? ? next = NULL;
? ? ? ? }

? ? ? ? //構(gòu)造函數(shù)
? ? ? ? student() //為studentMessage初始化頭結(jié)點(diǎn)用
? ? ? ? {
? ? ? ? ? ? name = "null";
? ? ? ? ? ? sex = "null";
? ? ? ? ? ? address = "null";
? ? ? ? ? ? age = 0;
? ? ? ? ? ? id = 0;
? ? ? ? ? ? chinese = 0;
? ? ? ? ? ? math = 0;
? ? ? ? ? ? english = 0;
? ? ? ? ? ? grade = '0';
? ? ? ? ? ? geography = 0;
? ? ? ? ? ? history = 0;
? ? ? ? ? ? major = "null";
? ? ? ? ? ? TL = 0;
? ? ? ? ? ? next = NULL;
? ? ? ? }
? ? ? ? ~student(){}
? ? ? ? void swap(student*);
};
int student::num_total = 0; 初始化
int student::num_sex = 0;
int student::num_age = 0;

void student::swap(student *q)
{
? ? string _name,_sex,_address;
? ? int _age,_id;

? ? ?char grade; ? ? ? ? ? ? ? ? ?班級(jí)
? ? ? ? // ?A ? ?代表大學(xué)生
? ? ? ? // ?B ? ?代表中學(xué)生
? ? ? ? // ?C ? ?代表小學(xué)生
? ? double _chinese , _math , _english; ?//語文 , 數(shù)學(xué) , 英語
? ? double _history , _geography ; ? ? //歷史 ?, 地理
? ? string _major; long long int _TL; ? ? // ?專業(yè) ?, ?電話

? ? _chinese ? = chinese;
? ? chinese ? ?= q->chinese;
? ? q->chinese = _chinese;

? ? _math ? = ?math;
? ? math ? ?= ?q->math;
? ? q->math = ?_math;

? ? _english ? = ?english;
? ? english ? ?= ?q->english;
? ? q->english = ?_english;

? ? _history ? = history;
? ? history ? ?= q->history;
? ? q->history = _history;

? ? _geography ? = ?geography;
? ? geography ? ?= ?q->geography;
? ? q->geography = ?_geography;

? ? _major ? = ?major;
? ? major ? ?= q->major;
? ? q->major = ?_major;

? ? _TL ? = TL;
? ? TL ? ?= q->TL;
? ? q->TL = _TL;

? ? _name ? = name;
? ? name ? ?= q->name;
? ? q->name = _name;

? ? _sex ? = sex;
? ? sex ? ?= q->sex;
? ? q->sex = _sex;

? ? _address ? = address;
? ? address ? ?= q->address;
? ? q->address = _address;

? ? _age ? = age;
? ? age ? ?= q->age;
? ? q->age = _age;

? ? _id ? = id;
? ? id ? ?= q->id;
? ? q->id = _id;

}
class studentMessage
{
? ? private:
? ? ? student *first; //頭指針
? ? ? int num; //信息中的學(xué)生人數(shù)
? ? public:
? ? ? ? studentMessage()
? ? ? ? {
? ? ? ? ? ? num = 0; //初始化學(xué)生人數(shù)為0
? ? ? ? ? ? first = new student; ?//初始化頭結(jié)點(diǎn)
? ? ? ? }
? ? ? ? ~studentMessage(){delete first;}

? ? ? ? /*管理系統(tǒng)常規(guī)操作*/
? ? ? ? void Insret(void); //插入
? ? ? ? void Display(void); //顯示
? ? ? ? void Delete(void); //刪除
? ? ? ? void Search(void); //搜索
? ? ? ? void Change(void); //改動(dòng)
? ? ? ? void SearchByid(void); //按照學(xué)號(hào)查找
? ? ? ? void SearchByname(void); //按照姓名查找
? ? ? ? int menu(void); //初始的菜單
? ? ? ? void clear(void); //清空列表
? ? ? ? void tongji(void); ?//統(tǒng)計(jì)學(xué)生人數(shù)
? ? ? ? void save(void);
? ? ? ? void read(void);
};


int studentMessage::menu(void)
{
? ? system("cls");
? ? int ch;
? ? cout<<endl;cout<<endl;cout<<endl;cout<<endl;
? ? cout<<"**********************************************************************"<<endl;
? ? cout<<"======================================================================"<<endl;
? ? cout<<"***************************學(xué)生信息管理系統(tǒng)***************************"<<endl;cout<<endl;
? ? cout<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.添加功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.查詢功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?3.顯示功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?4.編輯功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?5.刪除功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?6.統(tǒng)計(jì)功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?7.保存功能"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?8.全部刪除"<<endl;
? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?0.退出系統(tǒng)"<<endl;cout<<endl;
? ? cout<<endl;
? ? cout<<"***********************************************************************"<<endl;
? ? cout<<"======================================================================="<<endl;
? ? cout<<"***********************************************************************"<<endl;
? ? cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;
? ? cin >> ch;
? ? cout<<"\n\n\n"<<endl;
? ? return ch;
}

void studentMessage::save(void)
{
? ? ?system("cls");
? ? ?fstream f("student.txt",ios::out);
? ? int i;
? ? if(!f)
? ? {
? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? cout<<"文件保存失敗!?。?!按任意鍵返回..."<<endl;
? ? ? ? ? ?if(i = getch()) return ;
? ? }

? ? if(student::num_total == 0)
? ? ? ? {
? ? ? ? ? ? f<<"當(dāng)前記錄中無學(xué)生..."<<endl;
? ? ? ? }

? ? else
? ? ? ? {
? ? ? ? ? ? student *p = first->next;
? ? ? ? ? ? while(p != null)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? f<<"學(xué)號(hào):"<<p->id<<" ?"<<endl;
? ? ? ? ? ? ? ? f<<"姓名:"<<p->name<<endl;
? ? ? ? ? ? ? ? f<<"性別(boy/girl):"<<p->sex<<endl;
? ? ? ? ? ? ? ? f<<"年齡:"<<p->age<<endl;
? ? ? ? ? ? ? ? f<<"班級(jí):"<<p->grade<<endl;

? ? ? ? ? ? if(p->grade == 'A')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? f<<"專業(yè):"<<p->major<<endl;
? ? ? ? ? ? ? ? f<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? ? ? f<<"聯(lián)系方式:"<<p->TL<<endl;
? ? ? ? ? ? }

? ? ? ? ? ? else if(p->grade == 'B')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? f<<"地理成績(jī):"<<p->geography<<endl;
? ? ? ? ? ? ? ? f<<"歷史成績(jī):"<<p->history<<endl;
? ? ? ? ? ? ? ? f<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? }

? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? f<<"語文成績(jī):"<<p->chinese<<endl;
? ? ? ? ? ? ? ? f<<"數(shù)學(xué)成績(jī):"<<p->math<<endl;
? ? ? ? ? ? ? ? f<<"英語成績(jī):"<<p->english<<endl;
? ? ? ? ? ? }
? ? ? ? f<<"------------------------------------------------"<<endl;
? ? ? ? ? ? p = p->next;
? ? ? ? ? ? }

? ? ? ? }
? ? ? ? ?f.close();
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? ? ? cout<<"學(xué)生信息文件已創(chuàng)建,按任意鍵繼續(xù)"<<endl;
? ? ? ? ? ? i = getch();

}

void studentMessage::read(void)
{
? ? system("cls");
? ? string name;
? ? int age;
? ? int id;
? ? char grade;
? ? string sex,address;
? ? double chinese , math , english; ?//語文 , 數(shù)學(xué) , 英語
? ? double history , geography ; ? ? //歷史 ?, 地理
? ? string major; long long int TL; ? ? // ?專業(yè) ?, ?電話
? ? int i;
? ? char ch;
? ?ifstream f("student.txt");
? ? while(1)
? ? {
? ? ? ? f>>ch;
? ? ? ? if(f.eof())
? ? ? ? {
? ? ? ? ? ? cout<<"文件為空!按任意鍵返回"<<endl;
? ? ? ? ? ? if(i = getch()) return ;
? ? ? ? }

? ? ? ? ? ? f>>name;
? ? ? ? ? ? f>>sex;
? ? ? ? ? ? f>>age;
? ? ? ? ? ? f>>id;
? ? ? ? ? ? f>>grade;
? ? ? ? if(grade=='A')
? ? ? ? {
? ? ? ? ? ? f>>major;
? ? ? ? ? ? f>>address;
? ? ? ? ? ? f>>TL;
? ? ? ? }

? ? ? ? else if(grade == 'B')
? ? ? ? {

? ? ? ? ? ? f>>geography;
? ? ? ? ? ? f>>history;
? ? ? ? ? ? f>>address;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? f>>chinese;
? ? ? ? ? ? f>>math;
? ? ? ? ? ? f>>english;
? ? ? ? }
? ? ? ? student::num_total ++;

? ? ? ? if(sex=="boy") student::num_sex++;
? ? ? ? if(age>=18) student::num_age ++;
? ? ? ? student *newstu = new student();
? ? ? ? if(grade == 'A') ? ?newstu = new student(id,name,sex,age,grade,major,address,TL);
? ? ? ? else if(grade == 'B') ? ?newstu = new student(id,name,sex,age,grade,geography,history,address);
? ? ? ? else if(grade == 'C') ? ?newstu = new student(id,name,sex,age,grade,chinese,math,english);
? ? student *p = first;
? ? while(p->next != NULL)
? ? ? ? {
? ? ? ? ? ? p = p->next;
? ? ? ? }
? ? ? ? p->next = newstu;
? ? ? ? newstu->next = null;
? ? }

}
/統(tǒng)計(jì)
void studentMessage::tongji(void)
{
? ? system("cls");//
? ? cout<<"學(xué)生人數(shù)一共為:" <<student::num_total<<endl;
? ? cout<<"男生一共有:"<<student::num_sex<<endl;
? ? cout<<"女生一共有:"<<student::num_total-student::num_sex<<endl;
? ? cout<<"成年人有:"<<student::num_age<<endl;
? ? int i;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl;
? ? ? ? ? ? i = getch();
}


//插入
void studentMessage::Insret(void)
{
? ? system("cls");//
? ? string name;
? ? int age;
? ? int id;
? ? char grade;
? ? string sex,address;
? ? double chinese , math , english; ?//語文 , 數(shù)學(xué) , 英語
? ? double history , geography ; ? ? //歷史 ?, 地理
? ? string major; long long int TL; ? ? // ?專業(yè) ?, ?電話

? ? cout<<"請(qǐng)輸入學(xué)生姓名: ";
? ? cin>>name;
? ? cout<<"請(qǐng)輸入學(xué)生性別(boy/girl): ";
? ? cin>>sex;
? ? cout<<"請(qǐng)輸入學(xué)生年齡: ";
? ? cin>>age;
? ? cout<<"請(qǐng)輸入學(xué)生學(xué)號(hào): ";
? ? cin>>id;
? ? cout<<"下面請(qǐng)輸入學(xué)生班級(jí)(大學(xué)生輸入'A',初中生輸入'B',小學(xué)生輸入'C'): ";
? ? cout<<endl;
? ? cin>>grade;
? ? cout<<endl;
? ? if(grade=='A')
? ? {

? ? ? ? cout<<"請(qǐng)輸入專業(yè):"<<endl;
? ? ? ? cin>>major;
? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl;
? ? ? ? cin>>address;
? ? ? ? cout<<"請(qǐng)輸入聯(lián)系電話:"<<endl;
? ? ? ? cin>>TL;
? ? }

? ? else if(grade == 'B')
? ? {

? ? ? ? cout<<"請(qǐng)輸入地理成績(jī):"<<endl;
? ? ? ? cin>>geography;
? ? ? ? cout<<"請(qǐng)輸入歷史成績(jī):"<<endl;
? ? ? ? cin>>history;
? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl;
? ? ? ? cin>>address;
? ? }
? ? else
? ? {
? ? ? ? cout<<"請(qǐng)輸入語文成績(jī):"<<endl;
? ? ? ? cin>>chinese;
? ? ? ? cout<<"請(qǐng)輸入數(shù)學(xué)成成績(jī):"<<endl;
? ? ? ? cin>>math;
? ? ? ? cout<<"請(qǐng)輸入英語成績(jī):"<<endl;
? ? ? ? cin>>english;
? ? }
? ? student::num_total ++;
? ? if(sex=="boy") student::num_sex++;
? ? if(age>=18) student::num_age ++;
? ? student *newstu = new student();
? ? ? ? ?if(grade == 'A') ? ?newstu = new student(id,name,sex,age,grade,major,address,TL);
? ? else if(grade == 'B') ? ?newstu = new student(id,name,sex,age,grade,geography,history,address);
? ? else if(grade == 'C') ? ?newstu = new student(id,name,sex,age,grade,chinese,math,english);


? ? student *p = first;
? ? while(p->next != NULL)
? ? {
? ? ? ? p = p->next;
? ? }
? ? p->next = newstu;
? ? newstu->next = null;
}
//00000000000000000000000/
void studentMessage::Display(void)
{
? ? system("cls");
? ? if(student::num_total == 0)
? ? {
? ? ? ? cout<<"當(dāng)前記錄中無學(xué)生..."<<endl;
? ? }

? ? else
? ? {
? ? ? ? student *p = first->next;
? ? ? ? while(p != null)
? ? ? ? {
? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl;
? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl;
? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl;
? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl;
? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl;

? ? ? ? ? ? if(p->grade == 'A')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl;
? ? ? ? ? ? }

? ? ? ? ? ? else if(p->grade == 'B')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl;
? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? }

? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl;
? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl;
? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl;
? ? ? ? ? ? }
? ? cout<<"------------------------------------------------"<<endl;
? ? ? ? ? ? p = p->next;
? ? ? ? }
? ? }
? ? int i;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl;
? ? ? ? ? ? i = getch();
}

//刪除功能~~~~~~~~~~~~~~~~
void studentMessage::Delete(void)
{
? ? string _name;
? ? system("cls");
? ? cout<<"請(qǐng)輸入需要?jiǎng)h除的同學(xué)姓名:"<<endl;
? ? cin>>_name;
? ? int k=0;
? ? student *p = first;
? ? student *pre = first;
? ? while(p->next)
? ? {
? ? ? ? pre=p->next;
? ? ? ? if(pre->name == _name)
? ? ? ? {
? ? ? ? ? ? p->next=pre->next;
? ? ? ? ? ? k=1;
? ? ? ? ? ? delete pre;
? ? ? ? }
? ? ? ? p=p->next;
? ? }
? ? ?if(k==0&&p->name!=_name) ? cout<<"記錄為空!"<<endl;
? ? ?else
? ? {
? ? ? ? student::num_total--;
? ? ? ? if(p->sex=="boy") student::num_sex--;
? ? ? ? if(p->age>=18) ? student::num_age--;
? ? }


? ? int i;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl;
? ? ? ? ? ? i = getch();
}


void studentMessage::Search(void)
{
? ? system("cls");/
? ? int temp = 0;
? ? cout<<"請(qǐng)輸入查找的條件,有如下選項(xiàng)..."<<endl;
? ? cout<<"按照學(xué)號(hào)查找(請(qǐng)輸入【1】) 按照姓名查找(請(qǐng)輸入【2】) "<<endl;
? ? cout<<" 退出(請(qǐng)輸入【666】)"<<endl;
? ? cin>>temp;
? ? switch(temp)
? ? {
? ? ? ? case 1: SearchByid(); break;
? ? ? ? case 2: SearchByname(); break;
? ? ? ? case 666: return;
? ? ? ? default: cout<<"輸入有誤..."<<endl;
? ? }
}

void studentMessage::SearchByid(void)
{
? ? system("cls");//
? ? int _id;
? ? int flag = 0;
? ? cout<<"請(qǐng)輸入待查找學(xué)生的學(xué)號(hào):";
? ? cin >> _id;
? ? student *p = first->next;
? ? while(p != null)
? ? {
? ? ? ? if(p->id == _id)
? ? ? ? {
? ? ? ? ? ? flag = 1;
? ? ? ? ? ? cout<<"下面是查找匹配結(jié)果:"<<endl;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;

? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl;
? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl;
? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl;
? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl;
? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl;

? ? ? ? ? ? if(p->grade == 'A')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl;
? ? ? ? ? ? }
? ? ? ? ? ? else if(p->grade == 'B')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl;
? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl;
? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl;
? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? p = p->next;
? ? }
? ? if(flag == 0)
? ? {
? ? ? ? cout<<"未找到匹配項(xiàng)..."<<endl;
? ? }
? ? ?int i;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl;
? ? ? ? ? ? i = getch();
}

void studentMessage::SearchByname(void)
{
? ? system("cls");/
? ? string _name;
? ? int flag = 0;
? ? cout<<"請(qǐng)輸入待查找的學(xué)生姓名: ";
? ? cin >> _name;
? ? student *p = first->next;
? ? while(p != null)
? ? {
? ? ? ? if(p->name == _name)
? ? ? ? {
? ? ? ? ? ? cout<<"下面是查找匹配結(jié)果:"<<endl;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;

? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl;
? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl;
? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl;
? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl;
? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl;
? ? ? ? ? ? if(p->grade == 'A')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl;
? ? ? ? ? ? }
? ? ? ? ? ? else if(p->grade == 'B')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl;
? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl;
? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl;
? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? p = p->next;
? ? }

? ? if(flag == 0)
? ? {
? ? ? ? cout<<"未找到匹配項(xiàng)..."<<endl;
? ? }
? ? ?int i;
? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl;
? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl;
? ? ? ? ? ? i = getch();
}

void studentMessage::Change(void)
{
? ? system("cls");//
? ? string _name,_sex,_address,_major;
? ? char _grade; long long int _TL;
? ? double _chinese , _math , _english; ?//語文 , 數(shù)學(xué) , 英語
? ? double _history , _geography ; ? ? //歷史 ?, 地理

? ? int flag = 0,temp;
? ? int _id,_age;
? ? int course = 0;
? ? cout<<"請(qǐng)輸入需要改動(dòng)信息的學(xué)生的姓名: ";
? ? cin >> _name;
? ? student *p = first->next;
? ? while(p != null)
? ? {
? ? ? ? if(p->name == _name)
? ? ? ? {
? ? ? ? ? ? flag = 1;
? ? ? ? ? ? cout<<"該學(xué)生當(dāng)前信息如下:"<<endl;
? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl;
? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl;
? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl;
? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl;
? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl;

? ? ? ? ? ? if(p->grade == 'A')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl;
? ? ? ? ? ? }
? ? ? ? ? ? else if(p->grade == 'B')
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl;
? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl;
? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl;
? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl;
? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl;
? ? ? ? ? ? }

? ? ? ? ? ? cout<<"請(qǐng)指明哪一項(xiàng)需要修改..."<<endl;
? ? ? ? ? ? cout<<"修改學(xué)號(hào)(輸入【1】) 修改年齡(輸入【2】)修改班級(jí)信息(輸入【3】) "<<endl;
? ? ? ? ? ? cout<<" 退出(輸入【666】)"<<endl;
? ? ? ? ? ? cin >> temp;
? ? ? ? ? ? switch(temp)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入新的學(xué)號(hào):"<<endl;cin>>_id;
? ? ? ? ? ? ? ? ? ? ? ? p->id = _id;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入新的年齡:"<<endl;;cin>>_age;
? ? ? ? ? ? ? ? ? ? ? ? p->age = _age;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入新的班級(jí)信息(大學(xué)生輸入'A',初中生輸入'B',小學(xué)生輸入'C'):"<<endl;;cin>>_grade;
? ? ? ? ? ? ? ? ? ? ? ? p->grade = _grade;

? ? ? ? ? ? ? ? ? ? ? ? ?if(_grade=='A')
? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入專業(yè):"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_major;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->major = _major;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_address;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->address = _address;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入聯(lián)系電話:"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_TL;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->TL = _TL;
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if(_grade == 'B')
? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入地理成績(jī):"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_geography;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->geography = _geography;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入歷史成績(jī):"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_history;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->history = _history;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_address;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->address = _address;
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入語文成績(jī):"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_chinese;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->chinese = _chinese;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入數(shù)學(xué)成成績(jī):"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_math;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->major = _math;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入英語成績(jī):"<<endl;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_english;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->english = _english;
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case 666: return ;
? ? ? ? ? ? ? ? ? ? cout<<"修改后的信息如下: "<<endl;
? ? ? ? ? ? ? ? ? ? cout<<"姓名:"<<p->name<<" ?"<<endl;
? ? ? ? ? ? ? ? ? ? cout<<"性別:"<<p->sex<<" ?"<<endl;
? ? ? ? ? ? ? ? ? ? cout<<"年齡:"<<p->age<<" ?"<<endl;
? ? ? ? ? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl;
? ? ? ? ? ? ? ? ? ? cout<<"地址:"<<p->address<<" ?"<<endl;

? ? ? ? ? ? ? ? default: ?cout<<"輸入有誤..."<<endl;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? p = p->next;
? ? }
? ? if(flag == 0)
? ? ? ? cout<<"當(dāng)前記錄中沒有此學(xué)生..."<<endl;
}

void studentMessage::clear(void)
{
? ? student *p = first->next;
? ? while(p != null)
? ? {
? ? ? ? first->next = p->next;
? ? ? ? p->next = null;
? ? ? ? delete p;
? ? ? ? p = first->next;
? ? }
}

int main()
{
? ? studentMessage stulist;
? ? int ch;
? ? while(ch = stulist.menu())
? ? {
? ? ? ? switch(ch)
? ? ? ? {

? ? ? ? ? ? case 1: stulist.Insret(); ?break;
? ? ? ? ? ? case 2: stulist.Search(); ?break;
? ? ? ? ? ? case 3: stulist.Display(); break;
? ? ? ? ? ? case 4: stulist.Change(); ?break;
? ? ? ? ? ? case 5: stulist.Delete(); ?break;
? ? ? ? ? ? case 6: stulist.tongji(); ?break;
? ? ? ? ? ? case 7: stulist.save(); ? ?break;
? ? ? ? ? ? case 8: stulist.clear(); ? break;
? ? ? ? ? ? case 0: return 0;
? ? ? ? ? ? default: cout<<"請(qǐng)按要求輸入..."<<endl;
? ? ? ? }
? ? }
? ? return 0;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Visual Studio Code上添加小程序自動(dòng)補(bǔ)全插件的操作方法

    Visual Studio Code上添加小程序自動(dòng)補(bǔ)全插件的操作方法

    這篇文章主要介紹了Visual Studio Code上添加小程序自動(dòng)補(bǔ)全插件的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • C語言浮點(diǎn)函數(shù)中的modf和fmod詳解

    C語言浮點(diǎn)函數(shù)中的modf和fmod詳解

    這篇文章主要為大家詳細(xì)介紹了C語言浮點(diǎn)函數(shù)中的modf和fmod,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 帶你了解C++中的sort函數(shù)

    帶你了解C++中的sort函數(shù)

    這篇文章主要給大家介紹了關(guān)于C++中sort函數(shù)的基礎(chǔ)入門使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2021-08-08
  • 深入理解c++實(shí)現(xiàn)Qt信號(hào)和槽機(jī)制

    深入理解c++實(shí)現(xiàn)Qt信號(hào)和槽機(jī)制

    信號(hào)和槽機(jī)制是 Qt 的核心機(jī)制,可以讓編程人員將互不相關(guān)的對(duì)象綁定在一起,實(shí)現(xiàn)對(duì)象之間的通信,本文就來深入理解c++實(shí)現(xiàn)Qt信號(hào)和槽機(jī)制,感興趣的可以了解一下
    2023-08-08
  • OpenCV圖像處理之圖像拼接詳解

    OpenCV圖像處理之圖像拼接詳解

    本文主要介紹了如何使用C++?OpenCV實(shí)現(xiàn)圖像景拼接,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)OpenCV有一定的幫助,感興趣的可以了解一下
    2022-08-08
  • c++函數(shù)指針使用示例分享

    c++函數(shù)指針使用示例分享

    這篇文章主要介紹了c++函數(shù)指針使用示例,需要的朋友可以參考下
    2014-03-03
  • C++ 中的Swap函數(shù)寫法匯總

    C++ 中的Swap函數(shù)寫法匯總

    這篇文章主要介紹了C++ 中的Swap函數(shù)寫法匯總,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • C語言統(tǒng)計(jì)一篇英文短文中單詞的個(gè)數(shù)實(shí)例代碼

    C語言統(tǒng)計(jì)一篇英文短文中單詞的個(gè)數(shù)實(shí)例代碼

    本文通過實(shí)例代碼給大家介紹的C語言統(tǒng)計(jì)一篇英文短文中單詞的個(gè)數(shù),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-03-03
  • C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋

    C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋

    這篇文章主要為大家詳細(xì)介紹了C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋,包括數(shù)據(jù)結(jié)構(gòu)和對(duì)象設(shè)計(jì)及主函數(shù)調(diào)用實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 一文讀懂C++中Protobuf

    一文讀懂C++中Protobuf

    Protocol Buffers 是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化、或者說序列化,本文詳解了Protobuf的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-05-05

最新評(píng)論