C++カリキュラム設計:学生管理システム
8204 ワード
(一)新入生基本情報統計ソフト
新入生が来て、学生の名前、性別、専門、生年月日、家庭の住所、英語の入学成績などの情報を入力します.チェーンテーブルクラスを設計して実現し、学生数を統計する必要があります.テキストインタフェース:
1.学生情報の追加
2.学生情報の削除
3.学生情報のインポート(保存済みファイル情報)
4.学生情報検索(名前別)
5.学生情報統計(専門或いは性別或いは年齢---年齢は自動的に計算する)
6.英語の成績順
7.学生情報保存
8.終了
******を選択してください:1
————————————————————————————————————————————————
年齢の統計はシステムの現在の日付を抽出する必要があります
#include time_t tt = time(NULL);//この文はただ1つの時間cuo tm*t=localtime(&tt); printf("%d-%02d-%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
新入生が来て、学生の名前、性別、専門、生年月日、家庭の住所、英語の入学成績などの情報を入力します.チェーンテーブルクラスを設計して実現し、学生数を統計する必要があります.テキストインタフェース:
1.学生情報の追加
2.学生情報の削除
3.学生情報のインポート(保存済みファイル情報)
4.学生情報検索(名前別)
5.学生情報統計(専門或いは性別或いは年齢---年齢は自動的に計算する)
6.英語の成績順
7.学生情報保存
8.終了
******を選択してください:1
————————————————————————————————————————————————
年齢の統計はシステムの現在の日付を抽出する必要があります
#include time_t tt = time(NULL);//この文はただ1つの時間cuo tm*t=localtime(&tt); printf("%d-%02d-%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
#include
#include
#include
#include
#include
using namespace std;
class Student //
{
public:
Student() //
{
id="/0";
name="/0";
sex="/0";
major="/0";
adress="/0";
score=0;
year=0;
month=0;
date=0;
}
~Student() //
{
}
void Creat_List(Student *head); //
bool Unique_List(Student *head,string id);//
void Print_List(Student *head); //
void Delete_List(Student *head); // ( )
void Search_List(Student *head); // ( )
void Find_List(Student *head); // ( )
void Statistics_List(Student *head); // ( )
void Sort_List(Student *head); // ( )
void Out_File(Student *head); //
void In_File(Student *head); //
void Menu_List(Student *head); //
private: //
string id;
string name;
string sex;
string major;
string adress;
int score;
int year;
int month;
int date;
Student *next;
};
bool Student::Unique_List(Student *head,string id) //
{
Student *p1=head;
while(p1->next!=NULL)
{
if(p1->id==id)
{
cout<next;
}
return false;
}
void Student::Creat_List(Student *head) // ( )
{
Student *p1=head;
int num;
cout<>num;
if(p1->next==NULL)
{
for(int i=0;i>p1->id;
if(Student::Unique_List(head,p1->id))
{
return ;
}
cout<>p1->name;
cout<>p1->sex;
cout<>p1->major;
cout<>p1->adress;
cout<>p1->score;
cout<>p1->year>>p1->month>>p1->date;
p1->next=p2;
p2->next=NULL;
p1=p2;
}
}
else if(p1->next!=NULL) //
{
while(p1->next!=NULL)
{
p1=p1->next;
}
for(int i=0;i>p1->id;
if(Student::Unique_List(head,p1->id))
{
return ;
}
cout<>p1->name;
cout<>p1->sex;
cout<>p1->major;
cout<>p1->adress;
cout<>p1->score;
cout<>p1->year>>p1->month>>p1->date;
p1->next=p2;
p2->next=NULL;
p1=p2;
}
}
}
void Student::Print_List(Student *head) //
{
Student *p1=head;
if(p1->next==NULL)
{
cout<next!=NULL)
{
cout<id<name<sex<major<adress<score<year<month<date<next;
}
cout<>num;
if(p1->next==NULL)
{
cout<next!=NULL)
{
if(num==p1->id)
{
Student *temp;
temp=p1->next;
temp->next=p1->next->next;
p1->next=temp->next;
delete temp;
temp=NULL;
cout<next;
}
}
}
void Student::Search_List(Student *head) //
{
Student *p1=head;
string exam;
cout<>exam;
if(p1->next==NULL)
{
cout<next!=NULL)
{
if(p1->name==exam)
{
cout<id<name<sex<major<adress<score<year<month<date<next;
}
}
}
void Student::Find_List(Student *head) //
{
Student *p1=head;
string num;
cout<>num;
if(p1->next==NULL)
{
cout<id==num)
{
cout<id<name<sex<major<adress<score<year<month<date<next;
}
}
}
void Student::Statistics_List(Student *head) //
{
Student *p1=head;
string a=" ",b=" ",c=" ";
string category;
cout<>category;
if(category==a) //
{
string exam;
cout<>exam;
int sum=0;
if(p1->next==NULL)
{
cout<next!=NULL)
{
if(p1->major==exam)
{
sum++;
}
p1=p1->next;
}
cout<>exam;
int sum=0;
if(p1->next==NULL)
{
cout<next!=NULL)
{
if(p1->sex==exam)
{
sum++;
}
p1=p1->next;
}
cout<>age;
if(p1->next==NULL)
{
cout<next!=NULL)
{
int agenow=0;
if(t->tm_year+1900>=p1->year&&t->tm_mon+1>=p1->month&&t->tm_mday>=p1->date)
{
agenow=t->tm_year+1900-p1->year;
}
else
{
agenow=t->tm_year+1900-p1->year-1;
}
if(agenow==age)
{
total++;
}
p1=p1->next;
}
cout<next==NULL)
{
cout<next!=NULL)
{
Student *p2=p1->next;
while(p2!=NULL)
{
if(p1->scorescore)
{
temp.id=p2->id;p2->id=p1->id;p1->id=temp.id;
temp.name=p2->name;p2->name=p1->name;p1->name=temp.name;
temp.sex=p2->sex;p2->sex=p1->sex;p1->sex=temp.sex;
temp.major=p2->major;p2->major=p1->major;p1->major=temp.major;
temp.adress=p2->adress;p2->adress=p1->adress;p1->adress=temp.adress;
temp.score=p2->score;p2->score=p1->score;p1->score=temp.score;
temp.year=p2->year;p2->year=p1->year;p1->year=temp.year;
temp.month=p2->month;p2->month=p1->month;p1->month=temp.month;
temp.date=p2->date;p2->date=p1->date;p1->date=temp.date;
}
p2=p2->next;
}
p1=p1->next;
}
}
}
void Student::Out_File(Student *head)
{
Student *p1=head;
ofstream file_d("students.dat",ios::out);
if(file_d==NULL)
{
cout<next!=NULL)
{
file_d<id<name<sex<major<adress<score<year<month<date<next;
}
file_d.close();
cout<next!=NULL)
{
file_t<id<sex<major<adress<score<year<month<date<next;
}
file_t.close();
cout<>p->id>>p->name>>p->sex>>p->major>>p->adress>>p->score>>p->year>>p->month>>p->date;
total++;
}
cout<>p1->id>>p1->name>>p1->sex>>p1->major>>p1->adress>>p1->score>>p1->year>>p1->month>>p1->date;
p1->next=p2;
p2->next=NULL;
p1=p2;
if(--total==1)
{
break;
}
}
file_d.close();
}
}
void Student::Menu_List(Student *head)
{
Student STU;
while(1)
{
system("color B1");
system("date/t");
system("time/t");
cout<>num;
switch(num)
{
case 1 :system("CLS");STU.Creat_List(head);system("pause");break;
case 2 :system("CLS");STU.Delete_List(head);system("pause");break;
case 3 :system("CLS");STU.In_File(head);system("pause");break;
case 4 :system("CLS");STU.Search_List(head);system("pause");break;
case 5 :system("CLS");STU.Statistics_List(head);system("pause");break;
case 6 :system("CLS");STU.Sort_List(head);system("pause");break;
case 7 :system("CLS");STU.Find_List(head);system("pause");break;
case 8 :system("CLS");STU.Out_File(head);system("pause");break;
case 9 :system("CLS");STU.Print_List(head);system("pause");break;
case 0 :system("CLS");cout<