c语言编程真题

# include & ltiostream & gt

# include & ltfstream & gt

# include & ltstring.h & gt

# include & ltconio.h & gt//使用getch();

使用命名空间std

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌򞻸򞻸򞻸򞻸6

班级学生

{

公共:

char name[20];

char Id[20];

int Cnum//C++课程成绩

int Mnum//汇总课程成绩

int枚举;//嵌入式操作系统课程成绩

int sum//总分

学生*下一个;

无效输入()

{

cout & lt& lt" \ t \ t \请输入学生的姓名:";CIN & gt;& gt姓名;

cout & lt& lt" \ t \ t \请输入学生ID:";CIN & gt;& gtid;

cout & lt& lt" \ t \ t \请输入C++课程的等级:";CIN & gt;& gtCnum

cout & lt& lt" \ t \ t \请输入组装课程的等级:";CIN & gt;& gtMnum

cout & lt& lt" \ t \ t \请输入嵌入式操作系统课程的分数:";CIN & gt;& gt枚举;

sum = Cnum+Mnum+Enum;

}

void ReadFile(istream & amp;在)

{

在& gt& gt名称& gt& gtId & gt& gtCnum & gt& gtMnum & gt& gt枚举& gt& gt总和;

}

无效显示()

{

cout & lt& lt"名称:"

& lt& lt"编译:"

}

};

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 6510

班级学生按摩

