Necesito hacer que un programa que lea un archivo .txt en el cual deben estar contenidos conjuntos y operaciones con esos conjuntos por lo que debe ignorar las comas y las llaves y saber que las mayusculas son el nombre del conjunto y las minusculas los elementos, esto es lo que tengo hasta ahora, pero solo puedo crear el archivo y leerlo no he podido hacer que haga distincion de mayusculas, minusculas y excepciones para las comas y las llaves
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <stdlib.h>
#include <ctype.h>
struct datos{char dts[100];};
datos varios[100];
void almacena (datos varios[100], int* n);
void lee (datos varios[100], int* n);
void main()
{
int n;
char op;
cout<<"Elija (1) para crear registros. (2) Para leer los registros:";
cin>>op;
op=toupper(op);
if(op=='1')
{
almacena(&varios[100],&n);
}
else
{
lee(&varios[100],&n);
}
cout<<endl<<"Gracias...";
getch();
}
void almacena (datos varios[100], int* n)
{
clrscr();
cout<<"Almacenamiento de Datos";
fstream archivo;
int i=0;
char rpt;
archivo.open ("archivo.txt",ios::binary|ios::out);
for (;;)
{
cout<< endl <<"dts ("<<i+1<<") :";gets(varios[i].dts);
archivo.write(varios[i].dts,sizeof(varios[i].dts));
cout<< endl<<"\nDesea agregar otro dato? [s] [n]:";
cin>> rpt;
i=i+1;
*n=i;
rpt=toupper(rpt);
if (rpt=='N') break;
}
archivo.close();
}
void lee (datos varios [100], int* n)
{
clrscr();
cout<< "Lectura de los datos introducidos";
fstream archivo;
int i=0;
archivo.open("archivo.txt",ios::binary|ios::in);
cout<<endl<<"Lista de datos";
for (;;)
{
if (archivo.eof()) break;
archivo.read(varios[100].dts,sizeof(varios[i].dts));
cout<<""<<varios[i].dts<<"";
cout<<endl;
i=i+1;
*n=i;
}
archivo.close();
getch();
}