Я пытаюсь сделать так, чтобы каждая линия файла, в котором он сохраняет данные, появилась как:
Нет. | Desc |ENE |FEB |MAR |ABR |MAY |JUN |JUL |AGO |SEP |OCT |NOV |DIC
Молоко 1 2 3 4 5 6 7 8 9 10 11 12
Мясо 10 1 1 1 1 1 1 1 1 1 1 1
Но в конце концов выходит все в линии:
Нет. | Desc |ENE |FEB |MAR |ABR |MAY |JUN |JUL |AGO |SEP |OCT |NOV |DIC молоко 1 2 3 4 5 6.....
я использую структуру, чтобы сохранять данные в файле последовательно, но не нахожу форму, в которой он может делать разрыв линии из-за каждой партии данных, которых он хотел бы разместить
здесь код
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
#include<string.h>
struct productos{
char no[10];
char desc[20];
char ene[10],feb[10],mar[10],abr[10],may[10],jun[10],jul[10],ago[10],sep[10],oct[10],nov[10],dic[10];
}prod;
FILE *arc;
void ingresar();
void main(){
int opc;
do
{
system("cls");
cout<<"Registros de la tienda Nueva Esperanza 2019\n";
cout<<"Que desea Relizar?\n";
cout<<"1) Ingresar Producto y ventas de 2019\n";
cout<<"2) Calcular Promedio por Mes\n";
cout<<"3) Total de ventas por mes\n";
cout<<"4) Total de ventas por producto\n";
cout<<"5) Producto mas vendido en todos los meses\n";
cout<<"6) Salir\n";
cout<<"Ingrese dato aqui----->";
cin>>opc;
switch(opc){
case 1:
ingresar();
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
default:
system("cls");
cout<<"Ingrese una opcion Valida\n";
system("pause");
break;
}
}while(opc!=6);
system("pause");
}
void ingresar(){
char prim[]="No.|Desc |ENE |FEB |MAR |ABR |MAY |JUN |JUL |AGO |SEP |OCT |NOV |DIC";
arc=fopen("ventas.dat","r+b");
int inicio=1;
if(!arc){
arc = fopen("ventas.dat", "w+b");
fwrite (prim, sizeof(char), sizeof(prim), arc);
}
cout<<"Ingrese producto: ";
cin>>prod.desc;
cout<<"Ingrese ganancias enero: ";
cin>>prod.ene;
cout<<"Ingrese ganancias febrero: ";
cin>>prod.feb;
cout<<"Ingrese ganancias marzo: ";
cin>>prod.mar;
cout<<"Ingrese ganancias abril: ";
cin>>prod.abr;
cout<<"Ingrese ganancias mayo: ";
cin>>prod.may;
cout<<"Ingrese ganancias junio: ";
cin>>prod.jun;
cout<<"Ingrese ganancias julio: ";
cin>>prod.jul;
cout<<"Ingrese ganancias agosto: ";
cin>>prod.ago;
cout<<"Ingrese ganancias septiembre: ";
cin>>prod.sep;
cout<<"Ingrese ganancias octubre: ";
cin>>prod.oct;
cout<<"Ingrese ganancias noviembre: ";
cin>>prod.nov;
cout<<"Ingrese ganancias diciembre: ";
cin>>prod.dic;
fseek(arc,0,SEEK_END);
fwrite (&prod, sizeof(prod),1, arc);
fclose(arc);
}
Для aГ±adir разрывы lГ-nea ты можешь использовать:
fputc('\n', arc);
, Что в твоем случае podrГ, - чтобы оставаться asГ-:
fputc('\n', arc);
fwrite (&prod, sizeof(prod),1, arc);
Конечно, ощутись, что fseek
aquГ - не имеет смысл, потому что в ningГєn момент estГЎs когда пишут в части файла, который не конец того же самого.