资源描述
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#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;
}
else
printf("AddStuInfoFromFile: File Open Succeeded!\n");
memset(student_number,0,8); //清零
memset(mobile_phone_number,0,8);
memset(qq_number,0,8);
memset(name,0,MAX_STU_COUNT * (10 + 1));
memset(email,0,MAX_STU_COUNT * (20 + 1));
for(tmpi = 0; tmpi < MAX_STU_COUNT; tmpi++) //录入
{
fscanf(pFile,"%s",student_number_char);
fscanf(pFile,"\t%s",name[tmpi]);
fscanf(pFile,"\t%s",mobile_phone_number_char);
fscanf(pFile,"\t%s",email[tmpi]);
fscanf(pFile,"\t%s\n",qq_number_char);
student_number[tmpi] = _atoi64(student_number_char);
mobile_phone_number[tmpi] = _atoi64(mobile_phone_number_char);
qq_number[tmpi] = _atoi64(qq_number_char);
}
overall=tmpi; //记录操作次数
fclose(pFile);
return SUCCESS;
}
void outputAll() //全部输出函数
{
int tmpi;
tmpi = AddStuInfoFromFile();
printf("tmpi is %d\n", tmpi);
for(tmpi = 0; tmpi < overall; tmpi++)
{
printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[tmpi], name[tmpi],
mobile_phone_number[tmpi], email[tmpi],qq_number[tmpi]);
}
}
void output(int result)//单个输出函数
{
if(result==FAILURE)
printf("Person not find.\n");
else
printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[result], name[result],
mobile_phone_number[result], email[result],qq_number[result]);
}
int find(__int64 mobile,__int64 QQ)//查询函数
{
int tmpi;
if(mobile!=0) //对电话号码是否为0分类查询
{
for(tmpi=0;tmpi<overall;tmpi++)
{
if(mobile==mobile_phone_number[tmpi])
break;
}
if(tmpi==overall)
return FAILURE;
else
return tmpi;
}
if(mobile==0)
{
for(tmpi=0;tmpi<overall;tmpi++)
{
if(QQ==qq_number[tmpi])
break;
}
if(tmpi==overall)
return -1;
else
return tmpi;
}
}
int Remove(int index)//删除函数
{
int tmpi;
if(index>=1&&index<=overall)
{
printf("The information you want to remove is:\n\n");
output(index-1);
for(tmpi=index-1;tmpi<overall-1;tmpi++) //用下一条信息覆盖上一条
{student_number[tmpi]=student_number[tmpi+1];
strcpy(name[tmpi],name[tmpi+1]);
mobile_phone_number[tmpi]=mobile_phone_number[tmpi+1];
strcpy(email[tmpi],email[tmpi+1]);
qq_number[tmpi]=qq_number[tmpi+1];
}
printf("\nRemove success\n\n");
overall--; //同学信息减少一条
return SUCCESS;
}
else
{
printf("Person not find");
return FAILURE;
}
}
int insert(int index)//插入函数
{
int tmpi,ch;
char student_number_char[13 + 1];
char mobile_phone_number_char[11 + 1];
char qq_number_char[10 + 1];
if(index>=1&&index<=overall+1)
{
for(tmpi=overall;tmpi>=index-1;tmpi--) //将每一条信息往下移动一格
{student_number[tmpi+1]=student_number[tmpi];
strcpy(name[tmpi+1],name[tmpi]);
mobile_phone_number[tmpi+1]=mobile_phone_number[tmpi];
strcpy(email[tmpi+1],email[tmpi]);
qq_number[tmpi+1]=qq_number[tmpi];
}
loop:
printf("Please enter the new information:\n" ////输入新信息
"student_number:");scanf("%s",&student_number_char);
printf("name:") ;scanf(" %s",&name[index-1]);
printf("phone_number:") ;scanf(" %s",&mobile_phone_number_char);
printf("email:") ;scanf(" %s",&email[index-1]);
printf("QQ:"); scanf(" %s",&qq_number_char);
printf("Finished? y/n(redo)\n");
getchar();
ch=getchar();
if(ch=='n')
goto loop;
student_number[index-1] = _atoi64(student_number_char);
mobile_phone_number[index-1] = _atoi64(mobile_phone_number_char);
qq_number[index-1] = _atoi64(qq_number_char);
overall++;
printf("Insert success\n\n"
"The new information is:\n");
return index-1;
}
else
{
return FAILURE;
}
}
void outputAllnew()
{
int tmpi;
for(tmpi = 0; tmpi < overall; tmpi++)
{
printf("%I64d\t%s\t%I64d\t%s\t%I64d\n", student_number[tmpi], name[tmpi],
mobile_phone_number[tmpi], email[tmpi],qq_number[tmpi]);
}
}}个人工作业务总结
本人于2009年7月进入新疆中正鑫磊地矿技术服务有限公司(前身为“西安中正矿业信息咨询有限公司”),主要从事测量技术工作,至今已有三年。
在这宝贵的三年时间里,我边工作、边学习测绘相专业书籍,遇到不懂得问题积极的请教工程师们,在他们耐心的教授和指导下,我的专业知识水平得到了很到的提高,并在实地测量工作中加以运用、总结,不断的提高自己的专业技术水平。同时积极的参与技术培训学习,加速自身知识的不断更新和自身素质的提高。努力使自己成为一名合格的测绘技术人员。
在这三年中,在公司各领导及同事的帮助带领下,按照岗位职责要求和行为规范,努力做好本职工作,认真完成了领导所交给的各项工作,在思想觉悟及工作能力方面有了很大的提高。
在思想上积极向上,能够认真贯彻党的基本方针政策,积极学习政治理论,坚持四项基本原则,遵纪守法,爱岗敬业,具有强烈的责任感和事业心。积极主动学习专业知识,工作态度端正,认真负责,具有良好的思想政治素质、思想品质和职业道德。
在工作态度方面,勤奋敬业,热爱本职工作,能够正确认真的对待每一项工作,能够主动寻找自己的不足并及时学习补充,始终保持严谨认真的工作态度和一丝不苟的工作作风。
在公司领导的关怀以及同事们的支持和帮助下,我迅速的完成了职业角色的转变。
一、回顾这四年来的职业生涯,我主要做了以下工作:
1、参与了新疆库车县新疆库车县胡同布拉克石灰岩矿的野外测绘和放线工作、点之记的编写工作、1:2000地形地质图修测、1:1000勘探剖面测量、测绘内业资料的编写工作,提交成果《新疆库车县胡同布拉克石灰岩矿普查报告》已通过评审。
2、参与了库车县城北水厂建设项目用地压覆矿产资源评估项目的室内地质资料编写工作,提交成果为《库车县城北水厂建设项目用地压覆矿产资源评估报告》,现已通过评审。
3、参与了《新疆库车县巴西克其克盐矿普查》项目的野外地质勘查工作,参与项目包括:1:2000地质测图、1:1000勘查线剖面测量、测绘内业资料的编写工作;最终提交的《新疆库车县康村盐矿普查报告》已通过评审。
4、参与了新疆哈密市南坡子泉金矿2009年度矿山储量监测工作,项目包括:野外地质测量与室内地质资料的编写,提交成果为《新疆哈密市南坡子泉金矿2009年度矿山储量年报》,现已通过评审。
6、参与了《新疆博乐市五台石灰岩矿9号矿区勘探》项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。
7、参与了《新疆博乐市托特克斜花岗岩矿详查报告》项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。
通过以上的这些工作,我学习并具备了以下工作能力:
1、通过实习,对测绘这门学科的研究内容及实际意义有了系统的认识。加深对测量学基本理论的理解,能够用有关理论指导作业实践,做到理论与实践相统一,提高分析问题、解决问题的能力,从而对测量学的基本内容得到一次实际应用,使所学知识进一步巩固、深化。
2、熟悉了三、四等控制测量的作业程序及施测方法,并掌握了全站仪、静态GPS、RTK等测量仪器的工作原理和操作方法。
3、掌握了GPS控制测量内业解算软件(南方测绘 Gps数据处理)以及内业成图软件(南方cass)的操作应用。能够将外业测量的数据导入软件进行地形图成图和处理。
4、在项目技术负责的指导下熟悉了测量技术总结的编写要求和方法,并参与了部分项目测量技术总结章节的编写工作。
5、在项目负责的领导下参与整个测量项目的组织运作,对项目的实施过程有了深刻理解。通过在项目组的实习锻炼了自己的组织协调能力,为以后的工作打下了坚实基础。
二、工作中尚存在的问题
从事测绘工作以来,深深感受到工作的繁忙、责任的重大,也因此没能全方位地进行系统地学习实践,主要表现为没有足够的经验,对于地形复杂的地段理解不够深刻;理论知识掌握不够系统,实践能力尚为有限。以上问题,在今后工作中自己将努力做到更好。
三、今后的工作打算
通过总结四年来的工作,我无论从工作技术上,还是从世界观、人生观、价值观等各个方面,都有了很大的提高。今后,我会在此基础上,刻苦钻研,再接再厉,使自己在业务知识水平更上一层楼,为测绘事业的发展,贡献自己的力量。
展开阅读全文