Ввод структуры в файл - 102 ошибки и все однотипные - C (СИ)

Узнай цену своей работы

Формулировка задачи:

в чем ошибка?
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>

struct PO
{
    char name[20];
    char year[10];
    int cost;
    double volume;
    char os[20];
    char language [30];
};
void EnterNameFile(char *name);
void InputOneStruct(FILE *f);
void OutputOneStruct(PO po);
void CreateFile(FILE*);
 
int main()
{ 
    FILE *fp, *ft;
    char name[10], namet[10];
    int Menu;
 
  do
  {
        puts("Menu\n");
        puts("-------------\n");
        puts("choice regime work the file :");
        puts("  1 - enter name file,");
        puts("  2 - create file,");
        puts("  3 -  add information to file,");
        puts("  4 - correct information in file,");
        puts("  5 - delite information from file,");
        puts("  6 - found  information in file,");
        puts("  7 - sorting  information in file,");
        puts("  8 - viewing file,");
        puts("  9 -  writen information in file,");
        puts("  10 - reading  information in file,");
        puts("  0 - exit.");
        puts("vash vibor\n");
        scanf("%d",&Menu);
 
}while (Menu<0 || Menu>10); // цикл по меню

    switch (Menu)
    {
             case 1: 
                    EnterNameFile(name);        
                    break;
            case 2: 
                if(!(f=fopen(name,"wp")))
                    printf("mastake opened file %s\n",name);
                CreateFile(f);
                fclose(f);
                break;
            
                case 0: 
                  return;break;
                 
   }
    
    getch();
}
void EnterNameFile(char *name)
    {
        puts("\nenter name file");
        fflush(stdin);
        gets(name);
    }
void InputOneStruct(FILE *f)
{
  PO po;
  puts("\nenter name PO ");
        fflush(stdin);
        gets(po.name);
 
        puts("\nenter years ");
        fflush(stdin);
        gets(po.year);
 
        puts("\nenter cost");
        gets(po.cost);
 
        puts("\nenter volume");
        gets(po.volume);
 
        puts("\nenter os");
        fflush(stdin);
        gets(po.os);
 
        puts("\nenter language");
        fflush(stdin);
        gets(po.language);
 
        fwrite(&po,sizeof(PO),1,f);
 
}
void OutputOneStruct(PO po)
{
    printf("%10s,%4s,%7d,%6.1lf,%8s,%10s",
    po.year,po.year,po.cost,po.volume,po.os,po.language);
}
void CreateFile(FILE *f)
{
    int count,i;
    puts("enter quantity notes in created file");
    scanf("%d", &count);
 
    for(i=0;i<count;i++)
    {
        printf("tnter notes %d ", i+1);
        InputOneStruct(f);
    }
}

Решение задачи: «Ввод структуры в файл - 102 ошибки и все однотипные»

textual
Листинг программы
typedef struct {
  ....
       } PO;

Объяснение кода листинга программы

  1. Создается структура данных типа PO.
  2. Создается файл для записи данных.
  3. Открывается файл для записи данных.
  4. В цикле записываются данные в файл.
  5. Закрывается файл.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы