C++(或C)语言课程设计总结报告
源代码:
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include<conio.h>
#include <cstdlib>
using namespace std;
class book
{
public:
book();
char inter_face();
void add_person();
void del_person();
void show_all();
void alter();
void select();
void save_new();
private:
string name;
string address;
string number;
string post;
string qq;
};
struct record
{
book object;
record *prior;
record *next;
};
book::book()
{
name = "\0";
address = "\0";
number = "\0";
post = "\0";
qq = "\0";
}
char book::inter_face()
{
system("cls");
cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 小 小 通 迅 录 ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 1. 添加新联系人. 4. 修改信息. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 2. 删除联系人. 5. 查询联系人. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 3. 显示所有联系人. 6. 关闭通迅录. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl <<endl
<<"\t\t\t选择 :" ;
int choose;
cin>>choose;
fflush(stdin);
return choose;
}
void book::add_person()
{
cout <<"根据下面提示输入新联系人信息" <<endl<<"姓名 :" ;
cin >>name;
fflush(stdin);
cout <<"电话 : ";
cin >>number;
fflush(stdin);
cout <<"qq : ";
cin >>qq;
fflush(stdin);
cout <<"邮编 : ";
cin >>post;
fflush(stdin);
cout <<"地址 : ";
cin >>address;
fflush(stdin);
save_new();
cout <<"新联系人信息已经保存好!!!!!" <<endl;
system("pause");
}
void book::del_person()
{
ofstream outData("temp.txt", ios::out);
ifstream inData("pbook.txt", ios::in);
if (!outData || !inData)
{
cout<<"对不起!!!!找不到文件!!!!" <<endl;
system("pause");
return;
}
string sign;
cout <<"你要删除输入姓名或电话号 :";
cin >>sign;
string str1;
bool flag = true;
string str;
while (inData >>name >>number)
{
getline(inData, str);
if ((sign==name) || (sign==number))
{
cout <<"你想删除的联系人:" <<endl;
cout <<str1 <<endl;
cout <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;
flag = false;
break;
}
outData <<setiosflags(ios::left) <<setw(17) <<name<<" " <<number <<str <<endl;
}
if (flag)
{
cout <<"对不起!!!联系人中没你找的人!!!!" <<endl;
}
else
{
while (getline(inData, str))
{
outData <<str <<endl;
}
outData.close();
inData.close();
ofstream out("pbook.txt", ios::out);
ifstream in("temp.txt", ios::in);
if (!out || !in)
{
cout <<"对不起不能打开文件!!!" <<endl;
system("pause");
return;
}
while (getline(in, str))
{
out <<str <<endl;
}
out.close();
in.close();
cout<<"这个人的信息已经从你的通迅录中删除!!!" <<endl;
}
system("pause");
}
void book::show_all()
{
ifstream inData("pbook.txt",ios::in);
if (!inData)
{
cout <<"对不起!!!!没有找到文件!!!!!" <<endl;
system("pause");
return;
}
bool flag = true;
string recor;
while (getline( inData,recor))
{
if (flag)
{
cout <<"所有联系人信息如下: "<<endl;
}
cout <<recor <<endl;
flag = false;
}
if (flag)
{
cout <<"你的通迅录中没有联系人!!!!!" <<endl;
}
else
{
cout <<"所有联系人已经全部显示出来!!!!!" <<endl;
}
system("pause");
}
void book::alter()
{
ifstream inData("pbook.txt", ios::in);
if ( !inData)
{
cout <<"对不起不能打开文件!!!!!" <<endl;
system("pause");
return;
}
string sign;
cout <<"请输入你想要修改的联系人的姓名或电话号码 :";
cin >>sign;
fflush(stdin);
string str1;
record *H = new record;
record *p = H;
record *q = H;
bool flag = true;
while (inData >>p->object.name >>p->object.number >>p->object.qq>>p->object.post >>p->object.address)
{
p->next = new record;
p = p->next;
p->prior = q;
q->next = p;
q = p;
}
p->next = NULL;
inData.close();
p =H;
while (p)
{
if ((p->object.name==sign) || (p->object.number==sign))
{
if (flag)
{
cout <<"你想修改你联系人的信息如下: " <<endl;
cout <<setiosflags(ios::left) <<setw(17)<<p->object.name <<" " <<setw(16) <<p->object.number
<<" " <<setw(15) <<p->object.qq<<" " <<setw(10) <<p->object.post <<" " <<setw(20) <<p->object.address <<endl;
flag = false;
}
cout <<"请根据下面提示修改信息 : " <<endl;
cout <<"姓名 :" ;
cin >>p->object.name;
fflush(stdin);
cout <<"电话号:";
cin >>p->object.number;
fflush(stdin);
cout <<"qq :";
cin >>p->object.qq;
fflush(stdin);
cout <<"邮编 :";
cin >>p->object.post;
fflush(stdin);
cout <<"地址 :";
cin >>p->object.address;
fflush(stdin);
break;
}
p = p->next;
}
if (flag)
{
cout <<"你的通迅录中没有你找的联系人!!!!" <<endl;
system("pause");
return;
}
else
{
ofstream out("pbook.txt",ios::out);
if (!out)
{
cout <<"对不起!!!不能打开文件!!!!" <<endl;
system("pause");
return;
}
p = H;
while (p)
{
out <<setiosflags(ios::left) <<setw(17) <<p->object.name<<" " <<setw(16) <<p->object.number
<<" " <<setw(15) <<p->object.qq<<" " <<setw(10) <<p->object.post<<" " <<setw(20) <<p->object.address <<endl;
p = p->next;
}
out.close();
cout <<"信息已经修改完成!!!!" <<endl;
system("pause");
}
}
void book::select()
{
ifstream inData("pbook.txt",ios::in);
if (!inData)
{
cout <<"对不起!!!!文件找不到!!!!" <<endl;
system("pause");
return;
}
string sign;
cout <<"输入你想查找的联系人的姓名或电话号码: "<<endl;
cin >>sign;
fflush(stdin);
string str1;
bool flag = true;
string str;
while (inData >>name >>number)
{
getline(inData, str);
if ((name==sign) || (number==sign))
{
cout <<"你要查找的联系人是: " <<endl;
cout <<str1 <<endl;
cout <<setiosflags(ios::left) <<setw(17) <<name <<number <<str <<endl;
getch();
flag = false;
break;
}
}
if (flag)
{
cout <<"对不起!!!联系人中没你找的人!!!!" <<endl;
}
getch();
}
void book::save_new()
{
ofstream outData("pbook.txt", ios::app);
if (!outData)
{
cout <<"对不起!!!打开文件失败!!!!" <<endl;
system("pause");
return;
}
outData << setiosflags(ios::left) << setw(17) << name<<" " << setw(16) << number <<" "
<< setw(15) << qq <<" "<< setw(10) << post <<" "<< setw(20) << address <<endl;
outData.close();
}
int main()
{
int choose;
book abj;
while (choose = abj.inter_face())
{
switch (choose)
{
case 1:
abj.add_person();
break;
case 2:
abj.del_person();
break;
case 3:
abj.show_all();
break;
case 4:
abj.alter();
break;
case 5:
abj.select();
break;
case 6:
cout <<"谢谢使用!!!!!" <<endl;
exit(0);
break;
default:
break;
}
}
return 0;
}
C语言程序设计实习报告手机通讯录管理系统一、设计题目的任务和内容任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本…
源代码includeltiostreamgtincludeltstringgtincludeltiomanipgtincludel…
山东工商学院信电学院高级语言程序设计课程设计报告高级语言程序设计课程设计报告题目手机通讯录管理系统专业电子信息工程班级电子112学…
设计课题题目一课程设计目的与要求1课程设计目的1综合运用之前所学知识选择控制循环控制数组函数指针结构体和文件等来完成一个简单的信息…
目录摘要2第一章绪论311课程设计目的和内容概述312题目手机通讯录管理系统3第二章程序分析421总体设计422详细设计423总流…
目录摘要2第一章绪论311课程设计目的和内容概述312题目手机通讯录管理系统3第二章程序分析421总体设计422详细设计423总流…
C语言课程设计C语言课程设计报告设计题目学生姓名学生学号专业班级学院名称同组人姓名指导老师20xx年个人消费系统姚兰06月20日个…
C程序课程设计报告手机通讯录管理系统姓名谢骏学院珠宝学院学号20xx1002649班级141082一课程设计目的和内容概述1目的加…
C语言课程设计论文通讯录管理系统设计目的设计通讯录管理系统使其具有数据插入修改删除显示和查询等功能1数据包括人名工作单位电话号码和…
详细通讯录课程设计报告1总体设计与算法分析1.1课程需求分析学生通过课程设计加深理解课堂教学内容,要求学生在设计中逐步提高程序设计…
设计课题题目一课程设计目的与要求1课程设计目的1综合运用之前所学知识选择控制循环控制数组函数指针结构体和文件等来完成一个简单的信息…