{

公共:

student message();

~ student message();

void ShowMenu();

void Find();

void Save();

void modify item();

void remove item();

void Swap(Student *,Student *);

void Sort();

//void un pass();

int list count();

//void平均值();

空显示()

{

for(Student * p = Head->;接下来;p!=结束;p = p-& gt;下一个)

p->;show();

cout & lt& lt“输入任意字符!继续……”;

getch();

}

void AddItem()

{

end->;input();

end->;下一个=新生;

End = End-& gt;接下来;

cout & lt& lt“添加成功!”& lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

私人:

学生*头,*尾;

ifstream in

ofstream out

学生*FindItem(char * name)

{

for(学生* p =头;p->;下一个!=结束;p = p-& gt;Next)//如果匹配成功,返回上一个指针,否则为空。

如果(!strcmp(p-& gt;下一个-& gt;name,name))返回p;

返回NULL

}

学生*FindID(char * Id)

{

for(学生* p =头;p->;下一个!=结束;p = p-& gt;Next)//如果匹配成功,返回上一个指针,否则为空。

如果(!strcmp(p-& gt;下一个-& gt;Id,Id))返回p;

返回NULL

}

};

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 ﹌ 6510

学生按摩::学生按摩()

{

头=新生;

head->;下一个=新生;

end = Head-& gt;接下来;

in . open(" sort . txt ");

如果(!在)

cout & lt& lt“这是一个没有学生信息的新系统。请先输入。”& lt& ltendl

其他

{

而(!in.eof())

{

end->;ReadFile(in);

if(End-& gt;name[0]= = ' \ 0 ')break;

end->;下一个=新生;

End = End-& gt;接下来;

}

in . close();

cout & lt& lt" \t\t \踩踏学生信息成功!"& lt& ltendl

}

}

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 򞻸 651

学生消息::~学生消息()

{

save();

for(学生*临时;head->;下一个!=结束;)

{

temp = Head-& gt;接下来;

head->;next = Head-& gt;下一个-& gt;接下来;

删除temp

}

删除头、尾;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌򞻸򞻸򞻸65

void student message::show menu()

{

cout & lt& lt“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *”& lt;& ltendl

cout & lt& lt“〓〓〓〓〓〓〓〓〓〓☆〓〓〓〓〓〓〓〓〓〓〓〓〓〓1 & lt;endl

cout & lt& lt“〓〓〓〓〓〓〓★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓"<;& ltendl

cout & lt& lt"〓〓〓〓〓〓〓〓☆973438+0.提高学生的成绩☆〓〓〓〓〓〓〓〓〓〓〓〓" & lt;endl

cout & lt& lt〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓12 <endl

cout & lt& lt"〓〓〓〓〓〓〓〓〓〓☆ 3.分类统计☆〓〓〓〓〓〓〓〓〓〓〓〓& lt;endl

cout & lt& lt〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓12 <endl

cout & lt& lt“〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓& lt;endl

cout & lt& lt"〓〓〓〓〓〓〓〓〓〓☆ 6.修改学生信息☆〓〓〓〓〓〓〓〓〓〓〓〓& lt;endl

cout & lt& lt"〓〓〓〓〓〓〓〓〓〓☆ 0.安全离开system☆〓〓〓〓〓〓〓〓〓〓〓〓& lt;endl

cout & lt& lt" \ n \ t \ t \ n \ t \请选择:";

}

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 򞻸 651

void student message::Find()

{

字符名称[20],Id[10];

int x;

学生* p = NULL

cout & lt& lt”\ n \ t \ t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n”;

cout & lt& lt" \ t \ t等于1。按学生姓名搜索\ n \ t \ t执行2。按学生的学号搜索”;

cout & lt& lt" \ n \ t \ t * * * * * * * * * * * * * * * * * * * * * * * * * * *请选择:";

CIN & gt;& gtx;

开关(x)

{

案例1:{ cout & lt;& lt" \ t \ t \请输入您要找的学生的姓名:";CIN & gt;& gt姓名;

if(p=FindItem(name))

{

p->;下一个-& gt;show();

cout & lt& lt“输入任意字符!继续……”;

getch();

}

其他

{

cout & lt& lt" \ t \ t \ t找不到叫这个名字的学生!"& lt& lt\ n ' & lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

}破;

案例二:

{

cout & lt& lt" \ t \ t \请输入您要查找的学生的学号:";CIN & gt;& gtid;

if(p=FindID(Id))

{

p->;下一个-& gt;show();

cout & lt& lt“输入任意字符!继续……”;

getch();

}

其他

{

cout & lt& lt" \ t \ t \ t没有发现学生学得好!"& lt& lt\ n ' & lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

}破;

}

}

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 ﹌ 6510

Void学生消息::modify item()//修改信息

{

char name[20];

学生* p = NULL

cout & lt& lt" \ t \ t \请输入要修改的人的姓名:";CIN & gt;& gt姓名;

if(p=FindItem(name))

{

cout & lt& lt\ t \ t \已找到学生信息,请输入新信息& lt& ltendl

p->;下一个-& gt;input();

cout & lt& lt“修改成功!”& lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

其他

{

cout & lt& lt" \ t \ t \找不到!"& lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌򞻸﹌򞻸651

Void学生按摩::remove item()//删除信息。

{

char name[20];

学生* p =空,*临时=空;

cout & lt& lt" \ t \ t \请输入要删除的学生姓名:"

if(p=FindItem(name))

{

temp = p-& gt;接下来;

p->;next = p-& gt;下一个-& gt;接下来;

删除temp

cout & lt& lt"成功删除!"& lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

其他

{

cout & lt& lt" \ t \ t \找不到!"& lt& ltendl

cout & lt& lt“输入任意字符!继续……”;

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void student mass::swap(student * p 1,student * p2)//交换两个combox变量的数据字段。

{

Student * temp =新生;

strcpy(temp-& gt;名称,p 1->;姓名);

strcpy(temp-& gt;Id,p 1->;id);

temp->;cnum = p 1->;Cnum

temp->;mnum = p 1->;Mnum

temp->;Enum=p1->枚举;

temp->;sum = p 1->;总和;

strcpy(p 1->;名称,p2-& gt;姓名);

strcpy(p 1->;Id,p2-& gt;id);

p 1->;cnum = p2-& gt;Cnum

p 1->;mnum = p2-& gt;Mnum

p 1->;enum = p2-& gt;枚举;

p 1->;sum = p2-& gt;总和;

strcpy(p2-& gt;名称,临时-& gt;姓名);

strcpy(p2-& gt;Id,temp-& gt;id);

p2->;cnum = temp-& gt;Cnum

p2->;mnum = temp-& gt;Mnum

p2->;enum = temp-& gt;枚举;

p2->;sum = temp-& gt;总和;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

intstudentmessage::list Count()//计算当前链表中的记录总数,并返回一个整数。

{

如果(!头)

返回0;

int n = 0;

for(Student * p = Head->;接下来;p!=结束;p = p-& gt;下一个)

{

n++;

}

返回n;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void student message::Sort()//对当前链表进行排序。

{

cout & lt& lt"排序..."& lt& ltendl

学生*p=NULL,*p1=NULL,* k = NULL

int n = student message::list count();

如果(n & lt2)

返回;

for(p = Head-& gt;接下来;p!=结束;p = p-& gt;下一个)

for(k = p-& gt;接下来;k!=结束;k = k-& gt;下一个)

{

如果(p->;sum & gtk-& gt;总和)

{

student message::Swap(p,k);

}

}

cout & lt& lt“排序完成!”& lt& ltendl

getch();

返回;

}

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 򞻸 651

void student message::Save()

{

out . open(" sort . txt ");

for(Student * p = Head->;接下来;p!=结束;p = p-& gt;下一个)

out & lt& ltp->;名称& lt& lt" \ t " & lt& ltp->;Id & lt& lt" \ t " & lt& ltp->;Cnum & lt& lt" \t "

& lt& ltp->;Mnum & lt& lt" \ t " & lt& ltp->;枚举& lt& lt" \ t " & lt& ltp->;sum & lt& lt\ n ';

out . close();

}

//﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ ﹌ 򞻸 򞻸 651

int main()

{

int x,I = 0;

bool quit = false

cout & lt& lt" \ t \ t " & lt& ltendl

for(I = 0;我& lt3;i++)

cout & lt& lt" \ t \ t◎\ t \ t \ t \ t \ t◎;" & lt;& ltendl

cout & lt& lt" \t\t◎★★★欢迎使用学生成绩管理系统★★★★◎;" & lt;& ltendl

for(I = 0;我& lt3;i++)

cout & lt& lt" \ t \ t◎\ t \ t \ t \ t \ t◎;" & lt;& ltendl

cout & lt& lt" \ t \ t \ n " & lt& ltendl;

学生按摩成绩;

cout & lt& lt"按任意键开始...";

getch();

而(!退出)

{

系统(“cls”);

等级。ShowMenu();

CIN & gt;& gtx;

开关(x)

{

案例0:退出=真;打破;

案例1:年级。AddItem();打破;

案例二:年级。显示();打破;

案例三:年级。sort();打破;

案例四:年级。find();打破;

案例五:年级。remove item();打破;

案例六:年级。modify item();打破;

}

}

返回0;

}

学生成绩管理系统代码