I've been trying to bend my head around this problem for a week now, but I can't seem to find anything online and I've given up on trying to solve it on my own.
My assignment is to write a program which will read names from a file and accept new entries from the user, then sort the entires and write them out to the file. The only crux about this is that I have to sort them in a function and use pointers to do so. This code is supposed to be written in C++ aswell, using character arrays.
The code I have right now looks like this. This is a working version, the only problem is that I don't use neither pointers or a function to sort the names.
#include<iostream>
#include<cstdlib>
#include<fstream>
#include<cstring>
bool sorted;
using namespace std;
int main()
{
    int i = 0;
    int numNames = 0;
    ifstream ifs;
    ifs.open("namn.txt");
    char c[20][20];
    if(ifs.is_open())
    {
        while(!ifs.eof())
        {
            ifs >> c[i];
            i++;
        }
    }
    cout<<"How many names do you want to enter?"<<endl;
    cin>>numNames;
    for(int l = i-1; l<numNames+i-1; l++)
    {
        system("cls");
        cout<<"Enter a name: ";
        cin>>c[l];
    }
    while(sorted == false)
    {
        for(int j = 0; j<numNames+i-1; j++)
        {
            for(int k = j; k<numNames+i-1; k++)
            {
                if(c[j][0] > c[k][0])
                {
                    char snorre[20];
                    strcpy(snorre,c[j]);
                    strcpy(c[j],c[k]);
                    strcpy(c[k],snorre);
                }
                else if(c[j][0] == c[k][0])
                {
                    if(c[j][1] > c[k][1])
                    {
                        char snorre[20];
                        strcpy(snorre,c[j]);
                        strcpy(c[j],c[k]);
                        strcpy(c[k],snorre);
                    }
                }
            }
        }
        cout<<endl<<endl<<endl;
        ofstream ofs;
        ofs.open("namn.txt");
        for(int o = 0; o<numNames+i-1; o++)
        {
            cout<<c[o]<<" ";
            ofs<<c[o]<<endl;
        }
        ofs.close();
        system("pause");
        sorted = true;
    }
}
So hopefully someone could help me out with this problem, thanks in advance! :)
 
     
     
    