c++ linked list

I have written code to append, prepend and update a linked list using c++. But I am unable to figure out the problem. Can anyone help me to run it. I will be grateful for the favor.
The code is pasted below:

#include<iostream>
using namespace std;

class node {
    public:
        int data;
        node *Next;
        int key;

    node() {
        data = 0;
        Next = NULL;
        key = 0;
    }
    node(int d, int k) {
        data=d;
        key=k;
    }
//  constructor overloading used        
};
//create single link list class
class linkedList : public node 
{
    public:
        node *head;

    linkedList() {
        head = NULL;
    }
    linkedList( node *nn ) {   //new node = nn (stores the address of next node in head)
        head = nn;
    }
//  first operation to check wether node already exist or not (node duplication)
    node *nodeExist( int k)
    {
        node *temp = head; //temporary pointer(stores head node address)
        node *ptr = head; //used to jump from one node to next during comparison; starts form head

        while( ptr != NULL) {
            if(ptr -> key == k) {
                temp = ptr;
            }

            ptr= ptr -> Next; //statement to jump to next node
        }
        return temp;  //temp value may be null(if null not match with any node) or address of a node(matching occur)
    }
// function to add new node 
    void appendNode(node *nn) 
    {
        //check uniqueness of node
        if( nodeExist(nn -> key) != NULL ) {
            cout<<"key is matching with existing node(try again with different address)"<<endl;
        }
        //check if linked list is empty or have nodes
        else if(head == NULL) {
            head = nn;
        }
        else {
            node *ptr = head; //pointer starts jumping from head

            while( ptr -> Next != NULL) 
            {
                ptr = ptr -> Next; //statement to jump to next node or update ptr
            }
            ptr -> Next = nn; //stores the address of new node
        }
    }

    void display()
    {
        if(head == NULL) {
            cout<<"list is empty";
        }
        else {
            node *ptr = head;

            while( ptr != NULL ) 
            {
                cout<< ptr -> key << "," <<ptr-> data; //print key and data of node

                ptr = ptr -> Next;
            }
        }
    }
// add node at start of linked list
    void prepend(node *nn)
    {
        if (nodeExist ( nn -> key) != NULL ) {
            cout<<"key is matching with existing node";
        }
        else {
            nn -> Next = head; //store new node reference in head
            head = nn; //head stores new node address / update head
        }
    }
// update node value
    void updateNode(int k, int d) // k stores key of node to find and d stores new data value
    {
//       int k, d;
        node *ptr = nodeExist(k);

        if( ptr = NULL ) {
            ptr -> data = d; //update existing node data with new data
        }
        else {
            cout<<"node does not exist";
        }
    }
};

int main() 
{
    linkedList l;
    node n(85,7);
    int data;
    int key;
    int d;
    int k;
    int oper;

    do {
    cout<<"\nPress"<<endl;
    cout<<"[0] to exit"<<endl;
    cout<<"[1] to append a node"<<endl;
    cout<<"[2] to prepend a node"<<endl;
    cout<<"[3] to update a node"<<endl;
    cout<<"[4] to display"<<endl;
    cin>>oper;

    switch(oper)
    {
    case 0:
        cout<<"PROGRAM ENDED!!!!";
        break;
    case 1:
        cout<<"ADD DATA VALUE OF NODE: ";
        cin>>data;
        cout<<"ADD KEY OF NODE: ";
        cin>>key;
        l.appendNode();
        break;
    case 2:
        cout<<"ADD DATA VALUE OF NODE: ";
        cin>>data;
        cout<<"ADD KEY OF NODE: ";
        cin>>key;
        l.prepend();
        break;
    case 3:
        cout<<"enter key of node to update: ";
        cin>>k;
        cout<<"enter new data value: ";
        cin>>d;
        l.updateNode();
        break;
    case 4:
        cout<<"nodes are: "<<endl;
        l.display();
        break;
    }

        }while (oper != 0);
}

scientific or simple calculator

statement: write a code in which user first select what type calculator they want to use. Simple or scientific and on that basis they do the calculations.
I have written the following code but it is not running. I am unable to figure out the problem. Please anybody help!!

#include <iostream>
#include <string.h>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
int input;
cout << "CHOOSE BETWEEN SCIENTIFIC AND SIMPLE CALCULATOR:" << endl;
cout << "[1] Scientific" << endl << "[2] Simple" <<endl;
cin >> input;

switch(input) 
case '1':
float a,b;
int z;
void Power(float,float);
void Sine(float);
void Square(float);
void Cos(float);
void Tan(float);
void Log(float);
void Baselog(float);
cout<<"WHAT YOU WANT TO FIND: "<<endl;
cout<<"Press '1' for Power: "<<endl;
cout<<"Press '2' for Sin: "<<endl; 
cout<<"Press '3' for Square: "<<endl; 
cout<<"Press '4' for Cos: "<<endl; 
cout<<"Press '5' for Tan: "<<endl;
cout<<"Press '6' for Log: "<<endl;
cout<<"Press '7' for Base Log: "<<endl;

cin>>z;
switch(z)
{
case 1:
cout<<"Enter the Number for Calculating its Power: "<<endl;
int a;
cin>>a;
cout<<"Enter the Power for a Number: "<<endl;
int b;
cin>>b;
Power(a,b);
break;

case 2:
cout<<"Enter the Number for Calculating SIN: "<<endl;
cin>>a;
Sine(a);
break;

case 3:
cout<<"Enter the Number for Calculating Square: "<<endl;
cin>>a;
Square(a);
break;

case 4:
cout<<"Enter the Number for Calculating COS: "<<endl;
cin>>a;
Cos(a);
break;

case 5:
cout<<"Enter the Number for Calculating TAN: "<<endl;
cin>>a;
Tan(a);
break;

case 6:
cout<<"Enter the Number for Calculating LOG: "<<endl;
cin>>a;
Log(a);
break;

case 7:
cout<<"Enter the Number for Calculating LOG WITH BASE 10: "<<endl;
cin>>a;
Baselog(a);
break;
}
getch();
}

void Power(float x,float y)
{
float p;
p = pow(x,y);
cout<<"Power: "<<p;
}

void Sine(float x)
{
float s;
s = sin(x);
cout<<"Sin: "<<s;
}

void Square(float x)
{
float sq;
sq = sqrt(x);
cout<<"Square of a Given Value is: "<<sq;
}

void Cos(float x) 
{
float c;
c = cos(x);
cout<<"COS: "<<c;
}

void Tan(float x)
{
float t;
t = tan(x);
cout<<"TAN: "<<t;
}

void Log(float x)
{
float l;
l = log(x);
cout<<"Natural Logarithm: "<<l;
}

void Baselog(float x);

float bl;
bl = log10(x);
cout<<"LOG with Base 10: "<<bl;

break;

case '2':

int num1,num2;
char op;
cout << "Enter an operator (+, -, *, /): ";
cin >> op; 
cout << "Enter two numbers: " << endl;
cin >> num1 >> num2;

if(op=='+') {
    cout << num1 << " + " << num2 << " = " << num1 + num2; }

else if(op=='-') {
    cout << num1 << " - " << num2 << " = " << num1 - num2; }

else if(op=='*') {
    cout << num1 << " * " << num2 << " = " << num1 * num2; }

else if(op=='/') {
    cout << num1 << " / " << num2 << " = " << num1 / num2; }

else{
        cout << "Error! The operator is not correct"; 
    }            
break;  

return 0;
}