c语言编程真题
# 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;
}
学生成绩管理系统代码