Какая-то форма, в которой он мог бы делать разрыв линии в этом файле?

Я пытаюсь сделать так, чтобы каждая линия файла, в котором он сохраняет данные, появилась как:

Нет. | 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);
}
-1
задан 18.03.2019, 20:58
1 ответ

Для aГ±adir разрывы lГ-nea ты можешь использовать:

fputc('\n', arc);

, Что в твоем случае podrГ, - чтобы оставаться asГ-:

fputc('\n', arc);
fwrite (&prod, sizeof(prod),1, arc);

Конечно, ощутись, что fseek aquГ - не имеет смысл, потому что в ningГєn момент estГЎs когда пишут в части файла, который не конец того же самого.

1
ответ дан 02.12.2019, 05:28