当前位置:编程学习 > C/C++ >>

c++课程设计之电话薄的设计

麻烦帮我设计一个C++的程序——电话薄,急需。

这个电话薄有这些功能——1:输入姓名,系名,班级,电话,手机号码,家庭住址。

2:具有增加新同学信息。

3:删除某同学信息。

4:修改某学生信息。

5:根据某一特征查找信息(1:输出全部学生信息;

2:输出某系学生信息;

3:输出某班级学生信息;

4:输出某个学生的信息;)

要求使用“冒泡法”排序,并且在输出学生姓名时要按姓的笔画从低到高输出。

各位帮帮忙了 星期五下午就要交了 麻烦快点给予我最佳答案

补充:是DEV版本的C++程序啊

答案:#include<iostream.h>
#include<string.h>
#include <fstream.h>
#include <stdlib.h>
#include<conio.h>
struct Address //说明结构
{
char name[20];
char Tel[20];
char Email[20];
char Relation[20];
Address *next ;
} ;
Address allone[3] ;
void Createlist(Address *&head) //建立链表函数
{ Address *s,*p;
s=new Address;
int a=1;
while ( a==1)
{
cout<<"请输入姓名:";
cin>>s->name;
cout<<"请输入电话号:";
cin>>s->Tel;
cout<<"请输入Email:";
cin>>s->Email;
cout<<"请输入与您关系:";
cin>>s->Relation;
{
if ( head == NULL ) head = s ;
else p->next = s ;
}
p = s ;
s = new Address ;
cout<<"是否继续输入,输入按1不输入按0 :"; //判断是否继续输入
cin>>a;
}
p->next = NULL;
delete s;
return ;
}
void showlist( Address *head ) //显示链表
{ cout << "您的通信录为: "<< '\n';
while( head )
{
cout << head->name << '\t';
cout <<head->Tel<<'\t';
cout << head->Email << '\t';
cout << head->Relation << '\n';
head = head->next ;
}
cout << endl ;
}
void Chayuelist(Address *head) //查阅链表
{
char chayue[20];
cout<<"请输入你所要查阅的姓名:";
cin>>chayue;
while( head )
{
if(strcmp(head->name,chayue)==0)
{
cout << head->name << '\t';
cout <<head->Tel<<'\t';
cout << head->Email << '\t';
cout << head->Relation << '\n';
}

head = head->next ;
}
cout << endl ;
}

void baocun(Address *head)//保存
{
ofstream outstuf ;

outstuf.open("c:\\save.txt", ios::out ) ;
if ( !outstuf )
{
cerr << "File could not be open." << endl ;
abort();
}
while( head )
{
outstuf << head->name << ' '<< head->Tel<<' '<< head->Email << ' '<< head->Relation << '\n' ;
cout << "? " ;
head = head->next ;
}
}

void tianjia(Address *&head) //添加
{
Address *s;
s=new Address;//生成新结点
cout<<"\n\t\t请输入姓名:";
cin>>s->name;
cout<<"\n\t\t请输入电话号:";
cin>>s->Tel;
cout<<"\n\t\t请输入Email:";
cin>>s->Email;
cout<<"\n\t\t请输入与您关系:";
cin>>s->Relation;
cout<<"\n\t\t你已经添加成功";
s->next=head;
head=s;

return ;
}



void main() //主函数
{ system("cls");
int gongnenghao;
Address*head = NULL ;
cout<<"*************************本程序为通讯录管理系统***********************"<<endl;
while(gongnenghao<=11)
{ system("cls");
cout<<" 请选择你所要实现的功能的编号"<<endl;
cout<<"\n\t\t1.写记录"<<endl;
cout<<"\n\t\t2.显示记录"<<endl;
cout<<"\n\t\t3.查阅记录"<<endl;

cout<<"\n\t\t5.删除记录"<<endl;
cout<<"\n\t\t8.保存记录"<<endl;
cout<<"\n\t\t9.添加记录"<<endl;
cout<<"\n\t\t111.退出"<<endl;

cin>>gongnenghao;

if(gongnenghao==1)
{
Createlist(head);
}
if (gongnenghao==2)
{
showlist(head);
}
if (gongnenghao==3)
{
Chayuelist(head);
}

if (gongnenghao==8)
{
baocun(head);
}


if(gongnenghao>9)
{
cout<<"退出";
}
if (gongnenghao==9)
{
tianjia(head);
}
}
}

上一个:求模拟页面置换算法,c++
下一个:C++实现DES算法和RSA算法???

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,