vc++-关于函数调用,求大神指导

问题描述

关于函数调用,求大神指导
#include

#include
#include
#include
#include
#include
#include
using namespace std;
#include ""student.h""
#include ""teacher.h""
#include ""people.h""
#include ""operate.h""

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

operate::operate()
{
stu=0;//将对象指针赋值为0
}

operate::~operate()
{
student *p; //对象指针
p=stu; //对象指针的赋值
while(p)
{
p=p->next; //指针指向下一个地址
delete stu; //删除前一个指针地址所指的内容,释放内存。
stu=p; //将下一个指针的内容赋值给现在指针所指的内容。
}
stu=0; //指针地址重新赋值为0

}

void operate::addinformation() //添加
{
student q;
operate s;
string name1;
long num1;
int age1;
string sex1kemu1yuanxi1;//grade;
float math1com1eng1zongfen1AA1;
string zhuanye1banji1;
system(""cls"");//清屏
cout<<""
****************增加的学生基本信息************""< cout cout cin>>name1;
cout<<""学号:""< cin>>num1;
cout<<""年龄:""< cin>>age1;
cout<<""性别(M/F):""< cin>>sex1;
cout<<""数学成绩:""< cin>>math1;
cout<<""语文:""< cin>>com1;
cout<<""英语成绩:""< cin>>eng1;
zongfen1=math1+com1+eng1;
AA1=(math1+com1+eng1)/3;
cout<<""总分:""< cout cout cin>>yuanxi1;
cout<<""专业""< cin>>zhuanye1;
cout<<""班级""< cin>>banji1;
q=new student(name1num1age1sex1math1com1eng1AA1zongfen1yuanxi1zhuanye1banji1); //动态分配内存空间。
q->next=0;
q->AA=(math1+com1+eng1)/3; //AA是一个变量,q->AA是特指对象的平均成绩。
q->zongfen=math1+com1+eng1;
q->yuanxi=yuanxi1;
if(stu) //stu是对象,stu看是否存在,若存在,则if(stu)其中stu=1则执行括号里面的,否则执行else
{
student *t; //定义对象指针
t=stu; //对象指针之间的赋值
if(t->num==num1)
{
cout<<""学号已存在,请重新输入""< return;
}
while(t->next)//t->text若为1,指还没到链表的末尾,说明后面还有学生,若为0,则指已经是最后一个学生。
{
if(t->num==num1)
{
cout<<""学号已存在,请重新输入""< return;
}
else
t=t->next; //将后面指的学生地址赋给t
}
t->next=q; //后面已经没有学生,直接将q所指的学生赋给t->next.
}
else
{
stu=q; //若对象不存在,直接将q所指的地址赋给stu.
}
cout<<""输入完毕...""<<endl;
getch();

}

