Program(A)-----> plik.txt-----> Program(B)

^To jest format, którego używam, obecnie nie mam wystarczającej wiedzy o strukturach plików. Mój plik tekstowy nazywa się myStudents.txt

EDYCJA: Program(A) zapisuje informacje poprawnie. Program(B) musi pobrać informacje z pliku tekstowego.

#include<stdio.h>

int main()
{
    char studentName[50];
    int grade=0;

    printf("Which students grade would you like to retrieve?: ");
    scanf("%s",&studentName);

    FILE *fptr;
    fptr = (fopen("myStudents.txt", "r"));

    if(fptr == NULL)
    {
        printf("Error!");
        exit(1);
    }
    printf("\nStudent details:\n");
    fscanf(fptr,"%d %[^\n]s",grade,studentName);
    printf("Name: %s\n",studentName);
    printf("Grade: %d\n",grade);

    fclose(fptr);
return 0;
}

Jestem bardzo zdezorientowany, jak wykorzystać informacje z programu A w programie B. Przepraszam, jeśli jest to powtarzający się wątek, nie mogłem znaleźć tutaj ani nigdzie indziej informacji, aby rozwiązać mój problem.

*Uwaga (solidne wyjaśnienie byłoby bardzo pomocne wraz z konstruktywną krytyką)

Twoje zdrowie! Miłego dnia!

0
Krytec 9 listopad 2018, 22:40

1 odpowiedź

Najlepsza odpowiedź

Twój program B tak naprawdę nie szuka żadnej nazwy, po prostu próbuje wydrukować pierwszą. Nie napiszę dla ciebie całego kodu, ale oto mała pomoc w tym, co twój program powinien zrobić:

  1. wczytaj plik wiersz po wierszu. (funkcje fscanf, fgets lub getline mogą być przydatne)
  2. wyodrębnij nazwę i ocenę z wiersza. (sscanf i wszystkie funkcje ciągów)
  3. sprawdź, czy nazwa jest tym, którego szukasz, jeśli tak, wydrukuj i przestań.

To oczywiście tylko przykład, jak mógłby wyglądać program, ale proponuję zacząć od wdrożenia tych kroków.

0
Osiris 9 listopad 2018, 22:54