Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 09:51   #1
Konlor
 
Регистрация: 18.07.2013
Сообщений: 3
По умолчанию Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами

Надо создать программу для работы с файлами. Вводим значения:
1: запись
2:добавление
3:чтение

Только вот сразу после ввода значения окно программы закрывается. Вот код:

Код:
 

#include <stdio.h>
void filerew()
{    FILE *myfile;
     myfile = fopen("myfile.txt","wt");
     char st[512];
     system("cls");
     printf("enter string: \n");
     gets(st);
     fputs(st,myfile);
     fclose(myfile);
     }
void fileadd()
{    FILE *myfile;
     myfile = fopen("myfile.txt","at");
     char *st;
     system("cls");
     printf("enter string: \n");
     gets(st);
     fputs(st,myfile);
     fclose(myfile);
     }
void fileread()
{    int n=50;
     FILE *myfile;
     myfile = fopen("myfile.txt","r");
     char arr[n];
     while(fgets(arr,n,myfile) != NULL)
       printf("%s",arr);
     printf("\n");
     fclose(myfile);
     
     }
     
     

int main()
{
    int flag;
    printf("enter 1 for rewrite, 2 for complete,3 for read other to exit: ");
    scanf("&d",&flag);
    switch(flag)
    { 
      case 1:filerew();
            
            return 0;
            break;
      case 2:fileadd();
             return 0;
             break;
      case 3:fileread();
             return 0;
      default:return 0;
              break;            
                 
}
}
Konlor вне форума Ответить с цитированием
Старый 18.05.2014, 11:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Только вот сразу после ввода значения окно программы закрывается.
Ну правильно. У тебя же именно это в коде и написано.
А вот если бы так:
Код:

int main()
{
    int flag=-1;
 for(;;){
    printf("enter 1 for rewrite, 2 for complete,3 for read other to exit: ");
    scanf("&d",&flag);
    switch(flag)
    { 
      case 1:filerew();
            break;
      case 2:fileadd();
             break;
      case 3:fileread();
             break;
      default:return 0;
   }
 }
}
Ну или типа такого.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2014, 12:37   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Небольшой вопрос:
А почему
Код:
int flag=-1;

Просто интересно.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать две программы для работы с файлами: запись и чтение структур в двоичный файл ( на C++ ) Ligeros905 Помощь студентам 1 23.12.2013 11:14
Нужны компоненты для работы с файлами delphifan Компоненты Delphi 8 21.04.2010 09:55
Помогите найти ошибку..в программе..учебник Delphi для начинающих LightofMagic Общие вопросы Delphi 6 26.02.2009 01:20
Написать программу для зачета (Работа с файлами) Барби Общие вопросы C/C++ 6 22.12.2007 15:40
Прога для работы с текстовыми файлами f-only Софт 4 04.10.2007 23:35