同学录信息管理系统(文件读取)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#define STU_INFO_FILE "c:\\classmates_info_file.txt" //请在C盘建立文件名为‘classmates_info_file’的text文件并写入数据
#define FAILURE 0xFFFFFFFF //返回-1
#define SUCCESS !0xFFFFFFFF
#define MAX_STU_COUNT 50 //默认同学录50条
int AddStuInfoFromFile(); //用于录入
void output(int index); //用于输出单条信息
void outputAll(); //用于输出所有信息
int find(__int64 mobile,__int64 QQ); //用于查询信息
int insert(int index); //用于插入信息
int Remove(int index); //用于移除信息
void outputAllnew(); //用于输出新列表
char name[MAX_STU_COUNT+10][10+1]; //存放姓名,每个班级50人,名字最长为10个字符;
char email[MAX_STU_COUNT+10][20+1]; //存放电子邮箱,每个班级50人,邮箱最长为20个字符;
__int64 student_number[MAX_STU_COUNT+10]; //学号过长,即便unsigned int也不够存储,采用64位整型;
__int64 mobile_phone_number[MAX_STU_COUNT+10];//电话过长,即便unsigned int 也不够存储,采用64为整型
__int64 qq_number[MAX_STU_COUNT+10];//QQ过长,即便unsigned int也不够存储,采用64为整型
int overall=0;//记录读入的同学录条数
int main()
{
int item,result; //选项序号和查询结果
int ch;
char mnumber_char[13+1],Qnumber_char[11+1];
__int64 mnumber,Qnumber;
int index;
printf("\n\n"
"\t&&&&&& Welcome to the classmates information system &&&&&&&\n" "\t**************************************************************\n" "\t**************************************************************\n" "\n\t Please enter 'enter' to see your classmates' information");
ch=getchar();
outputAll(); //输出所有
for(;;)
{
printf("\t\t*********MEUN:**********\n" //菜单"1.Search 2.Insert 3.Remove 4.Output new list 5.Exit");
printf("\nPlease enter one number before the items :");//输入选项序号
scanf("%d",&item);
switch (item){
case 1:
//输入手机号或QQ号查询学生信息
printf("\nPlease enter one's mobile number and QQ number or both(with a blank between them)"
"\n(If you do not remember one of them, please replace it with 0).\n");
scanf("%s %s",mnumber_char,Qnumber_char);
//将数组转化为数字
mnumber=_atoi64(mnumber_char);
Qnumber=_atoi64(Qnumber_char);
result=find(mnumber,Qnumber);
output(result);
break;
case 2:
//输入学生序号插入新学生信息
printf("Please enter one's rank number: ");
scanf("%d",&index);
result=insert(index);
output(result);
break;
case 3:
//输入学生序号删除此条信息
printf("Please enter one's rank number:");
scanf("%d",&index);
Remove(index);
break;
case 4:
//输出更改后的同学录
outputAllnew();
break;
case 5:break;
default :
//未输入1-5的整数
printf("\nError\n");
break;
}
if (item==5) //退出
break;
}
printf("\n\t&&&&&&&&&&&&& Thank you for using &&&&&&&&&&&&&&&&&&&&\n" "\t*******************************************************\n" "\t********************************************************");
return SUCCESS;
}
int AddStuInfoFromFile() //打开文件和录入函数
{
int tmpi;
char student_number_char[13 + 1];
char mobile_phone_number_char[11 + 1];
char qq_number_char[10 + 1];
FILE * pFile = NULL;
pFile = fopen(STU_INFO_FILE, "r");
if(!pFile)
{
printf("AddStuInfoFromFile: File Open Failed!\n");
return FAILURE;