Extraño que no te haya compilado, con respecto a la declaración de la estructura se refería a declarar la estructura "c1" dentro de main, de está forma:
Código C++:
Ver original#include<iostream>
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
struct clientes
{
char nombre [50];
int numero_unidades;
float precio;
char estado; //p: pagado, m: moroso, a: atrasado
}; //<- Aqui ya no esta c1
clientes leer_clientes (clientes c1) //Retornas un datos tipo cliente
{
cout<<"Introduzca el nombre del cliente: ";
cin.getline(c1.nombre, 50);
cout<<"Introduzca el numero de unidades: ";
cin>>c1.numero_unidades;
cout<<"Introduzca el precio: ";
cin>>c1.precio;
cout<<"Introduzca el estado (p: pagado, m: moroso, a: atrasado): ";
cin>>c1.estado;
return c1; //regresamos los datos del cliente
}
void escribe_clientes (clientes c1)
{
cout <<"Nombre del cliente: "<<c1.nombre<<endl;
cout <<"Numero de unidades: "<<c1.numero_unidades<<endl;
cout <<"Precio: "<<c1.precio<<" €"<<endl;
cout <<"Estado: ";
switch (c1.estado)
{
case 'p': cout <<"pagado"; break;
case 'm': cout <<"moroso"; break;
case 'a': cout <<"atrasado"; break;
}
cout<<endl;
}
int main()
{
//Declaramos la estructura c1
struct clientes c1;
c1 = leer_clientes(c1); //<- Forma por Valor sin puntero
escribe_clientes (c1);
return EXIT_SUCCESS;
}