void operate::deleteinformation() //删除
{

    int num1;     system(""cls"");//清屏    cout<<""********** 删除学生信息 **********""<<endl;     cout<<""*****请输入想要删除学生的学号:****""<<endl;     cin>>num1;      student *p1*p2; //定义两个对象指针。    p1=stu;     while(p1) //p1所指对象存在.即p1还没指到结尾。    {         if(p1->num==num1) //若指到的num=num1,则跳出循环。            break;         else //若找不到        {             p2=p1; //首先p1和p2指的是同一个对象。            p1=p1->next; //p1地址向后移动一个。        }     }     if(p1!=NULL)//p1所指对象不为空    {         cout<<setw(10)<<""姓名""<<setw(10)<<""学号""<<setw(10)<<""年龄""<<setw(10)<<""性别""<<setw(10)<<""数学成绩""<<setw(15)<<""语文成绩""<<            setw(10)<<""英语成绩""<<setw(10)<<""平均分""<<setw(10)<<""总分""<<setw(10)<<""院系""<<setw(10)<<""专业""<<setw(10)<<""班级""<<endl;        p1->play();         cout<<""确定删除吗?[Y/N]""<<endl;         char c;        cin>>c;         if(toupper(c)!='Y')            return;             if(p1==stu) //如果对象就是p1所指的对象        {             stu=p1->next;//把p1所指地址的下一位赋值给stu.             delete p1; //删除原来p1所指的对象。        }         else         {             p2->next=p1->next; //p1和p2所指的地址都向后移动一下。            delete p1;         }         cout<<""找到学号为""<<num1<<""的学生,并删除n"";     }     else         cout<<""未找到想要删除的学生!n"";     getch();}

void operate::modifyinformation()//修改

{    student *p1*p2;    long num1;     system(""cls"");//清屏     cout<<""************ 修改学生信息 **********""<<endl;    cout<<""********输入要修改学生的学号:*******""<<endl;     cin>>num1;     //查找要修改的结点      p1=stu; //对象地址和p1地址一样。    while(p1) //如果p1所指对象存在,即p1还没指到结尾。    {         if(p1->num==num1)             break;         else         {             p2=p1;             p1=p1->next;         }     }     if(p1!=NULL) //如果p1所指对象不为空。    {         cout<<""学号是""<<num1<<""的学生的信息""<<endl;         cout<<""姓名 ""<<p1->name<<endl;        cout<<""年龄""<<p1->age <<endl;        cout<<""性别""<<p1->sex <<endl;        cout<<""数学""<<p1->math<<endl;        cout<<""语文""<<p1->com<<endl;        cout<<""英语""<<p1->eng<<endl;        cout<<""院系""<<p1->yuanxi <<endl;        cout<<""专业""<<p1->zhuanye <<endl;        cout<<""班级""<<p1->banji <<endl;        cout<<""请输入修改后的信息:""<<endl;         cout<<""姓名:""<<endl;         cin>>p1->name;        cout<<""性别:""<<endl;        cin>>p1->sex;        cout<<""年龄""<<endl;        cin>>p1->age ;        cout<<""数学成绩:""<<endl;        cin>>p1->math;        cout<<""语文:""<<endl;        cin>>p1->com;        cout<<""英语成绩:""<<endl;        cin>>p1->eng;        cout<<""院系""<<endl;        cin>>p1->yuanxi ;        cout<<""专业""<<endl;        cin>>p1->zhuanye ;        cout<<""班级""<<endl;        cin>>p1->banji ;        cout<<""修改成功""<<endl;    }     else //未找到接点         cout<<""未找到!n"";    getch();}

void operate::searchinformation()//查询函数
{

system(""cls"");//清屏cout<<""********** 查询学生信息 *********""<<endl;cout<<""*********************************""<<endl;cout<<""*********************************""<<endl;cout<<""**********请输入查询方式:*******""<<endl; cout<<""*********1.按学号查询************""<<endl; cout<<""*********2.按姓名查询***********""<<endl;  cout<<""*********3.返回*****************""<<endl; cout<<""********************************""<<endl;cout<<""********************************""<<endl;char c; cin>>c;switch (c) {     case '1'://按学号查找    {         long num1;         system(""cls"");//清屏        cout<<""请输入要查询的学号:""<<endl;         cin>>num1;              student *p1*p2;         p1=stu;         while(p1)         {             if(p1->num==num1)                 break;            else             {                 p2=p1;                 p1=p1->next;             }         }               if(p1!=NULL)         {             cout<<""学号是""<<num1<<""的学生的信息""<<endl;            cout<<""姓名:""<<p1->name<<endl;            cout<<""性别:""<<p1->sex<<endl;            cout<<""年龄""<<p1->age <<endl;            cout<<"" 数学:""<<p1->math<<endl;            cout<<"" 语文:""<<p1->com<<endl;            cout<<"" 英语:""<<p1->eng<<endl;            cout<<""平均分:""<<p1->AA<<endl;            cout<<""总分:""<<p1->zongfen<<endl;            cout<<""院系:""<<p1->yuanxi<<endl;            cout<<""专业""<<p1->zhuanye <<endl;            cout<<""班级""<<p1->banji <<endl;            cout<<""查询完毕..."";         }         else             cout<<endl<<""未找到!n"";         getch();        break;     } case '2': //按姓名查找    {         string name1;        system(""cls"");        cout<<""请输入要查询的学生姓名:""<<endl;         cin>>name1;             student *p1*p2;         p1=stu;         while(p1)         {             if(p1->name==name1)                 break;             else             {                 p2=p1;                 p1=p1->next;             }         }         if(p1!=NULL)         {             cout<<name1<<""的学生的信息""<<endl;             cout<<""学号:""<<p1->num<<endl;            cout<<""性别:""<<p1->sex<<endl;            cout<<""年龄:""<<p1->age <<endl;            cout<<""数学:""<<p1->math<<endl;            cout<<""语文:""<<p1->com<<endl;            cout<<""英语:""<<p1->eng<<endl;            cout<<""平均分:""<<p1->AA<<endl;            cout<<""总分:""<<p1->zongfen<<endl;            cout<<""院系:""<<p1->yuanxi<<endl;            cout<<""专业:""<<p1->zhuanye <<endl;            cout<<""班级:""<<p1->banji <<endl;            cout<<""查询完毕...""<<endl;         }         else             cout<<endl<<""未找到!n"";         getch();        break;     } case '3':    return; }

}
void operate::saveinformation()//保存
{

    char c;     system(""cls"");    cout<<""n保存学生信息(将覆盖原文件)是否继续?[Y/N]:"";     cin>>c;     if(toupper(c)!='Y')         return;     ofstream tfile(""date.txt""ios_base::binary);//以二进制方式打开文件     student *p=stu;     while(p)            // 写入文件 ,如果指针p的地址存在    {         tfile<<p->name<<""t""<<p->num<<""t""<<p->sex<<""/t""<<p->age<<""t""<<p->math<<""t""<<p->com<<""t""<<p->eng<<""/t""<<p->yuanxi <<""/t""<<p->zhuanye <<""/t""<<p->banji <<endl;         tfile<<endl;         p=p->next;     }     tfile.close();     cout<<""保存完毕...""<<endl;    getch();}

求大神指导怎么在添加函数中调用保存函数,使得每一个添加的学生信息都可以保存

解决方案

http://zhidao.baidu.com/link?url=ER26YKFaycWXOzlf59_AnABjV3WYOBA1ABNezY0_lyPhpZ_wbMzSXkHgSrHJLEYf8kTakC7NiJORvIA_2rLIW_

http://wenku.baidu.com/link?url=zKPwri-A7TNR-hbRYPsBhYJ1OJ8n992zAgSL8PA2Dhj027__xav8kmE8dHQbH1JHAQBcoanCOZXNIJVN-VYmm0NcktgB1RIMqKQ8Igax5_S

解决方案二:
你获取了信息后,就可以调用保存函数,通过参数吧数据传递过去

时间: 2024-10-10 05:47:28

vc++-关于函数调用,求大神指导的相关文章

windows-一个简单Windows程序无法链接,求大神指导,感谢

问题描述 一个简单Windows程序无法链接,求大神指导,感谢 // HelloWin.C 在客户区显示"你好 Windows 7" (c) Charles Petzold 1998 #include #pragma comment(libwinmm.lib"") LRESULT CALLBACK WinProc(HWND UINT WPARAM LPARAM); int WINAPI WinMain(HINSTANCE hInstance HINSTANCE hP

数据结构 递归与栈-求大神指导调用递归函数中的栈是怎么运行的

问题描述 求大神指导调用递归函数中的栈是怎么运行的 回溯法与树的遍历 回溯法:其求解过程实质是一个先序遍历一棵"状态树"的过程,只是这棵树不是遍历前预先建立的,而 是隐含在遍历过程中. 题目描述:求含n个元素的集合的幂集. 例:A={1,2,3},则A的幂集为{{1,2,3},{1,2},{1, 3},{2,3},{1},{2},{3},{}} 解题思路:求幂集的过程可看成是依次对集合A中的元素进行取或舍的过程. 选择合适的数据结构--假设以线性表表示集合. 树根结点表示幂集元素的初始

图片-求大神指导这个值要怎么传啊

问题描述 求大神指导这个值要怎么传啊 //图片链接 'linkUrl': 'tgact.jsp?username=<%username%>'我要给图片加一个超链接还要 把username值传过去,这样写不行,该怎么写 解决方案 'linkUrl': 'tgact.jsp?username' +username 解决方案二: 'linkUrl': 'tgact.jsp?username=<%=username%>'

java报文解析!求大神指导!

问题描述 java报文解析!求大神指导! 大家帮我解析一下报文吧!我用的是UDP通信拿到数据,数据的类型是这样的S5W1449!p1r!p1r003B1s!S6WGGG00!p2r!p2r00003!p1r!p1r003B1s! 第0~2位为p1r或p2r,第3~6位为对应侧(p1r或p2r)的点位,第7位为状态位第8位为CRC校验位(将以上待发送的8位 异或)第9位为!结束位. 比如p1r!p1r003B1s!,我要拿到点位003B,要把它转化成十进制显示在我的界面画图!我要怎么解析报文!能写

c++-C#与C++位图保存方式的区别是什么?如何将C#中位图buffer正确传到C++代码中?求大神指导

问题描述 C#与C++位图保存方式的区别是什么?如何将C#中位图buffer正确传到C++代码中?求大神指导 C#中位图保存方式与C++中位图保存方式的区别是什么?如何将C#中位图buffer正确传到C++代码中?求大神指导 解决方案 C++中位图分为32/24/16位的三种位图数据存储方式,很多时候C++中主要使用32位和24位,如果你没有特别声明的话.C#中的位图 也多数是32位的.这些所谓的32位或者24位说的是位图中一个像素用多少位来表示,一个像素一般包含RGB三基色,也就是红(red)

java源码-求大神指导,求源码??????????

问题描述 求大神指导,求源码?????????? 求源码?????????????????????????????????????????????????????????????? 解决方案 我不敢休息,因为我没有存款: 我不敢说累,因为我没有成就: 我不敢偷懒,因为我还要生活: 我能放弃选择,但是我不能选择放弃. 所以坚强,拼搏是我唯一的选择. 世上没有一件工作不辛苦, 没有一处人事不复杂. 即使你再排斥现在的不愉快, 光阴也不会过得慢点. 所以不要随意发脾气,谁都不欠你的. 要学会低调,取舍

android播放实时rtmp流该怎么播放。新手求大神指导

问题描述 android播放实时rtmp流该怎么播放.新手求大神指导 给一个这个rtmp://58.61.150.201/vepkgr/aps3的实时流 我该怎么用android播放出来? SurfaceView吗?

java 人员抽取系统-人员随即抽取系统求大神指导

问题描述 人员随即抽取系统求大神指导 抽取人员表:rycq显示字段:类型type.人员部门dep.人员姓名name.人员工号(唯一)num.人员sapid.录入人员person.录入时间time:要求:1:能够填写抽取人员数m:2:能够根据不同类型的人员抽取(比如能选择抽取汽机人员2名,则其他人员n-2名,有多个类型):3:能够抽取除固定人数外的人员(比如固定n人则再抽取m-n人),并显示n人的 数据4:能够抽取排除人员之后的人员(比如排除人员为n人 则在 总数-n 中抽取m个人)5:在网页上抽

nginx-大并发压力测试数据,求大神指导

问题描述 大并发压力测试数据,求大神指导 首先感谢各位! 直观点线上测试数据测试数据如下webbench 5000并发60秒 访问txt文件webbench 30000并发60秒 访问txt文件webbench 2000并发60秒 访问php文件 只写了个phpinfo() webbench 10000并发60秒 访问php文件 只写了个phpinfo()webbench 10000并发60秒 top结果 测试环境cpu16核 内存64G系统CentOS-6.5 64位nginx/1.0.13p