Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] Pytanie o nazwę pliku wejściowego, zawierającego dane oraz nazwę pliku wyjściowego do zapisania wyników.

Ostatnio zmodyfikowano 2014-10-11 17:13
Autor Wiadomość
jarykamil
Temat założony przez niniejszego użytkownika
[C] Pytanie o nazwę pliku wejściowego, zawierającego dane oraz nazwę pliku wyjściowego do zapisania wyników.
» 2014-10-11 17:06:25
Całkowita treść programu, który mam napisać: Napisz program w języku C, który oblicza sumę wszystkich elementów przechowywanych w tablicy z wykorzystaniem wskaźników. Program winien zapytać użytkownika o nazwę pliku wejściowego, zawierającego niezbędne dane oraz nazwę pliku wyjściowego do zapisania wyników. Ponadto program  po otrzymaniu informacji o liczbie elementów tablicy, powinien zarezerwować dynamicznie odpowiedni obszar dla jej przechowywania. Znajdowanie sumy ma być wykonane przez funkcje do której przekazywana jest wskaźnik do tablicy oraz liczba elementów.

Chciałem podzielić to na dwa etapy. Pierwszym jest pierwsze zdanie tekstu ("Napisz program w języku C, który oblicza sumę wszystkich elementów przechowywanych w tablicy z wykorzystaniem wskaźników.") No i to mi chyba wyszło, program działa:

C/C++
#include <stdio.h>
#include <malloc.h>


int main()

{
   
    int i, n, sum = 0;
    int * a;
   
    printf( "Podaj wielkosc tablicy \n" );
   
    scanf( "%d", & n );
   
    a =( int * ) malloc( n * sizeof( int ) );
   
    printf( "Podaj elementy tablic \n" );
   
    for( i = 0; i < n; i++ )
   
    {
       
        scanf( "%d", a + i );
       
    }
   
   
    for( i = 0; i < n; i++ )
   
    {
       
        sum = sum + *( a + i );
       
    }
   
    printf( "Suma wszystkich elementow w tablicy = %d\n", sum );
   
}

Następnie chciałem zrobić następną rzecz: "Program winien zapytać użytkownika o nazwę pliku wejściowego, zawierającego niezbędne dane oraz nazwę pliku wyjściowego do zapisania wyników." No i tutaj poległem. Mam początek, czyli plik wejściowy (o nazwie "numery"), są też w nim dane ale nie wiem jak je wczytać i jak stworzyć plik wyjściowy z już zapisanymi danymi.

C/C++
#include <stdio.h>
#include <malloc.h>


int main()

{
    FILE * plik = fopen( "numery.txt", "r" );
    if( !plik )
    {
        printf( "Brak pliku numery.txt" );
        return EXIT_FAILURE;
    }
   
    int i, n, sum = 0;
    int * a;
   
    printf( "Podaj wielkosc tablicy \n" );
   
    scanf( "%d", & n );
   
    a =( int * ) malloc( n * sizeof( int ) );
   
    printf( "Podaj elementy tablic \n" );
   
    for( i = 0; i < n; i++ )
   
    {
       
        scanf( "%d", a + i );
       
    }
   
   
    for( i = 0; i < n; i++ )
   
    {
       
        sum = sum + *( a + i );
       
    }
   
    printf( "Suma wszystkich elementow w tablicy = %d\n", sum );
   
}


Generalnie stanąłem w miejscu i nie wiem jak ruszyć. Za jakąkolwiek pomoc (wszystko się przyda) bardzo dziękuję.
P-118266
stryku
» 2014-10-11 17:13:09
co do obsługi plików http://pl.wikibooks.org/wiki/C​/Czytanie_i_pisanie_do_plik%C3%B3w
a pytanie o nazwe to np.
C/C++
char buf[ MAX_DL_NAZWY ];
scanf( "%s", buf );
fopen( buf, "r" ); // otwieranie pliku do odczytu

EDIT
w sumie tu jest wszystko
http://peb.pl/programowanie​/308144-c-tworzenie-pliku-o-nazwie-pobranej.html
P-118267
« 1 »
  Strona 1 z 1