第一范文网 - 专业文章范例文档资料分享平台

《C++面向对象程序设计》习题答案

来源:用户分享 时间:2025/8/8 3:28:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

default: printf(\选择错误!请重新选择。\\n\ }/*switch结束*/ }/*for结束*/ }

void ReOrEx()/*在用户执行完一项系统功能后,可以选择:是继续运行系统,还是退出系统*/ { int n;

printf(\ printf(\ 1. 返回上级菜单 **************\\n\ printf(\ 0. 退出系统 **************\\n\ printf(\ printf(\ 请选择(1/0)?_\ scanf(\ if(n==0) { printf(\ printf(\ 谢谢使用本系统! ***************\\n\ printf(\ exit(1); } }

void main()

{ printf(\ printf(\ 欢迎使用学生信息管理系统! *********\\n\ printf(\ system(\ menu();/*系统功能以菜单的形式提供给用户*/

printf(\ printf(\ 谢谢使用本系统! ***************\\n\ printf(\}/*main函数结束*/

/*各自定义函数实现代码*/

int New(char* FileName) /*创建磁盘文件*/ { FILE *fp;

if((fp=fopen(FileName,\ { return 0; } else { fclose(fp); Index=0; return 1; } }

void Create() /*新建学生信息文件*/ { char FileName[40]; printf(\请输入新建文件的名称:\ scanf(\ if(strcmp(FileName, \ { strcat(FileName, \ if(!New(FileName)) printf(\文件创建失败!\\n\ else { strcpy(CurFile, FileName);

printf(\文件创建成功!\\n\ } } else { printf(\是备份文件,禁止创建与此文件同名的文件!\\n\ } ReOrEx(); }

void Open() /*打开学生信息文件*/ { char FileName[40]; printf(\请输入要打开的数据文件的名称:\ scanf(\ if(strcmp(FileName, \ { strcat(FileName, \

4

if(IsOpen==0) { FILE *fp;

if((fp=fopen(FileName, \ { printf(\文件打开失败!\\n\ } else { IsOpen=1; Index=0;

while(!feof(fp)) { fread(&stud[Index], sizeof(struct Stud), 1, fp); Index++; } Index--; printf(\学生总人数为:%d\\n\ fclose(fp); printf(\文件打开成功!\\n\ strcpy(CurFile, FileName); } } else printf(\文件已经打开!\\n\ } else printf(\是备份文件,禁止打开此文件!\\n\ ReOrEx(); }

void Display() /*显示全部学生信息*/ { int i;

if(!strcmp(CurFile, \ { printf(\当前并未打开或新建文件,无法显示!\\n\ } else { printf(\ 显示所有学生成绩信息\\n\\n\

printf(\\\\\\ for(i=0; i

int SearchNum(char* Num) /*按学号查询学生信息*/ { int i; for(i=0;

int SearchName(char* Name) /*按姓名查询学生信息*/ { int i; for(i=0; i

第 5 页

return i; } } printf(\没有此学生的信息!\\n\ found=0; return 0; }

void Search() /*查询学生信息*/ { int n; int i; char Num[12]; char Name[10]; if(!strcmp(CurFile, \ { printf(\当前并未打开或新建文件,无法查询!\\n\ } else { printf(\ 查询某一学生信息\\n\ printf(\ printf(\ 1. 按学号查询 *************\\n\ printf(\ 2. 按姓名查询 *************\\n\ printf(\ printf(\ 请选择(1/2)?_\ scanf(\ if(n==1) { printf(\请输入学生学号:\\n\ scanf(\ i=SearchNum(Num); } else if(n==2) { printf(\请输入学生姓名:\\n\ scanf(\ i=SearchName(Name); } printf(\该学生的具体信息为:\\n\\n\

printf(\

\

printf(\

stud[i].Sex, stud[i].Birthday.year, stud[i].Birthday.month, stud[i].Birthday.day, stud[i].English, stud[i].DataStructure, stud[i].CPlusPlus, stud[i].Sum, stud[i].Average); } ReOrEx(); }

void AddData() /*添加一条学生信息*/ { char Num[12]; char Name[10]; char Sex[2]; int Year, Month, Day; float English, DataStructure, CPP; int location; if(Index>=MAXSIZE) { printf(\错误! 学生信息已满,不能添加!\\n\} else { printf(\执行添加学生信息操作!\\n\ printf(\请输入学生学号:\ scanf(\ location=SearchNum(Num); if (!found) { printf(\可以进行添加操作!\\n\ printf(\请输入学生姓名:\ scanf(\ printf(\请输入学生性别:\

6

scanf(\ printf(\请输入学生出生年份:\ scanf(\ printf(\请输入学生出生月份:\ scanf(\ printf(\请输入学生出生日:\ scanf(\ printf(\请输入学生英语成绩:\ scanf(\ printf(\请输入学生数据结构成绩:\ scanf(\ printf(\请输入学生C++成绩:\ scanf(\ printf(\ strcpy(stud[Index].Num, Num); strcpy(stud[Index].Name, Name); strcpy(stud[Index].Sex, Sex); stud[Index].Birthday.year=Year; stud[Index].Birthday.month=Month; stud[Index].Birthday.day=Day; stud[Index].English=English; stud[Index].DataStructure=DataStructure; stud[Index].CPlusPlus=CPP; stud[Index].Sum=English+DataStructure+CPP; stud[Index].Average=stud[Index].Sum/3; Index++; printf(\插入一条学生信息操作成功!\\n\ } else printf(\不能进行添加学生信息操作!\\n\ } }

void Save(char* FileName) /*学生信息存盘*/ { FILE *fp; int i; if((fp=fopen(FileName, \ { printf(\文件打开失败!\return; } for(i=0;I

void Append() /*添加学生信息*/ { if(!strcmp(CurFile, \ { printf(\当前并未打开或新建文件,无法添加!\\n\} else { AddData(); Save(CurFile); } ReOrEx(); }

void ModifyData() /*修改一条学生信息*/ { char Num[12]; char Name[10]; char Sex[2]; float English, DataStructure, CPP; int Year, Month, Day; int location; printf(\执行修改学生信息操作!\\n\\n\ printf(\请输入将要修改的学生的学号:\ scanf(\ location=SearchNum(Num); if (found) { printf(\可以进行修改学生信息操作!\\n\

第 7 页

printf(\请输入学生姓名:\ scanf(\ printf(\请输入学生性别:\ scanf(\ printf(\请输入学生出生年份:\ scanf(\ printf(\请输入学生出生月份:\ scanf(\ printf(\请输入学生出生日:\ scanf(\ printf(\请输入学生英语成绩:\ scanf(\ printf(\请输入学生数据结构成绩:\ scanf(\ printf(\请输入学生C++成绩:\ scanf(\ printf(\ strcpy(stud[location].Num, Num); strcpy(stud[location].Name, Name); strcpy(stud[location].Sex, Sex); stud[location].Birthday.year=Year; stud[location].Birthday.month=Month; stud[location].Birthday.day=Day; stud[location].English=English; stud[location].DataStructure=DataStructure; stud[location].CPlusPlus=CPP; stud[location].Sum=English+DataStructure+CPP; stud[location].Average=stud[Index].Sum/3; printf(\执行修改学生信息操作成功!\\n\ } else printf(\不能进行修改学生信息操作!\\n\}

void Modify() /*修改学生信息*/ { if(!strcmp(CurFile, \ { printf(\当前并未打开或新建文件,无法修改!\\n\ } else { ModifyData(); Save(CurFile); } ReOrEx(); }

int DeleteData()/*删除一条学生信息*/ { char Num[12]; int location,i; printf(\ 执行删除学生信息操作!\\n\\n\ printf(\警告!学生信息一旦删除,将不可恢复。请小心使用该操作!\\n\\n\ printf(\请输入将要删除的学生的学号:\\n\ scanf(\ location=SearchNum(Num); if(found) { if(location!=MAXSIZE) { for(i=location; i

8

搜索更多关于: 《C++面向对象程序设计》习题答案 的文档
《C++面向对象程序设计》习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1o5nt7wnwx2nsfs0jg6i_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top